Upload
pakitza
View
222
Download
2
Embed Size (px)
DESCRIPTION
Perceptronul MLP
Citation preview
Perceptronul MLP fuzzy
Perceptronul (MLP=Multilayer Perceptron) este cea mai simpla, cea mai utilizata si
totodata cea mai veche retea neurala. Denumirea de perceptron deriva din perceptie. Vom
prezenta in acest capitol perceptronul clasic comparativ cu variantele fuzzy care deriva din
acesta.
2.1. Arhitectura perceptronului multinivel(MLP)
Structura clasica de perceptron neliniar- Non-linear Perceptron (NP) este o retea fara
reactie ( feedforward) care contine trei nivele de neuroni, asa cum este reprezentat in figura
2.1, de mai jos.
Fig. 2.1 Retea perceptron neliniar cu trei straturi de neuroni ( strutura clasica).
Primul strat al NP contine neuroni virtuali care nu realizeza o prelucrare de semnal, ci
doar o multiplexare, prelucrarea propriu- zisa avand loc doar in stratul intermediar si in cel de
iesire.
Strat intermediar
Strat de intrare
1
i
i
n
1 L j
1
k
M
Strat de iesire
1. Ecuatiile unui neuron din stratul intermediar
Fig. 2.2 Conexiunile neuronului j ( j=1,,L) din stratul intermediar.
tpn1pp x,,xX are semnificatia de vector care se aplica la intrarea NP.
hji
W , j=1,,L, i=1,,n reprezinta multimea ponderilor aferente stratului intermediar. L este
numarul de neuroni ai stratului intermediar, iar n reprezinta numarul neuronilor de pe stratul
de intrare. Indicele superior h care apare in notarea ponderilor acestui strat provine de la
hidden.
Avem doua etape de prelucrare:
neliniara
liniara.
Etapa liniara ( )
In cadrul acestei etape vom defini activarea neuronului j din stratul intermediar, cand la
intrare se aplica vectorul pX ,
( ) pin
1i
hji
hpj
xWnet
, j=1,,L (2.1),
unde hpj
net este o variabila de stare interna (activarea neuronului j).
Daca thjn
h1j
hj
W,,WW , atunci
pth
jphj
hpj
XWX,Wnet , j=1,,L (2.2)
Etapa neliniara
Aceasta etapa presupune calcularea iesirii neuronului intermediar j, conform formulei
( ) hpj
hjpjnetfi , j=1,,L (2.3),
j
unde hj
f este o functie neliniara de tipul f: xe1
1xf,
(>0 constant)
(neliniaritate sigmoidala conform figurii 2.3) sau xthxf (neliniaritate de tip tangenta
hiperboloica, conform figurii 2.4).
Fig 2.3. Functia tangenta hiperbolica .
Fig 2.4. Functia tangenta hiperbolica .
2. Ecuatiile unui neuron din stratul de iesire
Fig. 2.5. Conexiunile neuronului k ( k=1,,M) din stratul de iesire.
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
-10 -5 -3 -1 0 1 3 5 10
1/(
1+
exp
(-x))
x
-1
-0,8
-0,6
-0,4
-0,2
0
0,2
0,4
0,6
0,8
1
-7 -6 -1,5 -0,5 0,5 1,5 6 7
tan
h(x
)
x
k
okj
W , k=1,,M, j=1,,L reprezinta multimea ponderilor aferente stratului de iesire
(indicele o=output). M este numarul de neuroni ai stratului de iesire.
Avem doua etape de prelucrare:
neliniara
liniara.
Etapa liniara ( )
Activarea neuronului k din stratul de iesire, cand la intrarea NP se aplica vectorul pX este
data de formula
( )
L
1jpj
okj
opk
iWnet , k=1,,M (2.4),
unde opk
net este o variabila de stare interna (activarea neuronului k).
Etapa neliniara ( )
Iesirea neuronului de iesire k este determinata in functie de activarea opk
net si este exprimata
de formula
( ) opk
okpknetfo , k=1,,M (2.5)
okf poate fi sigmoidala sau tangenta hiperbolica.
Variantele fuzzy ale perceptronului neliniar pe care le-am analizat sunt in numar de
trei si sunt notate cu FNP (Fuzzy Non-linear Perceptron) urmat de o cifra care semnifica
indicele versiunii fuzzy a perceptronului.
a) FNP1
In situatia in care s-a folosit prima varianta fuzzy FNP1, vectorii de intrare vor avea
dimensiunea 3*n, rezultand din vectorii de dimensiune n care s-au furnizat la intrarea
perceptronului clasic, in care fiecare componenta a fost reprezentata prin trei valori ce
constituiau apartenenta componentei respective la cele trei proprietati lingvistice: small,
medium si respectiv big, iar iesirile retelei le-am considerat crisp.
Functiile de apartenenta ale termenilor fuzzy small, medium si respectiv big sunt definite in
felul urmator
altfel0
2.0u0daca1
5.0u2.0daca3.0
2.0u1
usmall (2.6),
altfel0
75.0u25.0daca5.0u41umedium (2.7),
altfel0
1u8.0daca1
8.0u5.0daca3.0
u8.01
ubig (2.8)
si sunt reprezentate in figura de mai jos.
Fig. 2.6. Functiile de apartenenta pentru small, medium si big.
b) FNP2
In cazul versiunii FNP2 a perceptronului neliniar s-a realizat o cuantizare cu 3 nivele a
celor 256 de nivele de gri in care erau reprezentate imaginile originale obtinandu-se astfel
intrari fuzzy pentru perceptron. Cuantizarea nivelelor de gri (la inceput au fost normalizate
astfel incat sa apartina [0,1] ) s-a realizat in felul urmator: daca acesta este in [0, 0.2) atunci va
fi inlocuit cu 0.1, cand este in [0.2, 0.8) se cuantizeaza cu valoarea 0.5, iar in situatia in care
este in [0.8, 1] valoarea cuantizata este 0.9. Vectorii fuzzy de intrare au dimensiunea n.
Iesirile retelei au fost considerate tot crisp ca si in cazul NP si FNP1.
c) FNP3
O alta varianta fuzzy a perceptonului este aceea care are in plus fata de FNP2 faptul
ca iesirile ideale sunt fuzzy, de forma urmatoare
eF
d
ik
i
F
z1
1y
(2.9), k=1,, K (K numarul de vectori din lotul de instruire si
respectiv din cel de test), i=1, , M ( M numarul de clase) unde ikz reprezinta distanta
ponderata dintre fiecare vector de intrare si vectorul medie al fiecarei clase iar Fd si Fe sunt
u
0.2 0.5 0.8 1
1
big small medium
niste parametri. Pentru fiecare vector care se aplica la intrarea retelei, vectorul de iesire ideal
este de forma: kM1k y,,y , k=1,, K.
2.2. Algoritmul de instruire
Atat perceptronul clasic cat si perceptronul fuzzy au un algoritm de instruire
supervizata, de tip back-propagation, in scopul minimizarii erorii pe lotul de instruire
K
1ppE
K
1E (2.10),
K fiind numarul de vectori din lotul de instruire, iar
M
1k
2pkpkp oy
2
1E (2.11)
constituie eroarea determinata de vectorul p de instruire.
Pasul 1. Se ia p=1. Se aplica la intrarea retelei vectorul
Tpn1pp x,,xX ,
pentru care se cunoaste vectorul de iesire ideal
TpMy,,1pp
yY ,
unde:
n reprezinta dimensiunea vectorului de intrare,
M numarul de clase( numarul neuronilor de pe stratul de iesire).
Apoi se genereaza aleator multimea ponderilor aferente stratului intermediar adica hji
W ,
j=1, , L, i=1 ,,n si cea aferenta stratului de iesire al retelei: okj
W k=1,,M, j=1,,L,
unde L este numarul de neuroni de pe stratul intermediar.
Pasul 2. Se calculeaza activarile neuronilor din stratul intermediar folosind formula (2.1)
pi
n
1i
hji
hpj
xWnet
, j=1,,L.
Pasul 3. Se calculeaza iesirile neuronilor din stratul intermediar folosind relatia (2.3)
hpj
hjpjnetfi , j=1,..,L.
Pasul 4. Se calculeaza activarile neuronilor din stratul de iesire pe baza relatiei (2.4)
L
1jpj
okj
opk
iWnet , k=1,,M.
Pasul 5. Se calculeaza iesirile neuronilor de pe stratul de iesire conform relatiei (2.5)
opk
okpknetfo , k=1,..,M
Pasul 6. Se calculeaza termenii eroare pentru neuronii de iesire conform relatiei (2.12)
M,,1k,netfoy opk
o'kpkpk
opk
(2.12).
Pasul 7. Se calculeaza termenii eroare pentru neuronii din stratul intermediar folosind (2.13)
,L,,1j,Wnetf M1k
okj
opk
hpj
h'j
hpj
(2.13),
Pasul 8. Se rafineaza ponderile aferente stratului de iesire pe baza relatiei (2.14)
okj
pokj
okj
W
EtW1tW
, k=1,M, j=1,,L (2.14),
unde , 10 este rata de invatare.
okj
opk
opk
ok
pkpkokj
ok
pkpkokj
p
W
net
net
foy
W
foy
W
E
(2.15)
pj
L
1jpj
okjo
kjokj
opk
iiWWW
net
(2.16)
Inlocuind relatia (2.16) in relatia (2.15) rezulta
pjopkpjopkokpkpkokj
piinetfoy
W
E
)12.2(' (2.17)
Pe baza relatiei (2.17), formula (2.14) de rafinare a ponderilor aferente stratului de
iesire este echivalenta cu formula urmatoare
L,,1j,M,,1k,itW1tW pjopk
okj
okj
(2.18)
Pasul 9. Se rafineaza ponderile aferente stratului intermediar
hji
phji
hji
W
EtW1tW
, j=1,,L, i=1,,n (2.19)
2
M
1kpj
L
1j
okj
o'kpk
2M
1k
opk
o'kpkp
iWfy2
1netfy
2
1E
(2.20)
21.2
W
net
net
i
i
net
net
ooyoy
W2
1
W
E
hji
hpjM
1khpj
pj
pj
opk
opk
pkpkpk
2pkpk
M
1khji
hji
p
pihpjh'jokjM
1k
opk
o'kpkpkh
ji
pxnetfWnetfoy
W
E
(2.22)
23.2][1
'
1
)12.2(''
pi
o
kj
M
k
o
pk
h
pj
h
j
M
k
pi
o
kj
o
pk
o
kpkpk
h
pj
h
jh
ji
pxWnetfxWnetfoynetf
W
E
pihpj
)13.2(
hji
px
W
E
(2.24)
Tinand cont de relatia (2.24), formula (2.19) de rafinare a ponderilor aferente stratului
intermediar devine formula (2.25)
pihpj
hji
hji
xtW1tW , j=1,,L, i=1,,n (2.25)
Pasul 10. Se calculeaza eroarea datorata vectorului p de instruire data de formula (2.11)
M
1k
2pkpkp oy
2
1E .
Pasul 11. Daca p