Sunteți pe pagina 1din 8

6.

Analiza componentelor principale


n continuare este prezentat un nou tip de nvare nesupervizat i o aplicaie pentru determinarea componentelor principale ale unui set de date. 1. nvare nesupervizat cu rentrire n continuare elementele constitutive ale reelei sunt asociatorii liniari. O astfel de unitate ofer la ieire suma ponderat a intrrilor i compararea cu un prag nu mai este fcut (fig. 1). x1 x2 xn w1 w2 wn

i=1

wi xi

Fig. 1. Asociator liniar Fie un set de date empirice {x1 ,..., x m } R n . Prima component principal a

acestei mulimi de vectori este un vector w R n care maximizeaz 1 m i=1 (w xi ) 2 . m n fig. 2 este ilustrat un exemplu de distribuie a unor date empirice n R 2 centrat n origine. Dreapta ( d ) este plasat pe direcia de variaie a datelor. Proiecia ortogonal a fiecrui punct pe dreapta ( d ) reprezint o deplasare fa de origine mai mare dect fiecare dintre coordonatele x1 i x 2 ale acelui punct dac punctele sunt suficient de apropiate de dreapt.
x2

x1

(d)

Fig.2. Distribuie a datelor de intrare


1

Fie unghiul format de dreapta ( d ) cu axa absciselor. Dac se face o rotaie de unghi a sistemului de axe de coordonate atunci axa absciselor devine chiar dreapta pe care s-a fcut proiecia i atunci coninutul de informaie al noii axe a absciselor este maximizat. Semnificaia acordat este aceea c proiecia conine mai mult informaie dect fiecare coordonat luat separat. Noua direcie a lui x1 este direcia componentei principale. Pentru a calcula a doua component principal, din fiecare vector x i se scade proiecia lui pe prima component principal. A doua component a setului iniial de date este prima component principal a vectorilor rezultai n acest mod i este ortogonal pe prima. A treia component principal se calculeaz proiectnd fiecare vector pe prima i a doua component i scznd proieciile din acel vector. Prima component principal a vectorilor rezultai este a treia component principal a setului iniial de date. Calculul componentelor principale reduce dimensiunile datelor cu un minim de pierdere de informaie. Relund exemplul din fig.7, fiecare punct poate fi reprezentat de un singur numr care este lungimea proieciei sale pe dreapta ( d ) n locul a dou coordonate x1 i x 2 . Dac informaia urmeaz a fi transmis atunci se va trimite ctre receptor direcia lui ( d ) i mrimile proieciilor. Eroarea de transmisie este diferena ntre datele reale i cele reconstruite. Eroarea asociat unui punct este distana de la fiecare punct la dreapta ( d ). Prima component principal este direcia liniei care minimizeaz suma abaterilor i constituie o potrivire optim peste datele empirice. Dac o mulime de puncte din R 3 sunt plasate pe o linie atunci aceasta este prima component principal i trei coordonate vor fi reprezentate printr-un singur numr. n acest caz nu exist pierderi de informaie pentru c a doua i a treia component principal lipsesc. Analiza componentelor principale este util atunci cnd datele de intrare se calculeaz ntr-o regiune restrns a spaiului de intrare. Exist situaii n care setul de vectori de intrare variaz n timp i atunci calculul componentelor principale poate fi fcut doar adaptiv i pas cu pas. Un algoritm pentru asociatori liniari care calculeaz prima component principal a unui set de date a fost propus de Oja n 1982. Acest algoritm cere ca centroidul datelor s fie plasat n origine, iar dac cerina nu este verificat atunci se realizeaz o translaie a sistemului de axe de coordonate. Algoritm 1. Calculul primei componente principale start: Fie X un set de vectori n R n . Vectorul w este iniializat aleator ( w 0 ). Se alege o valoare a constantei de nvare (0,1] .
2

actualizare:

Se selecteaz aleator un vector x X . Se calculeaz produsul scalar = w x . Se actualizeaz vectorul de ponderi w = w + (x w ) . Se trece la actualizare, micornd .

O posibil condiie de stop ar putea fi realizarea unui numr prescris de iteraii cuplat eventual cu cea de stabilizare a componentelor lui w pentru un numr dat de stadii succesive. Acest algoritm este unul de nvare nesupervizat pentru c prima component principal este determinat prin actualizarea oarb a vectorului de ponderi. Algoritmul normalizeaz automat vectorul de ponderi ceea ce evit comunicarea global care ar fi necesar pentru modificarea fiecrei ponderi. Actualizarea se face folosind doar informaia local pentru c fiecare component a vectorului de ponderi se actualizeaz pe baza ei nsei, a componentei corespunztoare a vectorului de intrare i a produsului scalar produs de asociatorul liniar. 2.Convergena algoritmului lui Oja Pentru a argumenta convergena algoritmului lui Oja, s considerm exemplul din fig 3. Vectorul w este candidat la a fi prima component principal. Dac acesta ar fi poziia lui ntr-o anumit iteraie, atunci urmtorii pai ai algoritmului vor provoca oscilaii ale lui w acesta rmnnd ns n conul definit de x1 ,..., x 4 .

Fig. 3. Componenta principal a unui cluster de vectori S considerm cele trei situaii n care se poate afla lungimea lui w fa de 1. (i) Dac w = 1 atunci = x w reprezint lungimea proieciei lui x pe w . Vectorul x w este normal la w deoarece (x w ).w = w = 0 .
3
2

Iteraia curent a algoritmului atrage pe w ctre un vector din cluster. Dac se poate garanta c lungimea lui w rmne egal sau apropiat de 1, atunci efectul algoritmului este aducerea lui w n mijlocul clusterului. (ii) Dac w > 1 , pentru a justifica normalizarea lui w fcut implicit de algoritm, s considerm cazul din fig. 4(a). n acest caz, vectorul (x w) w are lungimea mai mare dect lungimea proieciei ortogonale a lui x pe w , adic (x w) w = x w w > x w . S presupunem c = x w > 0 , adic vectorii x i w nu sunt foarte ndeprtai. Vectorul x w are o component normal pe w i alta coliniar opus cu w . Proiecia vectorului x (x w) w pe w este negativ pentru c w > 1 implic (x w) w = x w x w w < 0. S evalum efectul mai multor iteraii de acest fel. Iteraii succesive aduc pe w n mijlocul clusterului de vectori astfel nct, n medie, componentele normale au tendina de a se anula. Totui, componenta negativ nu se anuleaz dac w este de lungime mai mare ca 1. Aadar, efectul iteraiilor este poziionarea corect a lui w i micorarea acestuia. Tendina de micorare prea accelerat a lui w sau cea de a-i inversa direcia ntr-o singur iteraie trebuie evitat i aceasta se realizeaz prin setarea lui la valori att de mici ct este necesar. Constanta de nvare poate de asemenea ajuta la normalizarea vectorilor de intrare naintea startrii algoritmului. Astfel, dac pentru un vector x avem = x w > 0 atunci ar fi preferabil ca noul vector w s dea de asemenea un produs scalar pozitiv cu x , adic x(w + (x w )) > 0 sau 2 x w + x 2 x w > 0 de unde obinem 2 x 2 > 1 .
2

Cum este pozitiv i mic, el poate fi ales astfel nct ultima inegalitate s fie verificat indiferent de semnul lui x 2 .
2

( x.w) w (x .w) w x -( x.w) w x

x-( x.w)w

x-(x.w)w

-( x.w) w

(a) Fig. 4. Cazuri n algoritmul lui Oja

(b)

(iii) Cazul w < 1 este exemplificat n fig. 4(b). Acum vectorul x (x w) w are o proiecie pozitiv pe w . Dup mai multe iteraii componenta normal a vectorului x (x w) w va deplasa pe w n centrul clusterului iar faptul c proiecia lui pe w este pozitiv face ca mrimea lui w s fie mai mare. Combinnd cele dou cazuri, conchidem c efectul algoritmului este aducerea lui w n centrul clusterului n timp ce w oscileaz n jurul lui 1 pentru un suficient de mic. Ajuns ntr-o astfel de stare i dac soluia problemei este unic atunci w oscileaz ca direcie i lungime n jurul unei astfel de poziii de echilibru. Dac ns densitatea vectorilor n clustere este redus, sau lungimile vectorilor de intrare prezint diferene mari, valorile lui w la iteraii diferite pot fi sensibil diferite de valoarea medie a lui w . n [Jol86] se arat c prima component principal a unui set de vectori are aceeai direcie cu vectorul propriu cu cea mai mare lungime a matricei de corelaie i c algoritmul lui Oja ofer o aproximaie a acestei direcii. 3.Componente principale multiple O arhitectur capabil s determine primele m componente principale ale unui set de date se poate construi folosind m asociatori liniari conectai n serie. Primul asociator liniar ofer o aproximare pentru prima component principal w1 i apoi scade din fiecare vector de intrare proiecia acestuia pe w1 . Rezultatele intr n al doilea asociator care opereaz analog gsind a doua component principal .a.m.d. Cazul m = 2 este ilustrat n fig. 5. Reprezentarea sugereaz c al doilea operator poate opera asupra datelor de intrare folosind valori intermediare ale lui w1 deci activitatea lui poate
5

ncepe nainte ca primul asociator s fi produs varianta final a lui w1 . Extinznd aceasta ctre urmtorii asociatori, cei m asociatori pot opera simultan i anticipat folosind valori intermediare ale vectorilor de ponderi cutai w1 ,..., w m , cu meniunea c activitatea unitii i poate fi oprit doar dup ce vectorii w1 ,..., w i i-au stabilizat componentele. Ponderile reelei sunt determinate folosind algoritmul lui Oja pe fiecare nivel al acesteia.
x _ x _1w1 _ w w x _ 1 1 _ 2 2 _ w3 w3 w 2 w 2 w1 w1 + * + * + * 1

Fig. 5. Reea de asociatori liniari pentru calculul primelor trei componente principale 4. Aplicaii ale nvrii nesupervizate
4.1. Recunoaterea caracterelor prin nvare nesupervizat

nvarea nesupervizat se poate utiliza atunci cnd numrul de clustere n care trebuie grupai vectorii de intrare este cunoscut a priori. O astfel de situaie este n cazul recunoaterii caracterelor. Restrngnd situaia la cifre s presupunem c cifrele 0,...,9 care pot s apar ntr-un document sunt scanate i centrate n ferestre de 16x16 pixeli. Un pixel negru este valorizat cu 1 iar unul alb cu -1, deci fiecare liter se codific cu un vector cu 256 de componente. Imaginile pot fi perturbate de zgomot deci unii pixeli pot primi valori diferite de cele corecte. Presupunnd c numrul de astfel de erori este rezonabil, vectorii de intrare ce se refer la aceeai cifr formeaz un cluster unic asociat cifrei respective. Reeaua ar avea nevoie de 10 uniti diferite. Ponderile fiecrei uniti se pot iniializa aleator i nvarea nesupervizat poate fi folosit pentru a stabili valorile adecvate pentru vectorii de ponderi. n general, evitarea confuziilor ntre caractere asemntoare se poate face
6

folosind o rezoluie mai bun la scanare i mrind corespunztor dimensiunea ferestrei.


4.2. Compresia imaginilor

Pentru a transmite o imagine de 1024x1024 de pixeli cu dou nuane de gri este necesar un numr de 2 20 bii. Imaginile nu sunt n ntregime aleatoare ci au o structur care poate fi analizat din perspectiva compresiei nainte de a fi transmis. S presupunem c o imagine este divizat n 128x128 de ferestre de 8x8 pixeli. Fiecare fereastr poate conine 2 64 imagini diferite pe care s presupunem c dorim s le mprim n 64 de clase. Pentru aceasta se construiete o reea nesupervizat cu 64 de intrri binare care se va antrena pentru modele de 8x8 pixeli, extrase din imaginile ce urmeaz a fi transmise i nu din ntregul set de 2 64 de modele posibile. Vectorii de ponderi ai celor 64 de uniti constituie cartea de coduri a transmisiei i aceasta va fi utilizat att de cel care emite ct i de cel care recepioneaz informaia. Pentru fiecare cmp din cele 128x128 de ferestre n care este partiionat imaginea, se va transmite numele vectorului de cod aflat la distan minim de cmpul respectiv. Cum sunt 64 de clustere diferite se va transmite o secven de 6 bii n locul uneia de 64 cifre binare, deci de 10.66 de ori mai puini bii. Imaginea reconstruit poate conine unele erori dar acestea vor fi minime deci s-a gsit o soluie bun de clustering i numrul de clustere nu este prea sczut. Exemple de vectori de ponderi reprezentativi pentru clustere asociate sunt date n fig. 6. Raportul de compresie i implicit calitatea imaginii reconstruite se poate modifica variind numrul de vectori de codificare adic de clustere.

Fig. 6. Exemple de elemente din cartea de coduri


7

Exerciii. 1. Introducei n algoritmul de nvare competitiv un mecanism pentru evaluarea frecvenei de actualizare a vectorilor de ponderi i inserai n algoritm o etap de echilibrare n care vectorii de ponderi s fie ordonai cresctor cu frecvena de actualizare i . n timpul aplicrii pasului de test favorizai alegerea vectorilor de ponderi clasai la nceputul listei pn cnd se obine o echilibrare a frecvenelor de actualizare. 2.O reea poate fi antrenat pentru a clasifica caractere utiliznd un arbore de decizie. Propunei o astfel de arhitectur pentru o astfel de reea i o tehnic de antrenare. Bibliografie [Jol86] Jollife, I., Principal Component Analysis, Springer Verlag, New York, 1986

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