Neural Network Input Scaling

10 views (last 30 days)
Auston
Auston on 15 Aug 2014
Commented: Greg Heath on 21 Aug 2014
I would like to have various mapminmax values for my input scaling. For example, if I have 2 inputs is there anyway to have different scale factors for each. Say x1 = [-1 1] and x2 = [-0.5 0.5]. I have been able to do this manually by disabling the mapminmax processFcn and scaling the inputs myself, but I would prefer to not have to do this manually if possible.
At some point during the training (I am assuming initialization) net.inputs{1}.processedRange is created and I attempted to make the change to this variable, however it is read-only. Is there a way to make the variable writable and just modify that instead?

Accepted Answer

Greg Heath
Greg Heath on 19 Aug 2014
The best way to optimize training is to
1. Make sure outliers are removed or modified (I standardize using zscore for this, mapstd is also alternative).
2. You can continue with the standardized variables (my approach) or convert back to the original variable scaling.
2. Use the same scale of network scaling for all input dimensions (mapminmax or mapstd)
3. Use the same scale of scaling for all targets (default mapminmax or mapstd)
4. You will get the best design performance and , by default, the outputs will be automatically unnormalized.
Different scalings for multivariable inputs or multivariable outputs will degrade learning.
In general, I do not recommend it.
If you insist, you will have to define separate multidimensional inputs for each choice of input scaling.
Do not confuse the concepts of multiple inputs with a single input with multiple dimensions.
Hope this helps.
Greg

More Answers (1)

Auston
Auston on 19 Aug 2014
Would you happen to have any documentation on why this grants the best design performance?
  1 Comment
Greg Heath
Greg Heath on 21 Aug 2014
No. Just 37 years of experience in classification and regression. You might want to search on my name in
comp.ai.neural-nets
comp.soft-sys.matlab
in addition to posts in ANSWERS.
Sometimes trial-and-error is king.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!