normalization for neural network

2 views (last 30 days)
azie
azie on 28 May 2013
need clarification on normalization.
I have 3 inputs (with different units), 1 output and a total of 27 samples. 21 samples will be used for training and another 6 samples for testing. my inputs and output is not in range 0 to 1. so i need to normalize it.my questions is
Do i need to normalize it by column or row or input/output? let say, here are the first 3 samples of inputs and outputs
  • inputs >> output
  • 3 45 -10 >> 3
  • 5 55 -3 >> 56
  • 6 23 -4 >> 32
*note that all 3 inputs are in different units
so, do i need to normalize by row (3 45 -10) or by column (3 5 6) or using all inputs [3 45 -10; 5 55 -3; 6 23 -4] without considering the units at the same time?
i want to normalize in 0.1-0.9 range. can i used mapminmax?

Accepted Answer

Greg Heath
Greg Heath on 30 May 2013
All of the current NN designs use mapminmax by default. However, for purposes of understanding, I use zscore (you can use mapstd) for pre-training analysis and plotting. For convenience, I let the design function use the default mapminmax just because it is a pain to remove it.
There is absolutely no reason whatsoever to use 0.1-0.9.
Why would you want to normalize columns???
Hope this helps.
Thank you for formally accepting my answer
Greg
  2 Comments
azie
azie on 11 Jun 2013
each column will has different dimensional units.so, should i normalize the input according to their units or i can just normalize according to input samples(which will have 3 different dimensional units)?
Greg Heath
Greg Heath on 17 Jun 2013
To use the NNTBX, variables are rows, and samples are columns. Normalize each variable row according to its own summary stats.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!