Search code examples
matlabneural-networknormalize

Is it necessary to normalize data when using Matlab's ANN?


Is it necessary to use mapstd or mapminmax to normalize the data when training a neural network in Matlab? Both functions documentation state that this is done automatically when declaring feedforwardnet, however, I have read that people still normalize it. So why would I normalize it if it's done automatically by Matlab? Is it necessary?


Solution

  • On initial stages of learning you can omit normalization. But if you will have desire to improve your learning results significantly you'll not be able to avoid normalization. I can even tell you more, you maybe even will need scaling of data as well. As a way of example, our brain do normalization as well. For example if you hear, that some country spend 100 million of dollars for housing. Then your brain give question what is population of that country. If it is small country with population 1000 citizens, you can consider it as big value. But if it is big country with 1.2 billion of citizens you'll consider it as drop of water in ocean. If to summarize, initially you can omit normalization, but at improvement stage it will not be avoidable.