What is the order of the InputWeigths vector in a NARX net?
1 view (last 30 days)
Show older comments
Francisco José Fernández Ferrario
on 4 Jul 2019
Answered: Maria Duarte Rosa
on 5 Jul 2019
Hello everyone, I am trying to replicate a previously trained NARX net from the net weights.
The net was buit with the following parameters:
inputDelays = 0:12;
feedbackDelays = 1:12;
hiddenLayerSize = 2;
Where the inputs are three elements and the output is one.
When I get the weights from the net, it returns the following:
>>net.IW
ans=
2×2 cell array
{2×39 double} {2×12 double}
{0×0 double} {0×0 double}
>>net.LW
ans =
2×2 cell array
{0×0 double} {0×0 double}
{1×2 double} {0×0 double}
>>net.b
ans=
2×1 cell array
{2×1 double}
{1×1 double}
I understand that the element net.IW{1,1} corresponds to the weights of the input vector for each neuron, but since I have three input variables, the input is a matrix of size 3x13 and not a vector of size 1x39.
I tried transforming the input matrix into a 1x39 vector, following the order: [X1(t),X2(t),X3(t),X1(t-1),X2(t-1,X3(t-1),...,X1(t-12),X2(t-12),X3(t-12)], but I do not get the same result as using the network. Is this the correct order? If not, how should it be?
Thanks
0 Comments
Accepted Answer
Maria Duarte Rosa
on 5 Jul 2019
Hi Francisco,
One suggestion is to use genFunction(net) to generate a MATLAB script from the trained network that contains all the operations and parameters of the network. This might help clarifying some of your questions.
0 Comments
More Answers (0)
See Also
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!