How can I access the weights and connections in nftool in MATLAB?

12 visualizaciones (últimos 30 días)
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 ?

Respuesta aceptada

Greg Heath
Greg Heath el 3 de Abr. de 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 comentarios
Ananthakrishnan Rajendran
Ananthakrishnan Rajendran el 5 de Abr. de 2015
I am trying to build a neural network on hardware. So I have access to only a limited rage of weights. I want to compare my results with a software implementation. I know the weights are huge and don't make sense usually. But I would like to set an upper and lower bound to the weights so that I can compare the results I get and make sense of it.
If you think there is no way to actually control the weights, then I guess there is no point in me pursuing implementing a neural net using MATLAB.
Ananthakrishnan Rajendran
Ananthakrishnan Rajendran el 5 de Abr. de 2015
Also, I'm trying a simple 3 bit parity problem. It basically has 3 inputs and one output. The total data that I have at my disposal is only 8 input combinations. This is a very simple problem, but this will be my baseline for the remaining work.

Iniciar sesión para comentar.

Más respuestas (1)

Greg Heath
Greg Heath el 30 de Mzo. de 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
  1 comentario
Ananthakrishnan Rajendran
Ananthakrishnan Rajendran el 2 de Abr. de 2015
Hi Greg!
Thanks for responding. Do you know how I'll be able to access and modify the weights in the neural network if I decide to use the toolbox? I need to modify the connections between neurons as well.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by