bonjour,
j'ai créé un MLP pour la prévision ayant comme architecture : 20 entrée, 1 couche cachée à 20 neur et 2 neurones de sortie voilà le code :
mais ce qui me gène c'est que la prévision des deux sorties est souvent très différentes des valeurs désirées lors de la phase de test, alors que mon travail ne sera correcte que si je trouve des courbes proches pacequ'il s'agit de prévision de série temporelles
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 clear,clc,close all x=(load ('x.txt')); d=(load ('d.txt')); % Chargement des données x:input , d:sortie désirée xt=(load ('xt.txt')); dt=(load ('dt.txt')); % xt et dt ensemble de test [xn,minx,maxx,dn,mind,maxd]=premnmx(x,d); [xtn,minxt,maxxt,dtn,mindt,maxdt]=premnmx(xt,dt);%assigner les valeurs entre -1 et 1 pr = minmax(xn); % pr est Rx2 est une matrice des valeurs min et max de la matrice xn de dim (RxQ) net = newff(pr, [20 2],{'tansig','tansig'},'traingdm'); % créer a « feed-forward backpropagation network » avec une couche caché de 20 neurones et une couche de sortie avec 2 neurone. %Specify these parameters: net.trainParam.epochs=1000; %net.trainParam.goal=0.005 net.trainParam.lr=0.001; %net.trainParam.mc=0.06; net=train(net,xn,dn); % Train a neural network. %phase de test y=sim(net,xt); y t=postmnmx(y,mindt,maxdt); e=dt-y; e plot(2) plot(dt') hold plot(t','r'); title('Comparison entre valeur actuelle et la prévision') err=[y-dt].^2; mse=mean(err)
voilà les courbes comparatives que j'obtient :
1- en utilisant le paramètre goal=0.005 et lr=0.001 et mc=0.006
2- en utilisant seulement le paramètre lr=0.001
les deux courbes bleue et vertes représentent les deux sorties désirér ( xt) les courbes rouges représentent les sorties prédites.
s'il vous plait comment doit- je procéder pour améliorer la performance de mon réseau? sachant que j'ai augmenter le nbr de neur. caché jusqu'à 100 mais toujours le même problème
merci de m'aider c'est ma première expérience en RN et je galère beaucoup.
cordialement
Partager