How can I access the weights and connections in nftool in MATLAB?
12 views (last 30 days)
Show older comments
Ananthakrishnan Rajendran
on 29 Mar 2015
Commented: Ananthakrishnan Rajendran
on 5 Apr 2015
Hi. I want to create a neural network for a fitting problem and assign the connections between neurons by myself. I also would like to access the weights and see how they change with each epoch. Is there any way to do this ?
0 Comments
Accepted Answer
Greg Heath
on 3 Apr 2015
I don't understand: The weights are the connections between neurons.
Also, I do not understand why you would want to do this. In general, knowing the weight values doesn't help much because there are a huge number of weight combinations that will minimize the error.
What are the sizes of your input and target matrices?
However, it should help quite a bit if you
1. Transform inputs to be uncorrelated, zero-mean and unit variance (zscore or mapstd).
2. Similarly for outputs.
3. Minimize the number of hidden nodes subject to a maximum error constraint (e.g., MSEgoal =
0.01 (or 0.005) * mean(var(target',1))
4. NOTE: Given the output transformation in 2, mean(var(target',1)) = 1
Access:
IW = net.IW ; B = net.b ; LW = net.LW;
Modification:
net.IW = IWnew; net.b = Bnew; net.LW = LWnew
To modify connections see the doc and website documentation.
Hope this helps
Thank you for formally accepting my answer
Greg
2 Comments
More Answers (1)
Greg Heath
on 30 Mar 2015
I think you will have to use the command line approach and loop over 1 epoch at a time.
It will be painfully slow even if you modify train or adapt.
Hope this helps.
Thank you for formally accepting my answer
Greg
See Also
Categories
Find more on Function Approximation and Nonlinear Regression in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!