What is the order of the InputWeigths vector in a NARX net?

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Maria Duarte Rosa
Maria Duarte Rosa il 5 Lug 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.

Più risposte (0)

Tag

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by