Sunteți pe pagina 1din 47

1

INTRODUCERE N CALCULUL NEURONAL


Calculul neuronal se bazeaz pe modele matematice inspirate din
neurobiologie, numite reele neuronale. O reea neuronal are trei
caracteristici generale:
uniti de calcul interconectate, numite neuroni
reguli recursive pentru modificarea ponderilor conexiunilor dintre neuroni
reguli de calcul simple.
1.1. NEURONUL BIOLOGIC
Unitatea celular fundamental a creierului este neuronul. Creierul uman
are aproximativ
11
10
neuroni, fiecare fiind interconectat cu aproximativ
4
10
ali neuroni.
Neuronul biologic este alctuit din:
corp neuronal (sau soma), constituit din membran i substan
intracelular, rolul su fiind de a transforma semnalele de intrare n semnale
de ieire
arbore dendridic, care reprezint prelungiri ale corpului neuronal i are rolul
de a colecta semnalele de intrare de la ali neuroni
axon, care este o prelungire a corpului neuronal cu rol de a transmite
semnalul de ieire ctre ali neuroni, prin intermediul arborelui axonic.
Neuronii sunt interconectai prin intermediul unor legturi numite sinapse,
care reprezint punctele de contact dintre ramurile arborelui dendridic al
unui neuron pre-sinaptic cu ramurile arborelui axonic ale unui neuron post-
sinaptic. Prin intermediul dendridelor, neuronul primete informaie sub
form de impulsuri nervoase de natur electric. Aceste impulsuri provoac
depolarizri ale membranei neuronale, adic modificri ale diferenei de
potenial dintre exteriorul i interiorul celulei.
Potenialele locale generate pe suprafaa membranei se nsumeaz, iar
dac potenialul rezultat depete o anumit valoare numit prag atunci
se genereaz un potenial de aciune care se transmite de-a lungul axonului
pan la legtura sinaptic.
Impulsurile ajunse la nivelul sinapsei provoac eliberarea unor substane
chimice purttoare de informaie, numite neurotransmitori; cantitatea de
neurotransmitori depinde de impulsurile primite dar i de ali factori.
Membrana post-sinaptic recepioneaz neurotransmitorii i determin
modificri ale permeabilitii ionice a membranei, deci depolarizri. Sinapsele
pot fi excitatoare (dac provoac depolarizare pozitiv) sau inhibitoare (dac
provoac depolarizare negativ).
1.2. NEURONUL ARTIFICIAL
ntr-o reea neuronal, analogul neuronului biologic este neuronul
artificial, numit simplu neuron. Fiecare neuron are
n
intrri i o ieire. Intrrile
n
x x x , , ,
2 1

sunt numere reale i reprezint semnalele venite de la ali
neuroni sau din lumea exterioar i corespund semnalelor electrice din
modelul biologic. Fiecare intrare
i
x
are asociat o pondere
i
w
, ce corespunde
valorii sinaptice din neuronul biologic. Semnalul de ieire este dat de
relaia
( )

,
_

> <

n
i
i i
T
x w f x w f x w f y
1
) , (
unde
( )
n T
n
R w w w , ,
1

este vectorul ponderilor. Funcia
( ) x w f
T
se numete
funcie de activare (sau transfer). Definind variabila
s
ca fiind produsul scalar
n n
T
x w x w x w x w s + + > <
1 1
,
n cazul cel mai simplu, ieirea
y
se calculeaz ca fiind
( )

'



altfel
x w dac
s f y
T
0
1
unde

este pragul de activare.


1 x
n
x
1 w
nw
f
y


Figura 1.1 Neuron cu o singur ieire
Exist i alte funcii de activare, cele mai utilizate fiind
funcia liniar
x x f R R f ) ( , :
funcia treapt
{ }

'

<


0 , 0
0 , 1
) ( , 1 , 0 :
x
x
x f R f
funcia ramp
[ ] ( )

'


1 , 1
1 , 1 ,
1 , 1
) ( , 1 , 1 :
x
x x
x
x f R f
funcia semn
{ }

'

<


0 , 1
0 , 1
) ( ) ( , 1 , 1 :
x
x
x sign x f R f
funcia sigmoidal
0 ,
1
1
) ( ), 1 , 0 ( : >
+

k
e
x f R f
kx
Alegerea unei funcii de activare depinde de modelul de reea neuronal
ales i de tipul problemei de rezolvat, nefiind constrns dect de analogia
cu modelul biologic. Valoarea furnizat de funcia de activare este propagat
pe cile de ieire, echivalente arborelui axonic din modelul biologic.
Exemplul 1.1. Considerm intrrile
{ } 1 , 0 ,
2 1
x x
, ieirea
{ } 1 , 0 y
i mulimea
de antrenare definit prin

1
x

2
x

2 1 2 1
) , ( x x x x y
1 1 1
1 0 0
0 1 0
0 0 0
Problema nvarii const n gsirea ponderilor
2 1
, w w
i a pragului

astfel
nct ieirea dat de reea s coincid cu cea dorit. O soluie este
6 . 0 ,
2
1
2 1
w w
i

'
+

altfel
x x
x x y
, 0
6 . 0 2 2 , 1
) , (
2 1
2 1
1 X
2 X
Figura 1.2. O soluie a problemei din Exemplul 1.1
onfigurarea unei reele neuronale const n determinarea ponderilor i
a pragurilor. Eliminarea pragului asociat unui neuron este o problem simpl.
Din
0 1
1 1 1 1
> + + > + +
n n n n
x w x w x w x w
rezult c prin adugarea unui extra-neuron n stratul de intrare, cu valoarea
fixat
1
i ponderea

, pragul devine zero.


1 x
n x
nw
y
1
w
1x
y
1 w
nx
0
nw
1

Figura 1.4. Eliminarea pragului


Dei foarte simplu, acest model de neuron reprezint o unitate de calcul
foarte puternic, McCullogh i Pitts demonstrnd c o reea neuronal poate
efectua orice calcul, cu condiia alegerii convenabile a ponderilor.
2 REELE CU UN SINGUR NIVEL
2.1. PERCEPTRONUL SIMPLU CU O SINGUR
IEIRE
Perceptronul simplu este cea mai studiat reea neuronal,
proprietile ei putnd fi regsite la orice alt reea. Perceptronul simplu nu
are straturi ascunse i folosete nvarea supervizat. Interesul pentru
perceptronul simplu este i de natur istoric: el reprezint modelul din care
s-au dezvoltat toate celelalte reele neuronale.
Considerm o reea de tipul celei din Figura 2.1, unde
ij
w
reprezint ponderea
intrrii
j
ctre neuronul de ieire
i
iar
( )
T
im i i
w w w , ,
1

este vectorul ponderilor
ctre neuronul
i
.
Semnalul de nvare este
i i
y d r
cu
( ) x w sign y
T
i i

i
i
d
rspunsul dorit pentru neuronul de ieire
i
, cnd la
intrare se prezint vectorul
x
.
Fie regula de nvare: vectorul
i
w
crete proporional cu produsul dintre
intrarea
x
i semnalul de nvare
r
, definit n general ca o funcie
( )
i i
d x w r r , ,
. Notnd

) ( )) ( ), ( ), ( ( ) ( t x t d t x t w r c t w
i i i

(1.1)
unde
t
este timpul iar
c
este constanta de nvare, rezult urmtoarea regul de
modificare a ponderilor

) ( ) ( ) 1 ( t w t w t w
i i i
+ +
. (1.2)
Conform formulelor (1.1) - (1.2), ponderile se modific astfel:

( ) ( ) x x w sign d c w w
i i i i
> < + , :
( ) ( )
j i i ij ij
x x w sign d c w w > < + , :
unde
0 , , , 1 , , , 1 > c n j m i
este rata de nvare iar
( ) d x,
este perechea de
instruire.
1
x
2
x
n
x
1
y
m
y
11
w
mn
w

Figura 2.1 Reea feedforward uninivel Considerm un singur


neuron la ieire i
( ) d x,
o pereche de instruire; vectorul
x
va aparine uneia din cele
dou clase disjuncte

{ } { } 1 / , 1 /
2 1
d x C d x C
.
innd seama de definiia funciei de activare, rezult c se dorete cutarea
unui vector pondere
w
astfel nct

0 , > < x w
pentru orice
1
C x
i

0 , >< < x w
pentru orice
2
C x
.
Dac un astfel de vector exist, atunci problema definit de perechile de
instruire se numete liniar separabil.
Algoritmul perceptronului
Fie perechile de instruire
( ) ( )
K
K
d x d x , , , ,
1
1

cu
( )
k
n
k k
x x x , ,
1

,
{ } 1 , 1
k
d
,
K k , , 1
i
L
numrul maxim de cicluri de instruire admise.
Pasul 1. Se alege constanta de instruire
0 > c
Pasul 2. Iniializri:
, 0 : E

1 : k
,
0 : l
,
w
se iniializeaz cu
valori mici aleatoare
Pasul 3. Se prezint reelei perechea
( )
k
k
d x ,
, notat pentru
simplitate
( ) d x,
i se calculeaz ieirea
y

( ) ( ) > < x w sign x y ,
.
Pasul 4. Se modific ponderile
( ) ( ) x x w sign d c w w > < + , :

Pasul 5. Se cumuleaz eroarea
y d E E + :
Pasul 6. Dac
K k <
atunci
1 : + k k
i se continu cu Pasul 3; n
caz contrar se merge la Pasul 7
Pasul 7. S-a terminat un ciclu de instruire:
1 : + l l
. Dac
0 E
sau

L l >
algoritmul se oprete. n caz contrar, se atribuie
valorile
, 0 : E

1 : k
i se iniiaz un nou ciclu de instruire,
mergndu-se la Pasul 3.
2.2 PERCEPTRONUL MULTIPLU
Perceptronul multiplu este o reea neuronal care are
n
neuroni de
intrare total interconectai cu cei
m
neuroni de la ieire. Perceptronul
multiplu se utilizeaz pentru rezolvarea problemelor de clasificare multipl,
cele
m
uniti de la ieire permind clasificarea n
m
clase.
Folosim notaiile amintite anterior:

w
= matricea ponderilor

ij
w
= ponderea intrrii
j
ctre ieirea
i

( )
T
in i i
w w w , ,
1

= vectorul ponderilor spre neuronul de ieire
i

i
y
= ieirea neuronului
i

i
d
= ieirea dorit pentru neuronul
i
NVARE COMPETITIV
Pentru un semnal de intrare
n
R x
se obine ieirea
m
R y
astfel

wx y
sau
m i x w x w y
n
j
j ij i i
, , 1 , ,
1
> <

Componenta maxim
j
y
a vectorului
y
determin indicatorul
j
al clasei creia
i aparine vectorul de intrare
x
.
Algoritmul de nvare competitiv
Fie
( ) ( ) { }
L L
d x d x , , , ,
1 1

mulimea de instruire, unde


{ } m d
i
, , 2 , 1
este
indicatorul clasei creia i aparine
i
x
. Notm cu , respectiv cu
k
i
w
, matricea
w
,
respectiv linia
i
din matricea
w
, la iteraia
k
.
Pasul 1. Se iniializeaz
1
w
i indicatorul iteraiei:
1 : k
Pasul 2. Pentru fiecare
{ } L l , , 2 , 1
se efectueaz
2.1. se determin indicele
j
al unitii care produce ieirea
maxim

l k
i
m i
l k
j
x w x w
,..., 1
max

2.2. dac
l
d j
, nu se efectueaz nimic
dac
l
d j
atunci

l k
j
k
j
cx w w
+1

l k
d
k
d
cx w w
l l
+
+1

k
i
k
i
w w
+1
pentru
{ }
l
d j i ,
Pasul 3. Algoritmul se oprete dac este ndeplinit una din
condiiile:
i)la ultima parcurgere a Pasului 2 nu s-a efectuat nicio modificare a ponderilor
ii)
k
a atins numrul maxim de iteraii admis.
n caz contrar se incrementeaz indicatorul iteraiei

1 : + k k
i se merge la Pasul 2.
NVARE CU AJUTORUL REGULII DELTA
Considerm mulimea de antrenament

( ) ( ) { }
K K
d x d x , , , ,
1 1

,
unde

( )
T
k
n
k k
x x x , ,
1

,
( )
T
k
m
k k
d d d , ,
1

,
K k , , 1
.
Ideea de baz n descoperirea regulii de nvare const n a defini
performana reelei i a optimiza aceast performan. Putem defini
performana ca fiind
2
1 1
2
1



K
k
k k
K
k
k
y d E E
adic
( ) ( ) ( )


> <
K
k
m
i
K
k
m
i
k
i
k
i
k
i
k
i
x w f d y d E
1 1 1 1
2 2
,
2
1
2
1
unde
i
este indicele unitii de ieire,
k
indexeaz perechea ce trebuie nvat,
k
i
d
i respectiv
( ) > <
k
i
k
i
x w f y ,
reprezint ieirea dorit, respectiv ieirea
reelei, corespunztoare unitii
i
cnd la intrare se prezint vectorul
k
x
.
Vom considera cazul funciilor de transfer continue. Semnalul de
nvare este numit delta i este
( ) ( ) ( ) x w f x w f d r
T
i
T
i i
'
.
Expresia sa rezult din condiia de minimizare a erorii
E
.
Notnd
( ) ( )
k T
i
k
i
k
i
k
i
x w f y d '
i innd seama de formula (1.2), rezult regula delta de nvare
k k
i i i
x c w w + :
sau, pe componente,
k
j
k
i ij ij
x c w w + :
pentru
m i , , 1
i
n j , , 1
.
Algoritmul delta
Se dau perechile de instruire
( ) ( ) { }
K K
d x d x , , , ,
1 1

,
unde
( )
T
k
n
k k
x x x , ,
1

i
( )
T
k
m
k k
d d d , ,
1

,
K k , , 1
.
Pasul 1. Se aleg
0 , 0
max
> > E c
Pasul 2. Se fac iniializri:
, 1 : k
eroarea total
0 : E
iar ponderile

ij
w
primesc valori mici aleatoare.
Pasul 3. Se prezint perechea de intrare
k k
d d x x : , :
i se
calculeaz ieirea reelei
( )
T
m
y y y , ,
1

,
) ( ) , ( x w f x w f y
T
i i i
> <
pentru
m i , , 1
.
Pasul 4. Se corecteaz ponderile
( ) ( )
j
T
i i i ij ij
x x w f y d c w w ' : +
.
Pasul 5. Se calculeaz eroarea total
2
2
1
: y d E E +
Pasul 6. Dac
K k <
atunci
1 : + k k
i se continu cu Pasul 3; n
caz contrar se merge la Pasul 7.
Pasul 7. S-a finalizat un ciclu de instruire. Dac
max
E E <
,
nvarea s-a terminat. Dac
max
E E >
atunci se ncepe un
nou ciclu de instruire:
0 : E
,
1 : k
i se merge la Pasul 3.
n cazul cnd funcia de activare este liniar,
, ) ( x x f
suprafaa
de eroare este paraboloidal; prin urmare are un minim unic. Ne vom referi n
continuare la acest caz, numindu-l algoritmul delta liniar. Referitor la
convergena acestui algoritm au loc urmtoarele observaii.
Constanta de instruire
c
are un rol foarte important n
controlarea convergenei. Dac
c
are o valoare prea mic, atunci vectorul
pondere se mic prea ncet pe suprafaa de eroare, adic instruirea devine
prea lent. Dac
c
este prea mare, atunci algoritmul poate s nu sesizeze
punctele de minim, vectorul
w
micndu-se haotic pe suprafaa
paraboloidului. n acest caz algoritmul poate s nu convearg niciodat,
indiferent de numrul de iteraii. Viteza de convergen poate fi controlat
prin alegerea ratei de nvare. De obicei, se ia
[ ] 10 , 01 . 0 c
, valoarea cea mai
utilizat fiind
. 1 . 0 c
De asemenea, iniializarea ponderilor se face, de obicei,
cu valori aleatoare din intervalul
[ ] 1 , 0
sau
[ ] 1 , 1
.
3 REELE UNIDIRECIONALE MULTINIVEL
3.1. GENERALITI
Reelele cu un singur nivel au numeroase restricii n utilizare. De
exemplu, perceptronul simplu mparte spaiul strilor doar n dou
semiplane. Pentru a realiza regiuni de decizie mai complicate trebuie mrit
complexitatea reelei, inserndu-se nivele suplimentare (numite ascunse)
ntre neuronii de intrare i cei de ieire. Un perceptron cu dou nivele poate
realiza regiuni de decizie convexe, obinute prin intersecia semiplanelor
generate de fiecare neuron de pe nivelul ascuns.
Fiecare neuron de pe nivelul ascuns
x
N
se comport ca un perceptron standard
i genereaz un hiperplan de separare. Un neuron de pe nivelul
y
N

genereaz o regiune de decizie mai complicat, folosind semiplanele
generate de neuronii primului nivel.
1
x
2
x
n
x
x
N
y
N
z
N
0
N

Figura 3.1. Exemplu de reea multinivel


S considerm doi neuroni
a
i
b
de pe nivelul
y
N
, i fie
A
i
B
regiunile lor
de decizie. Fie
c
un neuron de pe nivelul
z
N
. Considerm c ponderile conexiunilor
de la
a
i
b
ctre
c
sunt egale cu
1 +
i c pragul lui
c
este
1 < t
. Dac unul din
neuronii
a
sau
b
este activat, atunci ieirea neuronului
c
va fi
1 +
; nseamn
c acest neuron realizeaz funcia logic SAU ntre suprafeele
A
i
B
.
PROPAGAREA NAPOI CU UN NIVEL ASCUNS
Considerm o reea cu un strat ascuns i folosim notaiile:

i
= un neuron de pe nivelul
0
, de intrare

k
= un neuron de pe nivelul
1
, cel ascuns

j
= un neuron de pe nivelul
2
, de ieire

i
x
= semnalul de intrare n unitile nivelului 0

i
y
= semnalul de ieire din unitile nivelului 0

k
x
= semnalul de intrare n unitile nivelului 1

k
y
= semnalul de ieire din unitile nivelului 1

j
x
= semnalul de intrare n unitile nivelului 2

j
y
= semnalul de ieire din unitile nivelului 2

n
= numrul de neuroni de pe nivelul 0

1
n
= numrul de neuroni de pe nivelul 1

m
= numrul de neuroni de pe nivelul 2

1
ki
w
= ponderea conexiunii ntre neuronii
i
i
k

2
jk
w
= ponderea conexiunii ntre neuronii
j
i
k

k
h
= funcia de activare a neuronului
k

j
f
= funcia de activare a neuronului
j
.
Considerm c neuronii unui nivel sunt conectai cu toi neuronii
nivelului urmtor. Dac la momentul
t
se prezint la intrare vectorul
( )
T
t
n
t t
x x x , ,
1

i se dorete s se obin vectorul
( )
T
t
m
t t
d d d , ,
1

atunci

n
i
t
i ki
t
k
x w x
1
1
,
( )
t
k k
t
k
x h y
,
t
k
n
k
jk
t
j
y w x

1
1
2
,
( )
t
j j
t
j
x f y
.
Eroarea ptratic corespunztoare perechii
( )
t t
d x ,
din mulimea de antrenare
este

( ) ( ) ( )



m
j
m
j
t
j j
t
j
t
j
t
j t
x f d y d E
1 1
2 2
2
1
2
1



,
_

,
_


m
j
n
k
t
k jk j
t
j
y w f d
1
2
1
2
1
2
1
=


,
_

,
_

,
_

m
j
n
k
n
i
t
i ki k jk j
t
j
x w h w f d
1
2
1 1
1 2
1
2
1
.
Minimizarea erorii se realizeaz cu o metod de tip gradient.
Notnd
( )( )
t
j
t
j
t
j j
t
j
y d x f
'

i
( )

m
j
jk
t
j
t
k k
t
k
w x h
1
2 '

obinem
t
k
t
j
jk
t
jk
y
w
E
w


2
2
,
t
i
t
k
ki
t
ki
x
w
E
w


1
1
.
Rezult urmtoarele reguli de corectare a ponderilor
2 2 , 2 1 , 2
jk t
t
jk
t
jk
w c w w +
+
,
1 1 , 1 1 , 1
ki t
t
ki
t
ki
w c w w +
+
.
Se observ c
t
k

se obine prin propagarea napoi n reea a erorii de pe


nivelul superior.
Algoritmul de propagare napoi cu un nivel ascuns
n continuare vom nota cu
l
indicele perechii de instruire i cu
t

iteraia, care indic a cta prelucrare a setului de instruire este n curs de
desfurare. Fie
( ) ( ) { }
L L
d x d x , , , ,
1 1

mulimea de antrenament.
Pasul 1. Se iniializeaz:
matricele
1
w
i
2
w
, cu valori aleatoare mici din
[ ] 1 , 0

sau
[ ] 1 , 1
rata de instruire
( ) 1 , 0 c
eroarea maxim admis
max
E
(de exemplu,
01 . 0 :
max
E
)
indicele perechii de instruire
1 : l
contorul iteraiei
1 : t
Pasul 2. Se prezint reelei perechea de instruire
( )
l l
d x ,
dat de
( )
l
n
l l
x x x , ,
1

,
( )
l
m
l l
d d d , ,
1

.
Pasul 3. Se determin valorile de activare ale neuronilor de pe
nivelul ascuns

n
i
l
i
l
ki
l
k
x w x
1
, 1
Pasul 4. Se determin ieirile neuronilor de pe nivelul ascuns
( )
l
k k
l
k
x h y
Pasul 5. Se calculeaz activrile neuronilor de pe nivelul de ieire
l
k
n
k
l
jk
l
j
y w x

1
1
, 2
Pasul 6. Se calculeaz ieirile reelei
( )
l
j j
l
j
x f y
Pasul 7. Se calculeaz semnalul de eroare pentru neuronii de pe
nivelul de ieire
( ) ( )
l
j
l
j
l
j j
l
j
y d x f
'

Pasul 8. Se calculeaz semnalul de eroare pentru neuronii de pe


stratul ascuns
( )

m
j
l
jk
l
j
l
k k
l
k
w x h
1
, 2 '

Pasul 9. Se ajusteaz ponderile neuronilor de pe nivelul de ieire
l
k
l
j
l
jk
l
jk
y c w w +
, 2 , 2
:
Pasul 10. Se ajusteaz ponderile neuronilor de pe nivelul ascuns
l
i
l
k
l
ki
l
ki
x c w w +
, 1 , 1
:
Pasul 11. Se trece la urmtoarea pereche din mulimea de instruire :
dac
L l <
atunci
1 : + l l
i se merge la Pasul 2
dac
L l
atunci se merge la Pasul 12.
Pasul 12. Se calculeaz eroarea pe setul de antrenare
( )



L
l
m
j
l
j
l
j
y d
L
E
1 1
2
2
1
.
Dac
max
E E
, algoritmul se termin; n caz contrar se ncepe o nou iteraie
(
1 : + t t
) i se parcurge setul de antrenare de la nceput (
1 : l
), mergndu-se
la Pasul 2.
Este posibil ca propagarea napoi s genereze un minim local, caz semnalat
de faptul c eroarea ieirilor este destul de mare. Pentru a iei dintr-o astfel
de stare se recomand:
a)Schimbarea constantei de instruire.
Iniial se alege o valoare mic, de exemplu
( ) 25 . 0 , 05 . 0 c
, iar pe msur
ce eroarea descrete se poate mri valoarea lui
c
. Creterea se justific doar
dac suprafaa de eroare este suficient de neted, n caz contrar fiind posibil
ca reeaua s sar peste valoarea de minim, real. Euristic, s-a ajuns la
concluzia c o valoare iniial bun pentru
c
este
n
1
,
n
fiind numrul de
neuroni de la intrare.
O alt posibilitate este folosirea unei rate de instruire variabile;
constanta
c
din paii 9 i 10 se nlocuiete la fiecare iteraie cu o valoare
t
c

mai mic. irul acestor valori trebuie s descreasc lent pentru a se asigura
accelerarea convergenei. Descreterea este suficient de lent dac


1 t
t
c
i

<
1
2
t
t
c
.
Un exemplu de ir ce satisface condiiile anterioare este
t
c
t
1

.
b)Schimbarea ponderilor iniale.
Se recomand ca ponderile iniiale s nu fie egale, evitndu-se
paralizarea reelei. Pentru neuronii care au multe intrri, ponderile iniiale
trebuie s fie mici, astfel nct activrile s nu fie prea ndeprtate de zero.
Dac un neuron are
n
intrari, se recomand ca ponderile s fie din intervalul
1
]
1

n n
2
,
2
. Pentru a iei dintr-un minim local se recomand adugarea de valori
mici, aleatoare, la vectorul pondere. Dac noua stare este suficient de
ndeprtat de acest minim, instruirea se va desfura ntr-o alt direcie.
c)Schimbarea numrului de neuroni ascuni.
Se recomand ca numrul iniial al lor s fie aproximativ
mn
.
4 MEMORII ASOCIATIVE
Reelele de acest tip simuleaz evoluia unui sistem dinamic care
const n evoluia unui patern de intrare ctre unul memorat, numit prototip.
Ele memoreaz i regsesc asociaii date sub forma unor perechi
( ) A C,
, unde
C
este informaia cheie iar
A
este informaia asociat.
O memorie asociativ bidirecional (MAB) este o reea cu dou nivele
de neuroni complet interconectai. Doi neuroni de pe acelai nivel nu sunt
interconectai, dar fiecare neuron poate fi conectat cu el nsui; toate
conexiunile sunt bidirecionale (Figura 4.2).
Spre deosebire de reelele studiate anterior, n care ponderile se
determin iterativ, n cazul reelelor MAB matricea ponderilor se fixeaz
iniial i rmne neschimbat pe durata funcionrii reelei.
1
2
n
1
2
m

Figura 4.2. Memorie asociativ bidirecional


Considerm mulimea de instruire
( ) ( )
p p
y x y x , , , ,
1 1

, cu
n i
B x
i
m i
B y
,
n
B
fiind cubul bidimensional
{ }
n
1 , 0
sau
{ }
n
1 , 1
. Matricea ponderilor se definete ca
n cazul asociatorului liniar
( )

p
i
T
i i
x y w
1
i are urmtoarea semnificaie :
linia
i
conine ponderile conexiunilor neuronului
i
din stratul de ieire
coloana
j
conine ponderile conexiunilor neuronului
j
din stratul de intrare.
Algoritmul MAB
O reea MAB se definete ca fiind un sistem
( ) V U J I W N N S
y x
, , , , , ,
,
unde

x
N
i
y
N
sunt neuronii de pe nivelul de intrare i respectiv ieire

W
este matricea ponderilor

I
i
J
sunt vectori coloan reprezentnd intrrile externe asupra
neuronilor din
x
N
i, respectiv,
y
N

U
i
V
sunt vectori coloan ce reprezint pragurile neuronilor de pe
nivelele
x
N
i, respectiv,
y
N
Pasul 1. Se prezint reelei perechile de asociaii
( ) ( )
p p
y x y x , , , ,
1 1

i se calculeaz matricea ponderilor


( )

p
i
T
i i
x y W
1
.
Pasul 2. Se pune
0 : t
, reprezentnd momentul iniial.
Pasul 3. Se iniializeaz strile neuronilor de pe nivelul
y
N
cu un
vector arbitrar
) 0 ( y
.
Pasul 4. Se prezint reelei vectorul
( ) 0 x x
, urmnd s se
determine vectorul
i
x
cel mai apropiat de
( ) 0 x
n sensul
distanei Hamming.
Pasul 5. Se propag informaia de la
x
N
la
y
N
:
se calculeaz vectorul
B
al activrilor
( ) J t x W B +
se calculeaz vectorul
) 1 ( + t y
al strilor neuronilor din
y
N
( ) ( )

'

<

>
+
j j
j j j
j j
j
v b
v b t y
v b
t y
, 0
,
, 1
1
Pasul 6. Se propag informaia de la
y
N
la
x
N
:
se calculeaz vectorul
A
al activrilor
( ) I t y W A
T
+ + 1
se calculeaz vectorul de stare
) 1 ( + t x
( ) ( )

'

<

>
+
i i
i i i
i i
i
u a
u a t x
u a
t x
, 0
,
, 1
1
Pasul 7. Se trece la iteraia urmtoare,
, 1 : + t t
i se repet paii 5
i 6 pn cnd strile tuturor neuronilor rmn
neschimbate.
Algoritmul se termin prin gsirea unei stri de echilibru
( ) y x,
, unde
x

este vectorul
i
x
din mulimea de instruire cel mai apropiat de
( ) 0 x
;
y
va fi
informaia asociat lui
( ) 0 x
. Algoritmul funcioneaz bine dac reeaua nu
este suprancrcat, adic mulimea de instruire nu este prea mare. n cazul
suprancrcrii, apare fenomenul de interferen care poate genera stri de
echilibru false, similare punctelor de minim local ale unei funcii.
O MAB poate fi folosit pentru a regsi o anumit informaie cnd se prezint
reelei o informaie cheie. De exemplu, se poate regsi media unui student
dac informaia cheie cuprinde numele i anul de studii. Chiar dac
informaia este incomplet (de exemplu, nu se tie anul) sau este
distorsionat (de exemplu, numele este eronat), reeaua poate furniza
informaia corect.
4.6. REELE HOPFIELD CU TIMP DISCRET
O reea neuronal Hopfield este o memorie asociativ a crei
funcionare este caracterizat de folosirea intensiv a feedback-ului. O reea
feedback uninivel este de forma
1
v
2
v
n
v
1
v
2
v
n
v
1
2
n

21
w
1 n
w
12
w
2 n
w
n
w
1
n
w
2
Figura 4.3. Reea feedback uninivel
Reeaua este alctuit din
n
neuroni cu pragurile
n
, , ,
2 1

. Pentru fiecare
neuron se calculeaz potenialul intern
{ }


+
n
i j j
i i j ij i
n i I v w net
, 1
, , 2 , 1 ,
unde
i
I
este intrarea extern a neuronului
i
. Notnd
( )
T
in i i
w w w , ,
1

,
( )
T
n
v v v , ,
1

,
putem scrie
i i
T
i i
I v w net +
n acest model matricea conexiunilor sinaptice este simetric. Considernd
c funcia de activare este
sign
, neuronii i modific starea dup regula
( )
i i
T
i i
I v w sign v +
.
Evoluia n timp a strilor neuronilor se face dup regula
( ) { } , 1 , 0 , , , 1 ,
1
+
+
t n i I v w sign v
i i
t T
i
t
i

4.7. MEMORII AUTOASOCIATIVE
RECURENTE
O astfel de memorie este reeaua Hopfield uninivel cu timp discret i
funcionare asincron. Presupunem c
{ } n i I
i i
, , 2 , 1 , 0
. Funcionarea
are loc n dou etape: memorare i utilizare.
Faza de memorare
Fie
L
x x , ,
1

vectorii binari ce trebuie memorai. Matricea


w
a ponderilor este
similar cu matricea de autocorelaie din cazul asociatorului liniar, singura
deosebire fiind c
0
ii
w
. Avem
( )


L
l
T
l l
I L x x w
1
sau
( )


L
l
l
j
l
i ij ij
x x w
1
1
unde
I
este matricea unitate. Oricnd se pot aduga sau elimina autoasocieri
iar memorarea este invariant la ordinea de prezentare a acestora.
Faza de utilizare
n aceast faz, un vector
x
este impus ca vector de stare. El
reprezint o versiune incomplet sau distorsionat a unui vector memorat.
Apoi, fiecare neuron al reelei, ales aleator, i estimeaz propriul potenial de
activare i i stabilete starea final. Acest proces de modificare a strilor
continu pn cnd vectorul de stare nu se mai modific. nseamn c
reeaua a gsit un vector de stare invariant n timp, ale crui componente
satisfac condiia de stabilitate. Deoarece reeaua se stabilizeaz n unul din
minimele locale ale funciei energie
wv v E
T
2
1

i
) ( ) ( v E v E
,
nseamn c regsirea lui
x
este determinat de similaritarea dintre
x
i
v
sau
x
i
v
, complementul lui
v
.
Algoritmul
Se dau vectorii
L
x x , ,
1

, cu
{ }
n l
x 1 , 1
i vectorul iniial
{ }
n
x 1 , 1
, ce trebuie
regsit.
Memorare
Pasul 1. Iniializri:
1 , 0 l w
Pasul 2. Se memoreaz
l
x
:
( ) I x x w w
T
l l
+ :
Pasul 3. Dac
L l <
atunci
1 : + l l
i se merge la Pasul 2.
Ulilizare
Notm
x v
Pasul 4. Iniializri:
, 1 i

0 e actualizar
,
( ) ) ( , ), 1 ( n
o
permutare a mulimii
{ } n , , 2 , 1
Pasul 5. Se lucreaz cu neuronul
( ) i
:
( ) ( )

n
j
j j i i
v w net
1

,
( )
( )
i
net sign semn

.
Dac
( )
semn v
i

atunci
( )
semn v
i

,
1 e actualizar
.
Pasul 6. Dac
n i <
atunci
1 : + i i
i se merge la Pasul 5.
Pasul 7. Dac
0 e actualizar
atunci afieaz vectorul regsit i
STOP; n caz contrar se merge la Pasul 4.
5 REELE CU FUNCII DE ACTIVARE RADIALE
5.1. STRUCTURA REELEI
n acest caz nvarea se reduce la gsirea suprafeei care se
potrivete cel mai bine cu mulimea de instruire. Neuronii de pe nivelul
ascuns produc o mulime de funcii folosite pentru reprezentarea vectorilor
de intrare, numite funcii radiale.
Aceste reele se mai numesc i RBF (Radial Basis Functions) i sunt
alctuite din neuroni aranjai pe trei nivele:
n
neuroni la intrare,
K
neuroni
ascuni i
m
neuroni la ieire. n 1990 s-a demonstrat c, la fel ca reelele
feedforward cu propagare napoi, reelele RBF pot aproxima orice funcie
continu, orict de bine. Spre deosebire de reelele feedforward, reelele RBF
nva rapid dar sunt lente n utilizare. Structura unei astfel de reele este
prezentat n figura 5.1.
1
out
1
x
2
x
n
x
1
h
11
w
1
y
2
y
m
y
2
out
m
out
1

S y
1
S y
2
S y
m
Ni vel
ascuns
Nivel
iesiri
Nivel
Iesiri
normalizate

11
u
K

Figura 5.1. Structura reelei RBF


Activarea
( ) x h
a neuronilor de pe nivelul ascuns d un rspuns semnificativ
doar pentru un interval de valori ale lui
x
, numit domeniul receptiv al neuronului. Mrimea
acestui interval este determinat de parametrul

.
Notnd

( )
T
n
x x x , ,
1

= vectorul de intrare

( )
T
kn k k
u u u , ,
1

= vectorul ponderilor ctre al
k
-lea neuron ascuns

k

= parametrul pentru al
k
-lea neuron ascuns

k
z
= ieirea neuronului ascuns
k
avem
( )
( ) ( )
( )

,
_

,
_

2
1
2
2
k
n
i
ki i
k
k
T
k
k k k
u x
exp
u x u x
exp u x h z

.
Vectorul
k
u
va reprezenta centrul unitii ascunse
k
. Ieirea neuronului
j
,
corespunztoare semnalului de intrare
x
, este
( ) { }


K
k
j k k jk j
m , , , j , w u x h w y
1
0
2 1
unde
( )
K , k , m , j
jk
w w
0 1

este matricea ponderilor conexiunilor dintre nivelul ascuns i cel de


ieire iar

este norma euclidian. Se poate lucra cu ieirile normalizate

m
i
i
j
j
y
y
out
1
.
Se pot folosi i alte funcii de activare, dar numai cele gaussiene
( )
2 2
/ exp ) ( x x h
sunt radiale, adic produc o valoare semnificativ doar
pentru argumentele aflate n vecintatea lui
0
; vom lucra n continuare cu
aceste funcii.
5.2. INSTRUIREA REELEI
Parametrii care trebuie nvai n procesul de instruire sunt centri
k
u
ai
neuronilor ascuni, ponderile
w
ale conexiunilor ctre nivelul de ieire i
lrgimile
k

ale cmpurilor receptoare. Considerm mulimea de


antrenament
( ) ( ) { }
L L
d x d x , , , ,
1 1

. Parametrii de control pot fi determinai n


dou moduri: simultan sau separat.
a) Determinarea simultan a parametrilor
Eroarea medie ptratic asociat mulimii de antrenament este
( ) ( )

L
l
l
w u E
L
w u E
1
, ,
1
, ,
cu

( ) ( ) ( )


,
_

,
_


m
j
m
j
K
k
j k
l
k jk
l
j
l
j
l
j l
w u x h w d y d w , , u E
1 1
2
1
0
2
2
1
2
1

Aplicarea unei metode de tip gradient pentru minimizarea erorii ptratice


impune calcularea derivatelor pariale
l
j
l
j
j
l
y d
w
E

0
( ) ( ) ( )
l
j
l
j
l
k k
l
k
l
j
l
j
jk
l
y d z u x h y d
w
E

ki
l
u
E

( ) ( )


m
j
ki
l
i
l
k jk
l
j
l
j
k
u x z w y d
1
2
2


k
l
E

( )


m
j
k
l l
k jk
l
j
l
j
k
u x z w y d
1
2
3
2

.
Calcularea parametrilor
, , w u
folosind o metod de tip gradient se poate efectua
cu urmtorul algoritm.
Pasul 1. Iniializarea parametrilor
Matricele
w u,
i vectorul

se iniializeaz cu valori mici


aleatoare
Se fixeaz valoarea admisibil

pentru eroare, numrul


maxim
IT
de prelucrri pentru mulimea de instruire i
constanta de instruire
c
.
Pasul 2. Se iniializeaz numrul prelucrrilor:
1 : t
Pasul 3. Se pregtete instruirea reelei:
1 : , 0 : l E
Pasul 4. Se actualizeaz parametrii, folosind perechea de instruire

( )
l l
d x ,
:

( )
jk
l
jk jk
w
w , , u E
c w : w



,
{ } { } K , , , k , m , , , j 1 0 2 1

( )
ki
l
ki ki
u
w , , u E
c u : u



,
{ } { } n , , , i , K , , , k 2 1 2 1

( )
k
l
k k
w u E
c


, ,
:
,
{ } K k , , 2 , 1
Pasul 5. Se cumuleaz eroarea: se calculeaz
l
E
, apoi
l
E E E + :
Pasul 6. Dac
L l <
, se prezint urmtoarea form de instruire:

1 : + l l
i se merge la Pasul 4. n caz contrar, dac
< E

sau
IT t >
algoritmul se oprete iar n caz contrar se ncepe
o nou prelucrare a mulimii de instruire:
1 : + t t
i se
merge la Pasul 3.
6 REELE BAZATE PE CLIRE SIMULAT
6.1. PRINCIPIUL DE FUNCIONARE A CLIRII SIMULATE
Clirea simulat se bazeaz pe analogia dintre procesul de clire a
metalelor i rezolvarea problemelor de optimizare combinatorial. Exist
dou posibiliti de a rezolva o problem de optimizare combinatorial:
utilizarea unui algoritm de optimizare care, ns, poate s furnizeze o
soluie optim global ntr-un timp care poate fi foarte mare
utilizarea unui algoritm aproximativ, care s obin o soluie
aproximativ, dar ntr-un timp rezonabil.
Este de dorit un algoritm aproximativ general care s poat fi folosit
pentru rezolvarea unei mari varieti de probleme. Clirea simulat este un
astfel de algoritm i este o generalizare a algoritmilor de ameliorare iterativ.
Un algoritm de ameliorare iterativ funcioneaz astfel:
1)se pornete cu o configuraie iniial
2)se genereaz o secven de iteraii, fiecare dintre ele constnd n
trecerea de la configuraia curent la alta nou care are un cost mai
mic i este situat n vecintate
3)algoritmul se oprete cnd se obine o configuraie care are cel mai mic
cost n raport cu cel al configuraiilor din vecintatea sa.
Principalele dezavantaje ale algoritmilor iterativi sunt:
oprirea poate avea loc ntr-un minim local i nu tim ct de departe este
acesta fa de minimul global
minimul local depinde de configuraia iniial.
Spre deosebire de ameliorarea iterativ, clirea simulat
nu depinde de configuraia iniial i ofer o valoare apropiat de minimul
global al funciei de cost. Dei mai lent dect ameliorarea iterativ, clirea
simulat este preferat datorit capacitii de a evita punctele de minim
local.
Clirea simulat urmrete obinerea echilibrului termic la o anumit
temperatur
T
. Cea mai rapid metod de obinere a echilibrului a fost
dezvoltat de Metropolis i colaboratorii si [40] i const n:
fiind dat starea curent a metalului (caracterizat de poziia particulelor
sale) avnd energia
c
E
, se aplic o perturbaie generat aleator prin
deplasarea mic a unei particule; fie
p
E
energia strii obinute ca urmare a
perturbaiei.
dac
0
c p
E E E
atunci probabilitatea
p
de acceptare a strii perturbate este

,
_



T k
E
p
0
exp
,
unde
0
k
este constanta lui Boltzmann.
Aceast regul de acceptare a noii stri (numit criteriul Metropolis) face
ca sistemul s evolueze spre echilibrul termic, adic dup un numr de
perturbaii distribuia de probabilitate a strilor aproximeaz distribuia
Boltzmann. Aceast metod de obinere a echilibrului termic se numete
algoritmul Metropolis i poate fi folosit la rezolvarea problemelor de
optimizare combinatorial astfel:
configuraiile problemei joac rolul strilor metalului
funcia obiectiv este similar energiei
parametrul de control joac rolul temperaturii; n continuare l vom nota tot
cu
T
i-l vom numi temperatura sistemului.
6.2. INSTRUIREA REELELOR NEURONALE
FOLOSIND CLIREA SIMULAT
Instruirea unei reele neuronale nu necesit valori prea mari ale
ponderilor. Dac aceste valori sunt mari atunci activrile neuronilor vor fi
mari iar valorile derivatelor funciilor sigmoidale de rspuns vor fi mici, ceea
ce tinde s paralizeze conexiunea respectiv. De aceea se impun limite de
mrime pentru ponderi.
Considerm o reea neuronal cu transmisie unidirecional i fr
straturi ascunse. Funcia criteriu
E
msoar diferena dintre ieirile reale i
cele dorite. Considerm un pas al algoritmului de clire simulat
corespunztor valorii
T
a temperaturii. Fie
ij
w
o pondere asociat neuronului
j
;
modificarea sa se face cu o valoare aleatoare
ij
w
. Probabilitatea ca modificarea
ij
w
s fie
acceptat este

,
_



T
E
p
j
exp
, unde
E
este variaia energiei datorat
modificrii ponderii. Pentru acceptarea modificrii se compar
j
p
cu un
numr aleator
r
, ales uniform din
[ ] 1 , 0
:
12dac
r p
j
>
atunci schimbarea este acceptat
13dac
r p
j

atunci ponderea
ij
w
rmne neschimbat
O iteraie a algoritmului de instruire a unei reele neuronale prin clire
simulat este:
Pasul 1. Se prezint reelei vectorul de intrare
i
x
; se calculeaz
ieirile i valoarea funciei obiectiv.
Pasul 2. Se fixeaz o valoare
T
a temperaturii
Pasul 3. Se selecteaz aleator o conexiune
) , ( j i
avnd ponderea

ij
w
.
Pasul 4. Se genereaz aleator o modificare
ij
w
a ponderii
conexiunii selectate.
Pasul 5. Se calculeaz variaia
E
a energiei asociate modificrii
ponderii.
Pasul 6. Dac valoarea funciei energie scade atunci se accept
modificarea ponderii, adic
ij ij ij
w w w + :
.
n caz contrar au loc operatiile:
1)Se calculeaz probabilitatea
j
p
de acceptare a
modificrii
ij
w
:

,
_



T
E
p
j
exp
2)Se genereaz un numr aleator
r
cu distribuie uniform pe
intervalul
] 1 , 0 [
.
Dac
r p
j
>
atunci
ij ij ij
w w w + :
iar
dac
r p
j

atunci conexiunea
) , ( j i
i menine
valoarea.
Algoritmul anterior se execut pentru fiecare pondere a reelei, ceea ce
reprezint un ciclu de prelucrare. Se reduce apoi temperatura i se
efectueaz un nou ciclu de prelucrare. Reducerea temperaturii are loc pn
cnd se obine o valoare acceptabil a funciei obiectiv. n acest moment se
consider un nou vector de instruire i se reia ntregul proces, pornind
clirea simulat cu valoarea maxim a temperaturii. Reeaua este instruit
pentru toi vectorii din mulimea de antrenament. Ei pot fi prezentai ciclic
pn cnd funcia criteriu are o valoare rezonabil pentru toi vectorii de
instruire.
7 REELE CU INSTRUIRE NESUPERVIZAT
n nvarea nesupervizat nu exist antrenor, reeaua trebuind s
descopere singur modele, trasturi, corelaii existente n mulimea datelor
de intrare i s le codifice sub forma unor date de ieire. n nvarea
nesupervizat cunoaterea este asigurat de redundana existent n
mulimea datelor de intrare. Acest tip de nvare se recomand n
urmtoarele situaii:
mulimea datelor de intrare este mare
caracteristicile formelor se pot schimba n timp, ele putnd fi urmrite
mult mai bine n cadrul nvrii nesupervizate
este necesar s avem informaii a priori despre mulimea datelor de
intrare.
7.1. NVARE COMPETITIV
Acest tip de nvare mparte mulimea datelor de intrare
n clase. ntr-o astfel de reea, fiecare neuron de ieire
i
este conectat cu toi
neuronii de intrare
j
, cu ponderile
ij
w
. Presupunem c att vectorul de intrare
x

ct i vectorul
i
w
al ponderilor ctre neuronul de ieire
i
sunt normalizai.
Activarea neuronului
i
este


n
j
T
i j ij i
x w x w net
1
.
Va fi declarat ctigtor neuronul
k
care are activarea maxim:
k i net net
k i
,
Neuronul de ieire se mai numete ctigtorul ia totul i este ales,
de obicei, prin selectarea neuronului cu cea mai mare activare. Un alt mod de
implementare este specific reelei MAXNET, n care un neuron
i
este
conectat cu el nsui cu o pondere excitatoare iar cu ceilali neuroni
j
cu
ponderi inhibitoare

'

j i
j i
w
ij
, 1
,
Odat selectat ctigtorul
k
, ponderile se modific cu regula
( )
( ) ) ( ) ( ) (
) ( ) ( ) (
) 1 (
t w t x c t w
t w t x c t w
t w
k k
k k
k
+
+
+
unde mprirea se face pentru a asigura normalizarea vectorului
w
.
Pentru a putea lucra cu vectori nenormalizai trebuie schimbat regula
de selectare a neuronului ctigtor
k
: se alege acel neuron
k
care este cel mai
apropiat de vectorul de intrare
x
, n norma euclidian
j x w x w
j k
,
.
Ponderile se modific cu regula

( ) ) ( ) ( ) ( ) 1 ( t w t x c t w t w
k k k
+ +
(7.1)
n abordrile anterioare se modific doar ponderile ctre neuronul ctigtor,
celelalte rmnnd constante. Este posibil s se modifice i celelalte ponderi
dup regula
( ) k l t w t x c t w t w
l l l
+ + ) ( ) ( ' ) ( ) 1 (
i
c c '
.
Pentru a msura calitatea nvrii competitive se folosete eroarea
ptratic


p
p
k
x w E
2
,
unde
k
este neuronul ctigtor cnd la intrare se prezint vectorul
p
x
.
Ponderile
w
sunt interpretate ca centri ai claselor. Modificarea ponderilor dup
regula (7.1) asigur minimizarea funciei eroare pentru vectorul de intrare
p
x
:
( )


j
p
j kj
p
x w E
2
2
1
,
unde
k
este neuronul ctigtor.
7.2. MBUNTIRI ALE NVRII
COMPETITIVE
Principalul dezavantaj al nvrii competitive const n faptul c unii
neuroni ai reelei pot fi utilizai foarte rar sau chiar deloc n procesul de
instruire. Algoritmul Kohonen (care va fi discutat mai trziu) este un mijloc de
a depi aceast situaie, dar nu reuete ntotdeauna. Alte posibiliti sunt
prezentate n continuare.
a)Algoritmul cu contiin
Denumirea provine de la faptul c fiecare neuron este
contient de performanele sale iar cei care au ieit prea des nvingtori i
micoreaz ansele de a nvinge n etapele urmtoare. Pentru aceasta,
pentru fiecare neuron se reine de cte ori a ieit nvingtor. Algoritmul
funcioneaz astfel [5]:
Pasul 1. Se determin vectorul pondere
k
w
cel mai apropiat
de vectorul de intrare
x
:
i
i
k
w x w x min
,
{ } m i , , 2 , 1
Pasul 2. Se numr, pentru fiecare neuron
j
, de cte ori a ctigat
competiia:
( )
j j j j
n y B n n + :
unde

'

altfel
y
j
, 0
castigator este j neuronul dac , 1

1 0 < < B
i
0
j
n
la nceputul algoritmului
Pasul 3. Determinarea neuronului nvingtor prin folosirea
contiinei

( )
i i
i
k
t w x w x min
,
{ } m i , , 2 , 1
unde
i
t
poate fi asimilat cu pragul de activare definit prin

,
_


i i
n
m
c t
1
,

c
fiind o constant iar
m
este numrul neuronilor de ieire.
Pasul 4. Se modific ponderile neuronului ctigtor al competiiei
( )
k k k
w x w w + :
unde

este rata de nvare.


7.3. METODE DE GRUPARE K-MEDII
Fiind dat o mulime de forme de clasificat
{ }
n
x x X , ,
1

i o mulime
de ponderi ataate
{ }
n
P P P , ,
1

se urmrete determinarea centrilor
{ }
m
c c C , ,
1

ai claselor astfel nct s se minimizeze funcia de cost

m
i
i
f F
1

unde

i
i
I j
j
I j
i j j
i
P
c x P
f
,
iar mulimea
{ }
i j i
c centrul de aproape mai este x j I /
se numete mulimea index.
Ea poate fi reformulat cu ajutorul diagramei Voronoi. Diagrama Voronoi este
o partiie a spaiului de clasificat n regiuni
i
R
cu proprietile:
i)centrul
i
c
aparine unei singure regiuni
ii)
{ } i j c x c x x R
j i i
/
.
Deci, regiunea
i
R
este format din mulimea punctelor de clasificat care au ca
cel mai apropiat centru pe
i
c
. Acum mulimea index se poate scrie
{ }
i j i
R x j I /
. Metoda k-medii este o metod iterativ de obinere a centrilor
claselor prin deplasarea iterativ a centrului fiecrei clase ctre centrul su
de greutate. Prin aceasta se asigur deplasarea ctre minimul global al
funciei de cost
i
f
, ataat unei clase.
Algoritmul k-medii-1
Pasul 1. Se iniializeaz clasele, distribuind n fiecare cel puin un
element, i se aleg centri
m
c c , ,
1

.
Pasul 2. Pentru fiecare clas
{ } m i K
i
, , 2 , 1 ,
se execut:
2.1. Se determin noul centru
i
c
ca fiind media ponderat a
formelor de intrare
j
x
definite de
i
I
:

i
i
I j
j
I j
j j
i
P
x P
c
2.2. Se actualizeaz mulimea index
{ } i k c x c x j I
k j i j i
, /
Pasul 3. Se repet Pasul 2 pn cnd nicio clas nu se mai modific.
Algoritmul anterior are avantajul c este simplu, dar are i dezavantaje:
lucreaz cu un numar fix de clase, ceea ce impiedic distribuia ntr-un
numr suficient de mare de clase astfel nct eroarea s scad sub o limit
dat
rezultatul depinde de iniializrile de la Pasul 1
actualizarea mulimilor index necesit un efort mare de calcul, trebuind s
fie determinat distana de la fiecare form de intrare la fiecare centru
algoritmul funcioneaz pentru clase bine separabile, alctuite din nori
compaci. n cazul claselor neuniforme apare fenomenul de captare de ctre
clasa mai mic a punctelor periferice ale norului mai mare, aflate mai
aproape de centrul clasei mici.
Observaia 7.1. Cel mai des algoritmul este utilizat pentru cazul ponderilor egale cu
unitatea:
n i P
i
, , 1 1
.
O alt versiune a algoritmului general k-medii const n inserarea de
noi centri n regiunea cu cea mai mare eroare relativ la funciile
i
f
[10]; deci
numrul claselor nu mai este fixat anterior.
Algoritmul k-medii-2
Pasul 1. Se consider un singur centru, dat de media ponderat a
formelor de intrare
{ } n i R x
m
i
, , 2 , 1 ,
; diagrama
Voronoi corespunztoare va fi ntregul spaiu al datelor de
intrare.
Pasul 2. Se determin regiunea
e
R
cu cea mai mare eroare i se
partiioneaz n dou regiuni:
2.1. Se determin axa de coordonate,
k
, care are cea mai mare
varian a proieciei
{ }
( )

'

k
I i
j
e
j
i i
m j
c x P k
, , 1
max

2.2. Ducnd prin punctul


e
c
un hiperplan perpendicular pe a

k
-a ax de coordonate, se separ regiunea
e
R
n dou
submulimi definite de mulimile index
1 e
I
i
2 e
I
:
{ }
e
k
e
k
i e
I i c x i I , /
1
{ }
e
k
e
k
i e
I i c x i I , /
2
2.3. Se calculeaz centri
1 e
c
i
2 e
c
ai noilor clase

1
1
1
e
e
I i
i
I i
i i
e
P
x P
c
,

2
2
2
e
e
I i
i
I i
i i
e
P
x P
c
Pasul 3. Se actualizeaz diagrama Voronoi:
3.1. Se elimin centrul
e
c
i se adaug centri
1 e
c
i
2 e
c
3.2. Se actualizeaz mulimile index ale regiunilor noi
Pasul 4. Pentru regiunile modificate se execut operaiile:
4.1. Se deplaseaz centrul clasei n punctul care reprezint
media aritmetic ponderat a punctelor ce aparin acelei
regiuni
4.2. Se actualizeaz diagrama Voronoi, mulimile index i
mulimile de puncte ale regiunilor modificate
Pasul 5. Se repet paii 2 4 pn cnd este verificat condiia de
oprire:
s-a obinut un numar suficient de mare de clase i/sau
eroarea maxim a devenit mai mic dect o valoare impus
i/sau
fiecare clas conine cel puin un numr dat de elemente.
7.4. ALGORITMUL ISODATA
Algoritmul ISODATA (Iterative Self-Organizing Data Analysis
Techniques Algorithm) este una din metodele iterative cel mai des folosite n
problemele de clasificare. Se pornete cu o partiie iniial (aleas arbitrar
sau furnizat de un alt algoritm) i se mut formele dintr-o clas n alta n
vederea mbuntirii funciei obiectiv.
Folosim notaiile urmtoare

{ }
p
x x x X , , ,
2 1

= mulimea formelor de clasificat,

K
= numrul de centri de clase, specificat iniial n mod arbitrar

K
c c c , , ,
2 1

= centri
Pasul 1. Se definesc parametri algoritmului:

n
= numrul de clase dorit

e

= numrul minim de elemente dintr-o clas



d

= parametrul dispersiei standard



f

= distana maxim pentru fuzionare



L
= numrul maxim de perechi de centri ce pot
fuziona concomitent

I
= numrul maxim de iteraii permise
Pasul 2. Se distribuie cele
p
forme din
X
n clase dup regula
{ }
j
K j
i
i
c x c x K x
, , 1
min

Pasul 3. Se elimin clasele cu mai puin de


e

elemente, repartiznd
componentele lor n alte clase, i se micoreaz
corespunzator
K
.
Pasul 4. Se calculeaz centrii claselor cu formula
( )
{ } K i x
K card
c
i
K x
i
i
, , 2 , 1 ,
1

n continuare, pentru simplitatea scrierii, vom nota



) (
i i
K card p
.
Pasul 5. Se calculeaz diametrul mediu al fiecarei clase
{ }


i
K x
i
i
i
K i c x
p
D , , 1 ,
1

Pasul 6. Se calculeaz distana medie fa de centrii claselor

K
i
i i
D p
p
D
1
1
Pasul 7. i) Dac algoritmul este la ultima iteraie, se pune
0
f

i
se merge la Pasul 11.
ii) Dac numrul iteraiei este par sau
n K 2
atunci se
merge la Pasul 11.
iii) n rest se continu cu pasul urmtor.
Pasul 8. Pentru fiecare clas
i
K
,
{ } K i , , 1
se calculeaz
dispersia
ij

a datelor n direcia
j
:
( )


i
K x
i
j j
i
ij
c x
p
2
1

Pasul 9. Pentru fiecare clas se determin componenta maxim a


dispersiei
{ } K j
ij
j
ij
, , 1 , max *
Pasul 10. Dac exist o clas
i
K
astfel nct
d
ij
> *
i
( ) 1 2 , + > >
e i i
p D D
sau
2
n
K <
atunci clasa
i
K
se mparte n dou clase cu centrii
+ i
c
i

i
c
, se terge centrul
i
c
i se pune
1 : + K K
. Centrii noi
se calculeaz dup regula:
* * * :
ij
i
j
i
j
i
c c c +
+ +
* * * :
ij
i
j
i
j
i
c c c

cu
1 0 <
. Dac s-a realizat o separare la acest pas, se
merge la Pasul 2; n caz contrar se continu.
Pasul 11. Se calculeaz distanele dintre oricare doi centrii
{ } { } K i j K i c c d
j i
ij
, , 1 , 1 , , 1 , +
Pasul 12. Se aranjeaz primele
L
distane
ij
d
mai mici dect n
ordine cresctoare.
Pasul 13. Considernd perechea
( )
j i
K K ,
cu distana centrilor cea
mai mic, se modific centri dup regula:
13.1. Dac centrii celor dou clase nu au fost modificai, se
nlocuiesc
i
c
i
j
c
prin
j i
j
j
i
i
p p
c p c p
c
+
+

*
i se pune
1 : K K
.
13.2. Dac
i
K
sau
j
K
are centrul modificat atunci perechea
( ) j i,
nu se consider
i se trece la perechea urmtoare.
Pasul 14. Dac aceasta este ultima iteraie sau dac numrul i
poziia centrilor coincid cu cele de la iteraia anterioar
atunci algoritmul se oprete; n caz contrar se merge la
Pasul 2.
7.5. REELE KOHONEN
Reeaua Kohonen, numit i harta cu auto-organizare a lui Kohonen sau
harta topologic, are rolul de a realiza proiecia spaiului de intrare nalt
dimensional ntr-un spaiu de ieire uni- sau bi-dimensional, pstrnd
topologia spaiului de intrare. Dup nvare, doi vectori din spaiul de intrare
apropiai unul de cellalt n raport cu distana din acest spaiu vor fi
proiectai pe doi neuroni apropiai din spaiul de ieire. n literatura de
specialitate, o astfel de reea este referit prin abreviera SOFM (Self-
Organizing Feature Map).
SOFM conine un strat de neuroni i dou straturi (tipuri) de
conexiuni. Vom presupune c dimensiunea spaiului de ieire este
2
, neuronii
fiind aranjai pe un grilaj bidimensional. Fiecare neuron are conexiuni externe
la vectorii de intrare, dar i conexiuni laterale la vecinii si pn la o anumit
distan.
SOFM presupune, de obicei, c vectorii de intrare i de ncrcare sunt
normalizai; produsul scalar poate, astfel, fi considerat ca o msur a
distanei dintre doi vectori x i w . Valorile conexiunilor laterale sunt fixe n
timpul nvrii, ele depinznd doar de distana dintre neuronii de pe grilaj.
Este evident c ntre doi neuroni
ij
neur
i
kl
neur
va fi aceeai conexiune ca
ntre
kl
neur
i
ij
neur
.
Consideram un model simplificat, in activrile neuronilor se calculeaz
cu formula
ij ij
w x a
.
nvarea pe o hart Kohonen este nesupervizat: vectorii de intrare sunt
prezentai reelei iar ncrcrile sunt calculate fr a cunoate nicio valoare
de ieire dorit; pentru aceasta se utilizeaz relaiile:
( ) ( ) ) ( ) ( ) ( ) ( 1 t w t x t t w t w
ij ij ij
+ +
dac
) (
ab ij
neur V neur
) ( ) 1 ( t w t w
ij ij
+
dac
( )
ab ij
neur V neur
unde

) (t w
ij
este vectorul de ncrcare dintre neuronul
ij
neur
i vectorul de intrare
( ) t x
prezentat reelei la momentul
t
al nvrii,

( ) t
este un factor de nvare care descrete n timp, pentru a asigura
convergena

ab
neur
este neuronul cel mai potrivit, ales n conformitate cu relaia (7.3)

( )
ab
neur V
este o vecintate a neuronului
ab
neur
, care descrete cu timpul.
O versiune a acestui model simplificat utilizeaz relaiile
( ) ( ) ( ) ) ( ) ( ) ( ) ( 1 t w t x b j a i t t w t w
ij ij ij
+ + +

dac
) (
ab ij
neur V neur
) ( ) 1 ( t w t w
ij ij
+
dac
( )
ab ij
neur V neur
unde
) (
este o funcie monoton descresctoare n raport cu distana dintre
neuronii
ij
neur
i
ab
neur
. Alegerea parametrilor ce depind de timp este important pentru
rapiditatea convergenei.
Vecintatea
( )
ab
neur V
se alege iniial ca fiind
1
]
1

2
N
,
N
fiind numrul neuronilor
de ieire, i apoi scade la fiecare iteraie.
ab
neur
( )
ab
neur V
Figura 7.1. Exemplu de vecinti
Algoritmul de nvare a hrii Kohonen este urmtorul.
Algoritmul Kohonen
Pasul 0. Se aleg: numrul
N
al claselor, eroarea admisibil
0 >
,
rata de nvare
( ) ( ) 1 , 0 t
, mrimea vecintii ca fiind

1
]
1

2
N
i se iniializeaz cu valori mici i aleatoare
ij
w
.
Pasul 1. Se determin distanele euclidiene dintre vectorul de intrare
i vectorii de ncrcare asociai neuronilor din hart.
Pasul 2. Se determin neuronul
ab
neur
, cel mai potrivit: cel cu
distana minim fa de vectorul de intrare.
Pasul 3. Se determin vecintatea
( )
ab
neur V
, asociat celui mai
potrivit neuron.
Pasul 4. Se modific ponderile neuronilor aflai n vecintatea

( )
ab
neur V
.
Pasul 5. Se repet paii 1 4 pentru fiecare vector de intrare.
Pasul 6. Dac
< ) 1 ( ) ( t w t w
ij ij
pentru toi neuronii de ieire,
algoritmul se oprete. n caz contrar se trece la iteraia
urmtoare, efectundu-se operaiile:

1 : + t t
,
se micoreaz
( ) t
,
se micoreaz cu 1 vecintatea neuronului cel mai potrivit
i se revine la Pasul 1.

S-ar putea să vă placă și