How to decide the range for weights and bias based on input data set ?

3 views (last 30 days)
Based on input data, can we decide the range for weights and bias in neural network ? Like weight should be between (-1,1). Thank you

Accepted Answer

Greg Heath
Greg Heath on 28 Aug 2014
You can but you do not have to. By default, variables are normalized to [-1,1] and the initial weights are automatically determined using the Widrow-Nguyen Algorithm. If you really want to, look up the logic for the algorithm.
If all weights are initially zero, train will automatically initialize them. If you train multiple nets in a loop, after the first pass the weights will be nonzero and train will just continue using the final weights obtained from the previous loop.
To prevent this, use the function configure to initialize weights before each call of train.
Hope this helps.
Thank you for formally accepting my answer
Greg
  2 Comments
Greg Heath
Greg Heath on 28 Aug 2014
You might be interested in my thread "Nonsaturating Initial Weights" in comp.ai.neural-nets.
Suresh
Suresh on 28 Aug 2014
Hi Greg, thank you very much for answer. Matlab neural networks uses Windrow-Nguyen algorithm for weight initialization. Still, if there is any formula to find range of weights and bias please share. Thank you

Sign in to comment.

More Answers (0)

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!