Sunteți pe pagina 1din 7

4.2.2.Convergena algoritmului de nvare a perceptronului Faptul c algoritmul funcioneaz corect este enunat n: Propoziia 1.

Dac mulimile P i N sunt finite i liniar separabile, algoritmul de nvare a perceptronului actualizeaz vectorul ponderilor w t de un numr finit de ori, mai precis, dac vectorii din P i N sunt testai n mod ciclic unul dup altul, atunci se gsete un vector w t care separ cele dou mulimi dup un numr finit de pai t .

Demonstraie. Fr a restrnge generalitatea vom face urmtoarele simplificri: a)Mulimile P i N se pot combina ntr-o singur mulime P' = P N unde N ' = {x / x N } . b)Vectorii din P' pot fi normalizai, pentru c vectorul de ponderi w , trebuie s verifice condiia w x > 0 i condiia se pstreaz dac un vector x se nlocuiete cu x , unde este o constant pozitiv. c)Vectorul de ponderi se poate normaliza din aceleai motive. Vom cu w* un vector ce constituie o separare absolut i are norma unitar (soluie normalizat). S presupunem c dup pasul t + 1 s-a calculat w t +1 . Aceasta s-a fcut pentru c n etapa t un vector p i a fost incorect clasificat prin separarea indus de w t , deci w t +1 = w t + p i . Cosinusul unghiului ntre w t +1 i w * este dat de
cos = w * w t +1 w t +1 (8)

deoarece w * = 1 .

Dar

w * w t +1 = w * (w t + p i ) = w * w t + w * p i w * w t + ,
*

unde

= min{w p/p P' } .


Deoarece w * corespunde unei absolute separri a mulimilor P i N rezult c w *p > 0 , () p P' . Aplicnd succesiv ultima inegalitate ctre valori descresctoare ale lui t rezult c w * w t +1 w * w 0 + (t + 1) (9) Pentru numitorul relaiei (8) avem c 2 2 2 w t +1 = (w t + p i ) (w t + p i ) = w t + 2w t p i + p i

10

Dar produsul scalar w t p i 0 pentru c s-a aplicat o corecie cu vectorul pi , deci w t +1


2

wt

+ pi

= wt

+1

unde a doua majorare s-a fcut pentru c toi vectorii din P ' sunt normalizai. Rezult c 2 2 w t +1 w 0 + t + 1 . (10) Aplicnd inegalitile (9) i (10) n relaia (9) urmeaz c w * w 0 + (t + 1) cos . 2 w0 + t + 1 Cum > 0 , dac t ar fi nemrginit, ar rezulta c membrul doi al ultimei inegaliti nu este mrginit superior, dar aceast fapt este ns absurd deoarece cos 1 . Deci numrulul de corecii ale vectorului de ponderi este finit. 4.2.3.Accelerarea convergenei S considerm cazul unui perceptron care trebuie s calculeze funcia boolean OR cu dou variabile. Vectorul de intrare (1,1) trebuie s produc 1 la ieire. S presupunem c pragul perceptronului este egal cu 1, aa c rmn de determinat dou ponderi w1 i w2 care trebuie s verifice i condiia 1 * w1 + 1 * w2 1 iar neverificarea acesteia va conduce la creterea erorii de clasificare. n fig. 8(a) este artat o poriune din graficul funciei de eroare ce cuprinde domeniul care intersecteaz dreapta de ecuaie w1 + w2 = 1 . Aplicarea coreciei cu vectorul (1,1) asupra vectorului curent de ponderi situat pe palierul cu valori ale funciei de eroare egale cu 1, va duce la coborrea pe platoul inferior n direcia vectorului (1,1) care este ortogonal direciei dreptei w1 + w2 = 1 . Acsta se face adunnd vectorul (1,1) la w t . Dac vectorul de intrare nu are norma suficient de mare comparativ cu cea a vectorului w t , atunci s-ar putea s fie necesare mai multe corectii cu acel vector, aa cum s-ar ntmpla dac n locul lui (1,1) s-ar aplica corecia cu vectorul (0.1,0.1) care are aceeai direcie cu (1,1) dar norma de zece ori mai mic dect a acestuia (fig. 8(b)).

11

eroare

w2 (1,1)

wt wt+1 w1 (a)

w2

(0.1,0.1) w1 (b)

Fig. 8. Corecii aplicate n cazul funciei OR

Aa cum s-a prezentat anterior, n cadrul iteraiei t a algoritmului de nvare a perceptorului, dac un vector x P este clasificat eronat atunci w t x 0 . Eroarea de clasificare poate fi definit ca = w t x 0 . Consecina existenei unei astfel de erori este aplicarea unei corecii asupra lui w t , dat de w t +1 = w t + x prin care vectorul de intrare atrage ctre el vectorul ponderilor. Aa cum am constatat n exemplul anterior, dac vectorul x are componente mici n raport cu w t atunci efectul unei corecii poate fi insuficient i atunci este posibil s fie necesar aplicarea mai multor corecii mici. Ne intereseaz s scalm vectorul x cu un factor adecvat i apoi s aplicm corecia. Este de dorit ca factorul de scalare s fie astfel nct o singur aplicare a coreciei cu x s-l plaseze pe x , semi-spaiul pozitiv. Fie > 0 i s schimbm actualizarea lui w t +1 ca fiind w t +1 = w t + x . Considend un > 0 i impunnd condiia w t +1 x = obinem c 2 (w t + x) x = w t x + x i deci 2 + x = de unde rezult + = . 2 x

12

Clasificarea corect a lui x va fi acum asigurat pentru orice > 0 . O valoare prea mare a lui poate conduce la un salt al vectorului de ponderi peste o depresiune a suprafeei erorii. Acest amendanement conduce la o nvare corectiv. Vectorul de ponderi nu este doar modificat pentru a-l considera mai bine pe x , ci definit astfel nct corecteaz eroarea de clasificare gsit. O variant a acestui amendament const n definirea lui w t +1 ca w t +1 = w t + ( + )x unde este o constant numit factor de nvare. Pe msur ce nvarea avanseaz trebuie s primeasc valori din ce n ce mai apropiate de zero. 4.2.4.Un algoritm probabilistic Atunci cnd mulimile P i N nu sunt liniar separabile algoritmul de nvare a perceptronului nu se termin. n situaiile n care nu exist o perfect separare liniar, determinarea unei separri liniare care clasific corect un numr ct mai mare de vectori este de un real interes. O variant a algoritmului anterior asigur acest lucru prin memorarea celui mai bun vector de ponderi gsit pn la un moment dat n timp ce algoritmul continu modificarea ponderilor. Dac se gsete un vector de ponderi pentru care numrul de clasificri corecte este mai mare dect numrul corespunztor ponderilor memorate, acest nou vector de ponderi ia locul celui pstrat. Algoritmul 2
start:

Se iniializeaz vectorul de ponderi w aleator. Vectorul pstrat w p este setat cu w . Se iniializeaz hs = 0 , unde hs este egal cu numrul de iteraii n care ws a rezistat fr schimbri.

itereaz:

Se actualizeaz w folosind o singur iteraie din algoritmul de nvare a perceptronului. Se ine evidena numrului h de vectori succesivi iterai cu succes. Dac la un moment dat are loc h > hs atunci vectorul curent de ponderi w ia locul lui w s iar hs se nlocuiete cu h .

Este posibil ca algoritmul s schimbe un vector bun cu unul mai slab cnd cel mai slab a rezistat mai mult, datorit faptului c alegerea aleatoare a vectorului de testat n iteraia de baz a algoritmului de nvare a perceptronului poate aplica testul aceluiai vector de mai multe ori
13

consecutiv. Probabilitatea s aib loc o astfel de situaie devine din ce n ce mai mic pe msur ce numrul de iteraii crete [Roj96]. n [152] se arat c dac coordonatele vectorilor ce trebuie separai i ponderile sunt raionale i mulimea vectorilor de intrare este finit atunci algoritmul de mai sus converge la soluia optim cu probabilitatea 1. 4.2.5.Complexitatea instruirii perceptronului Algoritmul de nvare a perceptronului determin o nou direcie de cutare n spaiul strilor pe baza ultimului vector testat pentru care a fost detectat o clasificare eronat. Din acest punct de vedere el nu folosete informaia global a funciei de eroare, constituind o tehnic de cutare local. Aceasta poate conduce la un numr exponenial de iteraii.
w2 1 1 iteratii w0 2 w1

eroare nula

Fig.9. Un caz defavorabil pentru invarea perceptronului O astfel de situaie defavorabil este ilustrat n fig.9. Mulimea de ponderi pentru care funcia de eroare ia valoarea zero este cuprins ntre laturile unui unghi mic. Dac valoarea iniial a vectorilor ponderilor este plasat n regiunea de valori 1 atunci drumul urmat de valorile wt , t 1 poate fi n zigzag datorit faptului c n cadrul fiecrei iteraii, alternativ, n timp ce un vector devine clasificat corect alt vector va fi clasificat incorect i drumul trece dintr-o regiune cu valori 1 ctre o alt regiune cu valori 1. Algoritmul converge dup un numr de iteraii care poate fi mai mare dac unghiul dintre cele dou drepte se micoreaz. Cauza unui astfel de comportament este artat n fig. 10 unde doi vectori din spaiul de intrare sunt aproape antiparaleli. Algoritmul de nvare a perceptronului rotete linia de separare alternativ spre direcia unui vector, va executa un numr de iteraii cu att mai mare cu ct unghiul dintre cei doi vectori este mai apropiat de 1800.

14

x2

x1

Fig. 10. Doi vectori de intrare ntr-o situaie defavorabil 4.2.6.Complexitatea separabilitii liniare Ca n demonstraia convergenei algoritmului de nvare a perceptronului, cele dou mulimi P i N care trebuie separate liniar sunt combinate n mulimea P ' = P N unde N = {x / x N } . Dac P' = {y 1 ,..., y m } atunci condiia de separabilitate liniar const n determinarea unui vector de ponderi w R n pentru care w y i > 0 , i = 1,..., m . Dac construim matricea A de tip m n n care linia i este vectorul y i atunci sistemul de inecuaii anterior se poate scrie sub forma matriceal Aw > 0 cu 0 = (0,...,0) . Fr a restrnge generalitatea, se poate presupune c elementele matricei A sunt numere raionale. Aceast ipotez este justificat de faptul c reprezentrile finite ale numerelor din calculator conduc la numere raionale. Faptul c exist o soluie a sistemului Aw > 0 poate fi decis n timp polinomul folosind metode elipsoidale aa cum este artat n demonstraia teoremei 4.18 din [KV00]. Din punct de vedere practic ns, se aplic metodei simplex care poate decide dac sistemul adus prin transformri echivalente la forma standard are o soluie admisibil i eventual s gseasc o soluie care minimizeaz o funcie obiectiv de forma e w , unde e este un vector constant dat.

15

[KV00] Korte, B., Vygen, J., Combinatorial Optimization- Theory and Algorithms, Algorithms and Combinatorics, no.21, Springer Verlag, Berlin, 2000. [Gal90] Gallant, S., (1990)Perceptron based learning algorithm, IEEE Transactions on Neural Networks, vol. 1, no. 2, pp. 179-191

16

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