Documente Academic
Documente Profesional
Documente Cultură
1. Introducere
2. Metoda Darken-Moody
8
Rata de invatare
2
0 1 2 3
10 10 10 10
Nr. de epoc i
3. Regula delta-delta
în care g(n) reprezintă vectorul gradient. Ceilalţi vectori direcţie vor fi calculaţi ca o
combinaţie liniară a vectorului gradinet curent şi a vectorului direcţie anterior:
p(n # 1) $ ) g (n # 1) # . (n) p(n) (5.8)
Există numeroase moduri de exprimare a parametrului β(n):
a) Formula Fletchr-Reeves:
g (n # 1) T g (n # 1)
. ( n) $ (5.9)
g ( n) T g ( n)
b) Formula Polak-Ribière:
g (n # 1) T [ g (n # 1) ) g (n)]
. ( n) $ (5.10)
g ( n) T g ( n)
În cazul ec. (5.6) η(n) este definit după cum urmează:
" (n) $ arg min{E av ( w (n) # "p(n))} (5.11)
adică presupune o căutare liniară pentru găsirea valorii particulare η care minimizează
funcţia de cost.
Algoritmi rapizi de antrenament pentru RNA de tip MLP - 49 -
J Te
-w $ )" (5.13)
[J T J # 0I ])1
De menţionat faptul că ν poate să fie modificat adaptiv, pentru el fiind recomandată o
valoare cât mai mică.
Metoda LM reprezintă cea mai rapidă metodă de antrenament dar viteza de
converganţă poate să scadă dramatic dacă dimensiunile RNA cresc.
7. Probleme
7.1 Pentru cazul problemei de interpolare formulată în Aplicaţia nr. 4, pct. 4.2,
verificaţi comparativ viteza de convergenţă pentru algoritmul BP standard şi cele 6
metode prezentate în cadrul acestei lucrări.
Rezolvare:
clear all
- 50 - Aplicaţia nr. 5
close all
clc
% definirea perechilor de vectori
% intrare (P,pattern) - iesire (T, target)
% pentru datele de antrenament (P,T) si test (Ptest, Ttest)
P = 0:0.1:1;
T = 0.2 + 0.8*(P + 0.7*sin(2*pi*P));
Ptest=0:0.01:1;
Ttest=0.2 + 0.8*(Ptest + 0.7*sin(2*pi*Ptest));
t4 = clock;
[net4,tr4]= train(net4,P,T);
time4=etime(clock,t4);
y1test = sim(net1,Ptest);
y2test = sim(net2,Ptest);
y3test = sim(net3,Ptest);
y4test = sim(net4,Ptest);
y1antr = sim(net1,P);
y2antr = sim(net2,P);
y3antr = sim(net3,P);
y4antr = sim(net4,P);
er1antr=(sum(sum(abs(T-y1antr))))/length(T);
er2antr=(sum(sum(abs(T-y2antr))))/length(T);
er3antr=(sum(sum(abs(T-y3antr))))/length(T);
er4antr=(sum(sum(abs(T-y4antr))))/length(T);
erantr=[er1antr er2antr er3antr er4antr];
figure
bar((ertest)*100);
ylabel('Eroare aproximare test [%]');
xlabel('traingdm 1 traingdx 2 trainfuzzy 3 trainlm 4')
figure
bar((erantr)*100);
ylabel('Eroare aproximare antrenament [%]');
xlabel('traingdm 1 traingdx 2 trainfuzzy 3 trainlm 4')
figure
barh(time,'r');
xlabel('Timp prelucrare [s]');
ylabel('traingdm 1 traingdx 2 trainfuzzy 3 trainlm 4')
hold off
ertest=[er1test er2test er3test er4test]*100
erantr=[er1antr er2antr er3antr er4antr]*100
7.2 Repetaţi verificarea de la punctul 7.1 pentru cazul unei probleme de clasificare a
unor tipare de dimensiuni mari (baza de date ORL).
7.3 Completaţi tabelul de mai jos (tab.5.1), pe baza rezultatelor simulării de la pct. 7.1
şi 7.2. Care sunt concluziile desprinse în urma rulării acestor algoritmi de antrenamet ?
Rezolvare:
Concluziile experimentelor conduc la ideea că algoritmii de antrenament se
clasează, în ordinea crescătoarea a vitezei de convergenţă, conform tab.5.1, adică cel
mai lent algoritm este algoritmul gradientului descendent iar cel mai rapid
Levenberg-Marquardt.
Trebuie ţinut cont însă de faptul că cerinţele de memorie şi putere de calcul
sunt practic proporţionale cu viteza de convergenţă. Spre exemplu, probleme care
implică vectori de intrare de dimensiuni mari (sute de elemente) sunt imposibil de
abordat cu metoda Levenberg-Marquardt şi greu de abordat cu metodele bazate pe
gradientul conjugat (Fletcher-Reeves, Polak-Ribière).
Algoritmi rapizi de antrenament pentru RNA de tip MLP - 53 -
6 4
Eroare aproximare antrenament [%]
Eroare aproximare test [%]
3
4
2
2
1
0 0
1 2 3 4 1 2 3 4
traingdm 1 traingdx 2 trainfuzzy 3 trainlm 4
traingdm 1 traingdx 2 trainfuzzy 3 trainlm 4
TIP PROBLEMĂ
INTERPOLARE CLASIFICARE
EPM Nr. Timp EPM Nr. Timp
METODĂ [%] de de [%] de de
epoci calcul epoci calcul
[s] [s]
1. BP momentum
(traingdm)
2. delta-delta
(traingdx)
3. η fuzzy
(trainfuzzy)
4. Fletcher-Reeves
(traincgf)
5. Polak-Ribière
(traincgp)
6. Levenberg-Marquardt
(trainlm)
Tab. 5.1 Rezultate comparative pentru diverşi algoritmi de antrenament ai RNA MLP.