Narx model GIVES POOR PERFORMANCE

I am trying to train a NN using NEWNARXSP. When I execute the following commands:
current={ [3.38] [3.37706] [3.37412] [3.37118] [3.36824] [3.3653] [3.36236] [3.35942] [3.35648] [3.35354] [3.3506] [3.34766] [3.34472] [3.34178] [3.33884] [3.3359] [3.33296] [3.33002] [3.32441] [3.32147] [3.32] [3.31804] [3.31706] [3.31559] [3.31412] [3.31118] [3.30922] [3.30771] [3.3053] [3.3] [3.29804] [3.29706] [3.29412] [3.29265] [3.29118] [3.2884] [3.28294] [3.28] [3.27608] [3.27412] [3.27118] [3.26824] [3.267505] [3.26677] [3.26660] [3.26660] [3.26660] [3.2702] [3.27412] [3.27559] [3.27608] [3.27706] [3.27853] [3.28] [3.28147] [3.28294] [3.28588] [3.2898] [3.29559] [3.3] [3.30294] [3.30588] [3.31265] [3.31559] [3.32] [3.3249] [3.32724] [3.33314] [3.33608] [3.34] [3.34294] [3.34735] [3.35078] [3.3547] [3.36] [3.36441] [3.36882] [3.37176] [3.37323] [3.37412] [3.37706] [3.38] [3.38294] [3.38]};
resistance={[6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.02] [6.04] [6.06] [6.10] [6.12] [6.14] [6.16] [6.18] [6.22] [6.24] [6.28] [6.31] [6.40] [6.44] [6.48] [6.52] [6.56] [6.60] [6.68] [6.78] [6.86] [7] [7.07] [7.23] [7.42] [7.5] [7.58] [7.66] [7.74] [7.9] [8] [8] [8] [7.9] [7.82] [7.74] [7.66] [7.58] [7.5] [7.43] [7.31] [7.16] [7.07] [7] [6.93] [6.83] [6.79] [7.72] [6.65] [6.60] [6.54] [6.5] [6.46] [6.42] [6.38] [6.34] [6.30] [6.26] [6.22] [6.18] [6.15] [6.14] [6.12] [6.11] [6.1] [6.06] [6.02]};
a=cell2mat(current);
b=cell2mat(resistance);
d1=[1 2];
d2=[1 2];
sus=newnarxsp({[3.26660 3.38],[6.02 8]},d1,d2,[5 1],{'tansig','purelin'});
p=[a;b];
T=b;
sus.trainFcn='trainlm';
sus.trainparam.show=100;
sus.trainparam.epochs=1000;
sus=train(sus,p,T);
IT GIVES POOR PERFORMANCE. Actually I want to measure the value of resistance by using the current. here current is input and resistance is target . what can i do now?

1 commentaire

Walter Roberson
Walter Roberson le 18 Jan 2012
Note: all those [] are unnecessary. Especially as you cell2mat() anyhow, suggesting that you would be better off writing
current = [3.38 3.3776 3,37412 <etc>];

Connectez-vous pour commenter.

Réponses (1)

nick
nick le 11 Oct 2024

0 votes

Hi c.m.f.s.,
Here are a few suggestions to improve performance of your NARX neural network:
Data Normalization: You can normalize your input and target data. Models trained on normalized data tend to have better generalization capabilities, resulting in more accurate predictions on unseen data.
Network Architecture: You can experiment with different network architectures with different numbers of neurons in the hidden layer or different activation functions.

Catégories

En savoir plus sur Deep Learning Toolbox dans Centre d'aide et File Exchange

Question posée :

le 18 Jan 2012

Réponse apportée :

le 11 Oct 2024

Community Treasure Hunt

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

Start Hunting!

Translated by