Sunteți pe pagina 1din 24

Retele feedforward cu un nivel

Probleme de clasificare
Arhitectura si functionare
Aplicabilitate
Probleme de clasificare. Liniar si neliniar
separabilitate
Perceptronul. Algoritmul de invatare
Retele neuronale - curs 3

Arhitectura
Retea uni-nivel = un nivel de unitati de intrare si un
nivel de unitati functionale
Unitate fictiva
-1

W
Y

X
Vector de
intrare

Interconectivitate
totala

N
unitati
de intrare

Vector de iesire
M unitati functionale
(unitati de iesire)

Retele neuronale - curs 3

Functionare
Notatii:

X ( x1 ,..., x N ) vector de intrare


X (1, x1 ,..., x N )T vector de intrare extins
W (wij )i 1, M ; j 0, N matrice de ponderi
wi 0 pragul de activare al unitatii i
f i functia de activare a unitatii i

Retele neuronale - curs 3

Functionare
Calculul semnalului de iesire:

Varianta scalara : yi f i (

N
j 0

wij x j ), i 1, M

Varianta vectoriala : Y F (W X )
F (u1 ,..., u M ) ( f1 (u1 ),..., f M (u M ))
Obs:
In continuare se va utiliza X in loc de X barat pentru a
desemna vectorul extins
Unitatile de iesire au de obicei aceeasi functie de
activare
Retele neuronale - curs 3

Aplicabilitate
Clasificare:
Problema: sa se determine clasa corespunzatoare unui
obiect descris printr-un set de caracteristici (atribute)
Setul de antrenare contine exemple de obiecte clasificate
corect

Retele neuronale - curs 3

Aplicabilitate
Aproximare (regresie):
Problema: estimarea unei dependente functionale
intre doua marimi
Setul de antrenare contine perechi de valori
asociate celor doua marimi

Retele neuronale - curs 3

Probleme de clasificare
Intrare: vector cu caracteristici
Output: etichete ale claselor
Notiuni de baza:
Spatiu de caracteristici (S): setul tuturor vectorilor cu caracteristici
(sabloane, tipare)
Exemplu: toate reprezentarile literelor
Clasa: submultime a lui S continand obiecte cu with caracteristici
similare
Exemplu: clasa reprezentarilor literei A
Clasificator: sistem care decide carei clase ii apartine un obiect
Exemplu: metoda bazata pe cel mai apropiat vecin (in raport cu
un set de sabloane standard)
Retele neuronale - curs 3

Probleme de clasificare
Vectori cu caracteristici

0 0

1 1

1 0

11 0

0 0

11 0

0 0

11 0

Vector de prezente
a unor proprietati

(Matrice de pixeli)
(0,0,1,0,0,0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0)

(0,1,1,0,0)
Retele neuronale - curs 3

Prezenta unei:
Linii orizontale
Linii verticale
Linii oblice (dreapta)
Linii oblice (stanga)
8
Linii curbe

Probleme de clasificare
O abordare mai formala: un clasificator este echivalent cu o
partitionare a spatiului S pe baza unor functii de decizie

S C1 ... C M R N , Ci C j multimea vida (partitionare)


Di : S R functii de decizie
X C i Di ( X ) 0
sau
X C i Di ( X ) max j 1, M D j ( X )

Retele neuronale - curs 3

Probleme de clasificare
Exemplu: N=2, M=2 (date bidimensionale si doua clase)

Functie de decizie

Retele neuronale - curs 3

10

Probleme de clasificare
In cazul N-dimensional doua clase sunt considerate liniar
separabile daca exista un hiperplan care le separa
D( X ) w1 x1 ... wN x N w0
X C1 D( X ) 0
X C2 D( X ) 0
D( X ) 0 X nu poate fi clasificat
Conceptul de liniar separabilitate poate fi extins pentru mai mult de
doua clase

Retele neuronale - curs 3

11

Probleme de clasificare
Cazul a trei clase:

Regiuni nedefinite
Retele neuronale - curs 3

12

Probleme de clasificare
Obs:
1. O problema de clasificare este considerata liniar
separabila daca exista hiperplane care separa clasele
2. Problemele puternic liniar separabile corespund
situatiilor cand clasele sunt mai clar separate decat in
cazul celor simplu liniar separabile
3. Din punct de vedere aplicativ liniar separabilitatea
exprima faptul ca clasele sunt bine delimitate

Retele neuronale - curs 3

13

Perceptronul simplu

Cea mai simpla retea neuronala utilizata pentru clasificare


Permite clasificare in doua clase liniar separabile

Interpretarea iesirii :
if y=-1 then X apartine
clasei 1
N
if y=1 then X apartine
y sgn( w j x j ) clasei 2

Arhitectura si functionare

j 0

Retele neuronale - curs 3

14

Perceptronul simplu
Algoritmul de antrenare al perceptronului (Rosenblatt)

Set de antrenare: {(X1,d1), (X2,d2), . (XL,dL)} unde Xl un vector


de caracteristici si dl este -1 daca Xl apartine clasei 1 si +1 daca
apartine Clasei 2
Antrenarea este un proces iterativ bazat pe parcurgerea de mai
multe ori a setului de antrenare
La fiecare iteratie, pentru fiecare exemplu l din setul de antrenare,
ponderile sunt ajustate in baza relatiei:

w new
j

daca yl 1 si d l 1

old
l
w

x
j
j

daca yl 1 si d l 1

l
w old

x
j
j

Retele neuronale - curs 3

15

Perceptronul simplu
Algoritmul de antrenare (Rosenblatt)
w new
j

l
w old

x
j
j

w old
j

x j

w new
w old
j
j

daca yl 1 si d l 1
daca yl 1 si d l 1

este echivalent cu

(d l yl ) x lj
2

Ceea ce inseamna ca ponderile se ajusteaza doar daca reteaua da


un raspuns gresit

old
l
w new

d
x
j
j
l j

Retele neuronale - curs 3

16

Perceptronul simplu
Parametrul eta (pasul de corectie sau rata de invatare) este o valoare pozitiva
ce poate fi aleasa astfel incat dupa efectuarea ajustarii corespunzatoare
unui exemplu reteaua sa raspunda corect pt. acel exemplu

W (k 1)T X l d l 0 (W (k ) (k , l )d l X l )T X l d l 0
T

W (k ) X d l (k , l ) X

0 (k , l )

| W (k )T X l |
X

Exemple :

(k , l )

1 | W (k )T X l |
Xl

sau (k , l )

| W (k )T X l |
Xl

Retele neuronale - curs 3

( (0,2); corectie fractionala)

17

Perceptronul simplu
Teorema de convergenta a algoritmului de invatare:
Pentru o problema liniar separabila algoritmul perceptronului
converge dupa un numar finit de pasi la coeficientii unui
hiperplan separator
Obs.
1. Ipoteza de liniar separabilitate este esentiala
2. Aceasta proprietate de convergenta in numar finit de pasi este
unica in domeniul algoritmilor de invatare
3. Valorile initiale ale ponderilor pot influenta numarul de etapa
pana la convergenta insa nu impiedica convergenta in numar
finit de pasi.
Retele neuronale - curs 3

18

Perceptronul multiplu
Clasificare in mai mult de doua clase liniar separabile ( M clase)

Daca clasele sunt puternic liniar separabile atunci se pot utiliza


M perceptroni simpli, cate unul pentru a determina hiperplanul
care separa fiecare clasa de toate celelalte

Daca clasele sunt liniar separabile atunci nu se pot utiliza


perceptroni antrenati independentIf the classes are just linearly
separable then the perceptrons cannot be trained separately. In
this case we should use the so-called multiple perceptron

Retele neuronale - curs 3

19

Perceptronul multiplu
Arhitectura, functionare si interpretarea semnalului de iesire:
N unitati de intrare
M unitati de iesire cu functie liniara de activare (fiecare unitate
de iesire este asociata cu o clasa)
Interpretarea rezultatului:
Indicele unitatii ce produce
iesirea maxima este eticheta
clasei careia ii apartine X
Daca vectorul Y este
X
normalizat (toate valorile sunt
Y=WX
intre 0 si 1 iar suma lor este 1
atunci) atunci iesirile pot fi
interpretate ca probabilitati de
M
apartenenta la clase

Retele neuronale - curs 3

20

Perceptronul multiplu
Algoritmul de antrenare
Set de antrenare: {(X1,d1), .,(XL,dL)} unde dl apartine lui {1,,M}
si este indicele clasei careia ii apartine X l
Pas 1: initializare

Se initializeaza elementele lui W (M linii si N+1 coloane) cu valori


selectate aleator [-1,1]

Se initializeaza contorul de iteratie: k=0


Pas 2: ajustare iterativa
REPEAT
parcurge setul de antrenare si ajusteaza ponderile
k=k+1
UNTIL k=kmax SAU corect=1 (reteaua a invatat setul de antrenare)
Retele neuronale - curs 3

21

Perceptronul multiplu
Parcurgerea setului de antrenare si ajustarea ponderilor.
correct=1
FOR l=1,L do
calcul Y=WXl
Determina i* (inidicele maximului din Y)
IF i* <> dl THEN
Wi* = Wi* - eta*Xl
Wdl=Wdl + eta*Xl

correct=0

ENDIF
ENDFOR

Retele neuronale - curs 3

22

Perceptronul multiplu
Obs:
1. Wi reprezinta linia i a matricii W (X este considerat a fi un vector
linie)
2.

Daca valoarea maxima din Y este prezenta pe mai multe pozitii


atunci i* se poate alege ca oricare dintre ele

3.

Rata de antrenare eta are acelasi rol ca si in cazul


perceptronului simplu

4.

Daca clasele sunt liniar separabile algoritmul converge dupa un


numar finit de pasi

Retele neuronale - curs 3

23

Probleme neliniar separabile


Problema clasificarii este echivalenta cu cea a reprezentarii functiilor booleene:
f:{0,1}N->{0,1}

Pt. probleme liniar


separabile e
suficient un nivel
de unitati
functionale
Pentru probleme
neliniar separabile
este necesar un nivel
ascuns

Retele neuronale - curs 3

24

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