Narx model GIVES POOR PERFORMANCE

1 visualizzazione (ultimi 30 giorni)
c.m.f.s.
c.m.f.s. il 18 Gen 2012
Risposto: nick il 11 Ott 2024
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 Commento
Walter Roberson
Walter Roberson il 18 Gen 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>];

Accedi per commentare.

Risposte (1)

nick
nick il 11 Ott 2024
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.

Categorie

Scopri di più su Deep Learning Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by