SlideShare ist ein Scribd-Unternehmen logo
1 von 82
Downloaden Sie, um offline zu lesen
Inteligență artificială
12. Rețele neuronale (II)
Florin Leon
Universitatea Tehnică „Gheorghe Asachi” din Iași
Facultatea de Automatică și Calculatoare
http://florinleon.byethost24.com/curs_ia.htm
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
2
Rețele neuronale (II)
1. Mașini cu vectori suport
2. Rețele cu auto-organizare
2.1. Învățarea hebbiană
2.2. Algoritmul Kohonen
3. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
3
Rețele neuronale (II)
1. Mașini cu vectori suport
2. Rețele cu auto-organizare
2.1. Învățarea hebbiană
2.2. Algoritmul Kohonen
3. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
4
Mașini cu vectori suport
 engl. “Support Vector Machines”, SVM
 Boser, Guyon & Vapnik (1992)
 Vapnik (1995)
 Devenite populare datorită succesului în
recunoașterea cifrelor scrise de mână
 Eroare de 1,1% pe mulțimea de test
 Fundament teoretic solid
 Performanțe experimentale foarte bune
 Mașinile cu vectori suport reprezintă una dintre cele mai
bune metode de învățare din prezent
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
5
Limitele suprafețelor de decizie
 Să considerăm o problemă
de clasificare liniar
separabilă cu două clase
 Există multe limite de
separație posibile
 Algoritmul de învățare al
perceptronului poate găsi
astfel de limite
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
6
Limitele suprafețelor de decizie
 Pot exista mai multe limite de separație
 Care este cea mai bună?
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
7
Margini mici
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
8
Margine mare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
9
Limite de decizie cu
margini mari
 Limita de decizie
trebuie să fie cât
mai departe de
datele din ambele
clase
 Marginea m trebuie
maximizată
h = –1
h = 1
h(x) = g(wTx + b)
1, dacă z ≥ 0
–1, dacă z < 0
g(z) =
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
10
Vectori suport
Vectori suport
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
11
Normalizarea
 h(x) = g(wTx + b); g(z) este –1 sau 1
 Doar semnul lui (wTx + b) contează,
nu și valoarea
 Putem normaliza ecuațiile (constrângerile)
astfel ca în limitele care trec prin vectorii
suport ai celor două clase, wTx + b să fie 1,
respectiv –1
 Pentru toate punctele celor două clase:
 wTxi + b ≥ 1 dacă yi = 1
 wTxi + b ≤ –1 dacă yi = –1
de exemplu: w1 ∙ x1 + w2 ∙ x2 + b
yi este clasa instanței i
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
12
Normalizarea
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
13
Marginea
 Marginea m este proiecția distanței dintre doi
vectori suport x1 și x2 pe direcția vectorului w
 Valoarea lui m se poate obține de exemplu
scăzând ecuațiile lui x1 și x2
 w ∙ x1 + b = –1
 w ∙ x2 + b = 1
 w ∙ (x2 – x1) = 2
 m = w / ‖w‖ ∙ (x2 – x1) = 2 / ‖w‖
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
14
Marginea
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
15
Determinarea marginii
 Trebuie determinați w și b astfel încât
marginea m = 2 / ‖w‖ să fie maximă
pentru toate instanțele { xi , yi }
 Respectând constrângerile:
 wTxi + b ≥ 1 dacă yi = 1
 wTxi + b ≤ –1 dacă yi = –1
 Adică:
 yi ∙ (wTxi + b) ≥ 1
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
16
Determinarea marginii
 O formulare mai bună a problemei de optimizare:
 Minimizarea lui ½ ‖w‖2, respectând aceleași constrângeri
 Problemă de optimizare cuadratică
 Se poate rezolva cu metode tipice de optimizare,
inclusiv cu algoritmi evolutivi
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
17
Determinarea marginii
 Dar...
 SVM este în general utilizat pentru clasificarea
unor date cu foarte multe dimensiuni
 De exemplu, în clasificarea textelor sau detecția
spam-ului, frecvențele de apariție ale cuvintelor
sunt atributele
 Posibil mii de atribute
 Teoretic, w poate fi infinit dimensional
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Problema primară
18Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
19
Dualitatea Lagrange
 Rezolvarea problemei anterioare de
optimizare (problema primară) este
echivalentă cu rezolvarea problemei duale
Lagrangian Multiplicatori
lagrangieni
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
20
Condițiile Karush-Kuhn-Tucker
 Există w*, α* și β* (soluțiile problemei
primare, respectiv duale), astfel încât:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Formularea problemei duale
 Aplicăm condițiile Karush-Kuhn-Tucker (diferențialele
în raport cu w și b să fie 0) :
21Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Formularea problemei duale
 Înlocuind aceste relații în formula de mai sus,
vom avea:
22Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
23
Problema duală
Se determină αi
și apoi se pot calcula w și b
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
24
Avantaj
 Prin rezolvarea problemei duale se determină
αi ≥ 0
 De fapt, toți αi sunt 0 cu excepția
multiplicatorilor corespunzători vectorilor
suport
 Numărul vectorilor suport este mult mai mic
decât numărul instanțelor: nvs ≪ n
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
25
Transformarea datelor
Clasele nu sunt
liniar separabile
zk = (xk, xk
2)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
26
Transformarea datelor
Clasele nu sunt
liniar separabile
Clasele devin liniar separabile într-un
spațiu cu mai multe dimensiuni
Spațiul atributelor
Spațiul trăsăturilor
(engl. “features”)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
27
Nuclee
 Transformarea în trăsături (engl. “feature
mapping”)
 Nucleu (engl. “kernel”)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
28
Trucul nucleului
 engl. “kernel trick”
 Cantitatea necesară pentru clasificare este:
 Folosind un nucleu:
Calculele depind doar
de perechi (x1,x2)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
29
Trucul nucleului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
30
Trucul nucleului
 Deoarece calculele se fac doar în perechi,
nu este nevoie să calculăm explicit
trăsăturile instanțelor
 Calcularea nucleului unei perechi de
instanțe poate fi mult mai simplă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
31
Nuclee uzuale
 Nucleul liniar
 Nucleul polinomial
 Nucleul RBF
 Nucleul sigmoid
 Uneori nu este valid (vezi teorema lui Mercer)
 Parametri: γ > 0, d, r
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
32
Interpretare
 Intuitiv, un nucleu poate fi interpretat ca o măsură a
similarității dintre cele două argumente
 Nucleul liniar
(produsul scalar)
 Nucleul RBF
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
33
Exemplu
 Clasificarea proteinelor: șiruri de aminoacizi codificați
prin caractere
 Fie ϕ(x) o funcție care numără aparițiile fiecărei
secvențe de lungime k în șirul x
 ϕ(x) este un vector cu 20k dimensiuni (există 20 de
aminoacizi standard)
 Pentru subșiruri mici de 5 caractere, vom avea
aproximativ 3 milioane de dimensiuni
 Totuși, nucleul poate implementa un algoritm eficient
de “string matching”
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
34
Nuclee valide
 Folosind doar nucleul, nu mai este nevoie să
calculăm funcția ϕ
 Nucleul ar putea avea orice formă
 Trebuie să respecte însă condiția:
K(x,z) = ϕ(x)T ϕ(x)
chiar dacă nu cunoaștem sau nu ne interesează
forma lui ϕ
 Fie matricea nucleului K o matrice în care
elementele Kij = K(x(i), x(j))
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
35
Teorema lui Mercer
 Condiția necesară și suficientă pentru ca un
nucleu real să fie valid este ca matricea
nucleului să fie simetrică și pozitiv
semidefinită:
 Kij = Kji
 zT ·K·z ≥ 0, z
 Intuitiv, un nucleu pozitiv semidefinit doar
deformează, nu împăturește spațiul
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
36
Cazurile neseparabile liniar
 În unele cazuri, datele nu sunt separabile liniar nici după
transformările prezentate anterior
 sau datele prezintă valori extreme (engl. “outliers”) care
influențează marginea optimă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
37
Probleme neseparabile liniar
 Putem permite existența unor erori ξi în clasificare
 Hiperplanul are acum o margine flexibilă (engl. “soft margin”)
 ξi se numesc variabile de decalaj (engl. “slack variables”)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
38
Probleme neseparabile liniar
 Problema de optimizare primară devine:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
39
Parametrul C
 Parametrul de cost C este o măsură a erorii admise în clasificare
 C controlează compromisul dintre a permite erori pe mulțimea
de antrenare și a forța margini stricte
 Creșterea valorii lui C mărește costul clasificării greșite a
instanțelor și determină crearea unui model mai precis, dar care
poate să nu generalizeze bine
 Dacă C este mare, marginea de separare va fi mai mică
 Dacă C este mic, marginea de separare va fi mai mare
 Valoarea lui C trebuie aleasă de utilizator și depinde de
problemă
 De multe ori, C se alege prin încercări repetate, de exemplu:
10–5, 10–3, 0.1, 1, 10, 100, 103, 105
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
40
Problema duală
 Oarecum surprinzător, termenii ξi nu apar în problema duală
 Contează numai parametrul C care limitează multiplicatorii αi
 Pentru instanțele neclasificabile, multiplicatorii ar crește
foarte mult și ar determina și apariția unor vectori suport
suplimentari (cu αi > 0)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Algoritmul SMO
 Sequential Minimal Optimization (Platt, 1999)
 Scopul său este rezolvarea problemei duale de
optimizare (determinarea αi)
 Este rapid și deci foarte potrivit pentru optimizarea
problemelor de dimensiuni mari cu care lucrează de
obicei SVM
 Biblioteci pentru SVM: SVM-light, LibSVM
41Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Ideea de bază a SMO
 Optimizarea este asemănătoare metodei “hill climbing”
 Se ajustează succesiv câte 2 multiplicatori αi
42Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
43
Exemplu
 Să presupunem că avem 5 instanțe unidimensionale
 x1=1, x2=2, x3=4, x4=5, x5=6, cu 1, 2, 6 din clasa 1 și
4, 5 din clasa 2  y1=1, y2=1, y3=–1, y4=–1, y5=1
 Folosim nucleul polinomial de grad 2
 K(x, z) = (x ∙ z + 1)2
 Setăm C = 100
 Mai întâi determinăm αi (i = 1, …, 5) prin
și constrângerile:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
44
Exemplu
 Rezolvând problema de optimizare, obținem:
 α1 = 0, α2 = 2.5, α3 = 0, α4 = 7.333, α5 = 4.833
 Constrângerile sunt satisfăcute
 Vectorii suport sunt: { x2 = 2, x4 = 5, x5 = 6 }
 Funcția discriminant este:
 b se determină prin rezolvarea f(2)=1 sau f(5)=–1 sau
f(6)=1, deoarece x2 și x5 sunt pe linia
iar x4 este pe linia
 Toate trei dau b=9 
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
45
Exemplu
Funcția discriminant
1 2 4 5 6
clasa 2 clasa 1clasa 1
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
46
Clasificarea cu clase multiple
 Mașinile cu vectori suport clasice permit
rezolvarea problemelor binare (cu numai
2 clase)
 Pentru a trata mai multe clase există mai
multe metode, dintre care cele mai des
folosite sunt:
 Abordarea „una versus toate”
 Abordarea „una versus una”
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
47
Una versus toate
 “one-versus-all” / “one-against-all”
 Pentru k clase, se creează k modele
 În modelul cu numărul i, SVM este antrenat cu instanțele
din clasa i ca exemple pozitive și toate celelalte instanțe
(din celelalte clase) ca exemple negative
 Pentru a clasifica o nouă instanță, se apelează toate cele
k modele și se alege clasa cu funcția de decizie maximă:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
48
Una versus una
 “one-versus-one” / “one-against-one”
 Pentru k clase, se creează k ∙ (k – 1) / 2 modele
corespunzătoare tuturor perechilor de clase
 Pentru a clasifica o nouă instanță, se apelează toate
modelele și fiecare model dă un vot pentru apartenența
la o clasă
 Se alege în final clasa care are cele mai multe voturi
 Antrenarea poate fi mai rapidă pentru că mulțimile de
antrenare sunt mai mici
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
49
Generalizarea
 S-a demonstrat că probabilitatea de eroare așteptată pentru
mulțimea de test este mărginită:
 E[x] = valoarea așteptată pentru x
 nvs = numărul de vectori suport
 P(e) = probabilitatea erorii
 l = dimensiunea mulțimii de antrenare
 Capacitatea de generalizare crește cu cât numărul de vectori
suport este mai mic și mulțimea de antrenare mai mare
 Rezultatul este independent de numărul de atribute al
instanțelor (de dimensiunea spațiului problemei)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
50
Discuție
 Principalele probleme care apar la lucrul cu
SVM sunt legate de:
 Stabilirea nucleului și a parametrilor săi
 Stabilirea parametrului de cost C
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
51
Rețele neuronale (II)
1. Mașini cu vectori suport
2. Rețele cu auto-organizare
2.1. Învățarea hebbiană
2.2. Algoritmul Kohonen
3. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
52
Învățarea nesupervizată
 Nu există nicio informație despre ieșirea
dorită
 Algoritmul trebuie să descopere singur
relațiile de interes din datele de intrare
 Modele, regularități, corelații
 Relațiile descoperite se regăsesc în ieșire
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
53
Învățarea hebbiană
 Legea lui Hebb (1949)
 Dacă doi neuroni conectați sunt activați în același
timp, ponderea conexiunii dintre ei crește
 Dacă doi neuroni sunt activați în contratimp,
ponderea conexiunii dintre ei scade
 “Neurons that fire together, wire together”
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
54
Învățarea hebbiană
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Intrări multiple
55
Neuronul hebbian implementează o măsură de similaritate în
spațiul de intrare
O ieșire y mare înseamnă că intrarea curentă este similară cu
vectorul de antrenare x care a creat ponderile
Rețeaua își amintește vectorul de antrenare, deci se comportă
ca o memorie asociativă
Modelele liniare sunt
des întâlnite la
învățarea hebbiană
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Instabilitatea
56
≥ 0
⇒ Ponderile vor crește nelimitat
n este epoca
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Regula lui Oja
57
Este o normalizare a regulii hebbiene.
Noua valoare a unei ponderi se
împarte la norma vectorului de
ponderi. Dacă o pondere crește,
celelalte trebuie să scadă.
Regula lui Oja este o formulă care aproximează normalizarea:
Ponderile nu mai cresc nelimitat, dar rețeaua uită asocierile vechi. Dacă un vector
de antrenare nu este prezentat frecvent, va fi uitat.
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Regula lui Oja și analiza
componentelor principale
58
direcția
principală
direcția
secundară
întinderea
maximă
întinderea
minimă
Regula lui Oja determină un versor de ponderi w
coliniar cu componenta principală a datelor de intrare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Rețea PCA
59
engl. “Principal Component Analysis”, PCA
Regula lui Sanger determină toate
componentele principale, care converg
succesiv:
Ponderile reprezintă cei
M vectori de dimensiune D
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Discuție
 PCA este o metodă de reducere a
dimensionalității sau de compresie a datelor
 Prin selectarea proiecțiilor pe cele mai
importante M dimensiuni, din cele D ale
spațiului de intrare, cu M ≤ D, se păstrează
cele mai importante caracteristici ale datelor
60Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
61
Rețele neuronale (II)
1. Mașini cu vectori suport
2. Rețele cu auto-organizare
2.1. Învățarea hebbiană
2.2. Algoritmul Kohonen
3. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
62
Algoritmul Kohonen
 engl. “Self-Organizing Map”, SOM
 Harta (transformarea) cu auto-organizare
 Kohonen, 1982
 Algoritm de învățare nesupervizată competitivă
 Neuronii concurează pentru a fi activați
 Învingătorul ia totul
 Bazat pe ideea corespondențelor dintre intrările
senzoriale și diferitele regiuni ale cortexului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
63
Cortexul uman
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
64
Modelul Kohonen
spațiul de intrare
n-D
spațiul de ieșire
2D (sau 1D)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
65
Conexiunile laterale
 Între neuroni există
conexiuni laterale
 Activarea unui neuron
provoacă inhibiții sau
excitații laterale altor
neuroni, în funcție de
distanța dintre aceștia
 Funcția „pălărie
mexicană”
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Învățarea (I)
 Neuronii sunt dispuși într-o structură regulată:
matrice (2D) sau vector (1D)
 Ponderile fiecărui neuron sunt inițializate aleatoriu
 Ponderile au aceeași dimensionalitate ca datele de
intrare
 Fiecare neuron poate fi reprezentat ca un punct în
spațiul n-dimensional al intrărilor, în funcție de
valorile ponderilor sale
66Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
67
Învățarea (II)
 Pentru fiecare vector de intrare, se determină
în spațiul de intrare cel mai apropiat neuron,
conform ponderilor acestuia
distanța euclidiană
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
68
Învățarea (III)
 Se determină vecinii neuronului câștigător în
spațiul de ieșire
funcția „pălărie mexicană” simplificată
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
69
Învățarea (IV)
 Doar pentru neuronul câștigător și neuronii
din vecinătatea lui, se actualizează ponderile
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
70
Efect
 Ponderile neuronului
(neuronilor) câștigători
se deplasează puțin
către vectorul de intrare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
71
Parametri
 Rata de învățare α are o valoare mică pozitivă
(de exemplu 0.1 - 0.5)
 Mărimea vecinătății Λj
 Alegerea statică: de exemplu 2
 Alegerea dinamică: la început dimensiunea este
jumătate sau o treime din dimensiunea stratului
de ieșire (care poate fi de exemplu 10x10 sau
20x20) și apoi scade treptat. De exemplu, după
10 epoci, dimensiunea scade cu 1
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
72
Vecinătăți topologice
1D
2D
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
73
Exemple 2DExemplu 2D
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
74
Exemplu 1D
Proiecție 2D → 1D
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
75
Alte exemple
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
76
Exemplu de vizualizare
 Nivelul de trai în diferite țări
 Harta nu arată nivelurile propriu-zise, ci similaritatea lor:
țările cu nivel de trai asemănător au culori apropiate
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
77
Proprietăți
 Reducerea dimensionalității
 Poate transforma un spațiu n-dimensional
într-un spațiu 1D sau 2D
 Păstrarea topologiei
 Relațiile de similaritate prezente între datele
inițiale sunt păstrate și între datele rezultate
după transformare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
78
Aplicații
 Codificarea imaginilor
 Vizualizarea rezultatelor analizei datelor
multidimensionale
 Analiza semnalelor biologice
 Prelucrarea limbajului natural
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
79
Gruparea datelor
 engl. “clustering”: grupare, partiționare, clusterizare
(pron. [clasterizáre])
 Gruparea (de obicei nesupervizată) a instanțelor are
ca scop găsirea unor grupuri astfel încât instanțele
din același grup să fie mai asemănătoare între ele
decât cu instanțele altor grupuri
 Similaritatea presupune o măsură de distanță; de
obicei se folosește distanța euclidiană iar similaritatea
este o funcție care variază invers cu distanța
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
80
Gruparea cu algoritmul
Kohonen
 Se utilizează un singur neuron învingător
 Se pornește cu mai mulți neuroni ale căror
ponderi au valori mici, apropiate de 0
 Pentru fiecare vector de intrare xi , se
actualizează ponderile neuronului învingător:
wr = wr + α (xi – wr)
 La sfârșitul procesului, numai câțiva vectori de
ponderi se dezvoltă iar aceștia indică centrele de
greutate ale grupurilor (clusterelor) descoperite
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
81
Gruparea cu algoritmul
Kohonen
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
82
Concluzii
 Mașinile cu vectori suport sunt una dintre cele
mai eficiente metode de clasificare la ora actuală
 Învățarea hebbiană modelează dinamica
sinapselor din creierele biologice
 Algoritmul Kohonen este inspirat tot din
cercetările neurobiologice și încorporează
mecanisme de auto-organizare precum
competiția și cooperarea
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Weitere ähnliche Inhalte

Mehr von Florin Leon

Faza de testare (II)
Faza de testare (II)Faza de testare (II)
Faza de testare (II)Florin Leon
 
Aspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareAspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareFlorin Leon
 
Regresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxRegresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxFlorin Leon
 
Clasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilorClasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilorFlorin Leon
 
Algoritmi de clasificare
Algoritmi de clasificareAlgoritmi de clasificare
Algoritmi de clasificareFlorin Leon
 
Teoria jocurilor (II)
Teoria jocurilor (II)Teoria jocurilor (II)
Teoria jocurilor (II)Florin Leon
 
Teoria jocurilor (I)
Teoria jocurilor (I)Teoria jocurilor (I)
Teoria jocurilor (I)Florin Leon
 
Arhitecturi de agenti (II)
Arhitecturi de agenti (II)Arhitecturi de agenti (II)
Arhitecturi de agenti (II)Florin Leon
 
Arhitecturi de agenti (I)
Arhitecturi de agenti (I)Arhitecturi de agenti (I)
Arhitecturi de agenti (I)Florin Leon
 
Introducere in domeniul agentilor
Introducere in domeniul agentilorIntroducere in domeniul agentilor
Introducere in domeniul agentilorFlorin Leon
 
Faza de testare (I)
Faza de testare (I)Faza de testare (I)
Faza de testare (I)Florin Leon
 
Faza de implementare
Faza de implementareFaza de implementare
Faza de implementareFlorin Leon
 
Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Florin Leon
 
Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Florin Leon
 
Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Florin Leon
 
Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Florin Leon
 
Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Florin Leon
 
Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Florin Leon
 
Faza de proiectare
Faza de proiectareFaza de proiectare
Faza de proiectareFlorin Leon
 

Mehr von Florin Leon (20)

Faza de testare (II)
Faza de testare (II)Faza de testare (II)
Faza de testare (II)
 
Aspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareAspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltare
 
Regresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxRegresia liniara, logistica, softmax
Regresia liniara, logistica, softmax
 
Clasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilorClasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilor
 
Algoritmi de clasificare
Algoritmi de clasificareAlgoritmi de clasificare
Algoritmi de clasificare
 
Teoria jocurilor (II)
Teoria jocurilor (II)Teoria jocurilor (II)
Teoria jocurilor (II)
 
Teoria jocurilor (I)
Teoria jocurilor (I)Teoria jocurilor (I)
Teoria jocurilor (I)
 
Arhitecturi de agenti (II)
Arhitecturi de agenti (II)Arhitecturi de agenti (II)
Arhitecturi de agenti (II)
 
Arhitecturi de agenti (I)
Arhitecturi de agenti (I)Arhitecturi de agenti (I)
Arhitecturi de agenti (I)
 
Introducere in domeniul agentilor
Introducere in domeniul agentilorIntroducere in domeniul agentilor
Introducere in domeniul agentilor
 
Faza de testare (I)
Faza de testare (I)Faza de testare (I)
Faza de testare (I)
 
Faza de implementare
Faza de implementareFaza de implementare
Faza de implementare
 
Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)
 
Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)
 
Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)
 
Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)
 
Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)
 
Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)
 
Faza de proiectare
Faza de proiectareFaza de proiectare
Faza de proiectare
 
Faza de analiza
Faza de analizaFaza de analiza
Faza de analiza
 

Retele neuronale (II)

  • 1. Inteligență artificială 12. Rețele neuronale (II) Florin Leon Universitatea Tehnică „Gheorghe Asachi” din Iași Facultatea de Automatică și Calculatoare http://florinleon.byethost24.com/curs_ia.htm Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 2. 2 Rețele neuronale (II) 1. Mașini cu vectori suport 2. Rețele cu auto-organizare 2.1. Învățarea hebbiană 2.2. Algoritmul Kohonen 3. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 3. 3 Rețele neuronale (II) 1. Mașini cu vectori suport 2. Rețele cu auto-organizare 2.1. Învățarea hebbiană 2.2. Algoritmul Kohonen 3. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 4. 4 Mașini cu vectori suport  engl. “Support Vector Machines”, SVM  Boser, Guyon & Vapnik (1992)  Vapnik (1995)  Devenite populare datorită succesului în recunoașterea cifrelor scrise de mână  Eroare de 1,1% pe mulțimea de test  Fundament teoretic solid  Performanțe experimentale foarte bune  Mașinile cu vectori suport reprezintă una dintre cele mai bune metode de învățare din prezent Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 5. 5 Limitele suprafețelor de decizie  Să considerăm o problemă de clasificare liniar separabilă cu două clase  Există multe limite de separație posibile  Algoritmul de învățare al perceptronului poate găsi astfel de limite Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 6. 6 Limitele suprafețelor de decizie  Pot exista mai multe limite de separație  Care este cea mai bună? Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 7. 7 Margini mici Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 8. 8 Margine mare Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 9. 9 Limite de decizie cu margini mari  Limita de decizie trebuie să fie cât mai departe de datele din ambele clase  Marginea m trebuie maximizată h = –1 h = 1 h(x) = g(wTx + b) 1, dacă z ≥ 0 –1, dacă z < 0 g(z) = Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 10. 10 Vectori suport Vectori suport Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 11. 11 Normalizarea  h(x) = g(wTx + b); g(z) este –1 sau 1  Doar semnul lui (wTx + b) contează, nu și valoarea  Putem normaliza ecuațiile (constrângerile) astfel ca în limitele care trec prin vectorii suport ai celor două clase, wTx + b să fie 1, respectiv –1  Pentru toate punctele celor două clase:  wTxi + b ≥ 1 dacă yi = 1  wTxi + b ≤ –1 dacă yi = –1 de exemplu: w1 ∙ x1 + w2 ∙ x2 + b yi este clasa instanței i Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 12. 12 Normalizarea Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 13. 13 Marginea  Marginea m este proiecția distanței dintre doi vectori suport x1 și x2 pe direcția vectorului w  Valoarea lui m se poate obține de exemplu scăzând ecuațiile lui x1 și x2  w ∙ x1 + b = –1  w ∙ x2 + b = 1  w ∙ (x2 – x1) = 2  m = w / ‖w‖ ∙ (x2 – x1) = 2 / ‖w‖ Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 14. 14 Marginea Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 15. 15 Determinarea marginii  Trebuie determinați w și b astfel încât marginea m = 2 / ‖w‖ să fie maximă pentru toate instanțele { xi , yi }  Respectând constrângerile:  wTxi + b ≥ 1 dacă yi = 1  wTxi + b ≤ –1 dacă yi = –1  Adică:  yi ∙ (wTxi + b) ≥ 1 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 16. 16 Determinarea marginii  O formulare mai bună a problemei de optimizare:  Minimizarea lui ½ ‖w‖2, respectând aceleași constrângeri  Problemă de optimizare cuadratică  Se poate rezolva cu metode tipice de optimizare, inclusiv cu algoritmi evolutivi Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 17. 17 Determinarea marginii  Dar...  SVM este în general utilizat pentru clasificarea unor date cu foarte multe dimensiuni  De exemplu, în clasificarea textelor sau detecția spam-ului, frecvențele de apariție ale cuvintelor sunt atributele  Posibil mii de atribute  Teoretic, w poate fi infinit dimensional Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 18. Problema primară 18Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 19. 19 Dualitatea Lagrange  Rezolvarea problemei anterioare de optimizare (problema primară) este echivalentă cu rezolvarea problemei duale Lagrangian Multiplicatori lagrangieni Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 20. 20 Condițiile Karush-Kuhn-Tucker  Există w*, α* și β* (soluțiile problemei primare, respectiv duale), astfel încât: Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 21. Formularea problemei duale  Aplicăm condițiile Karush-Kuhn-Tucker (diferențialele în raport cu w și b să fie 0) : 21Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 22. Formularea problemei duale  Înlocuind aceste relații în formula de mai sus, vom avea: 22Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 23. 23 Problema duală Se determină αi și apoi se pot calcula w și b Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 24. 24 Avantaj  Prin rezolvarea problemei duale se determină αi ≥ 0  De fapt, toți αi sunt 0 cu excepția multiplicatorilor corespunzători vectorilor suport  Numărul vectorilor suport este mult mai mic decât numărul instanțelor: nvs ≪ n Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 25. 25 Transformarea datelor Clasele nu sunt liniar separabile zk = (xk, xk 2) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 26. 26 Transformarea datelor Clasele nu sunt liniar separabile Clasele devin liniar separabile într-un spațiu cu mai multe dimensiuni Spațiul atributelor Spațiul trăsăturilor (engl. “features”) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 27. 27 Nuclee  Transformarea în trăsături (engl. “feature mapping”)  Nucleu (engl. “kernel”) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 28. 28 Trucul nucleului  engl. “kernel trick”  Cantitatea necesară pentru clasificare este:  Folosind un nucleu: Calculele depind doar de perechi (x1,x2) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 29. 29 Trucul nucleului Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 30. 30 Trucul nucleului  Deoarece calculele se fac doar în perechi, nu este nevoie să calculăm explicit trăsăturile instanțelor  Calcularea nucleului unei perechi de instanțe poate fi mult mai simplă Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 31. 31 Nuclee uzuale  Nucleul liniar  Nucleul polinomial  Nucleul RBF  Nucleul sigmoid  Uneori nu este valid (vezi teorema lui Mercer)  Parametri: γ > 0, d, r Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 32. 32 Interpretare  Intuitiv, un nucleu poate fi interpretat ca o măsură a similarității dintre cele două argumente  Nucleul liniar (produsul scalar)  Nucleul RBF Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 33. 33 Exemplu  Clasificarea proteinelor: șiruri de aminoacizi codificați prin caractere  Fie ϕ(x) o funcție care numără aparițiile fiecărei secvențe de lungime k în șirul x  ϕ(x) este un vector cu 20k dimensiuni (există 20 de aminoacizi standard)  Pentru subșiruri mici de 5 caractere, vom avea aproximativ 3 milioane de dimensiuni  Totuși, nucleul poate implementa un algoritm eficient de “string matching” Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 34. 34 Nuclee valide  Folosind doar nucleul, nu mai este nevoie să calculăm funcția ϕ  Nucleul ar putea avea orice formă  Trebuie să respecte însă condiția: K(x,z) = ϕ(x)T ϕ(x) chiar dacă nu cunoaștem sau nu ne interesează forma lui ϕ  Fie matricea nucleului K o matrice în care elementele Kij = K(x(i), x(j)) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 35. 35 Teorema lui Mercer  Condiția necesară și suficientă pentru ca un nucleu real să fie valid este ca matricea nucleului să fie simetrică și pozitiv semidefinită:  Kij = Kji  zT ·K·z ≥ 0, z  Intuitiv, un nucleu pozitiv semidefinit doar deformează, nu împăturește spațiul Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 36. 36 Cazurile neseparabile liniar  În unele cazuri, datele nu sunt separabile liniar nici după transformările prezentate anterior  sau datele prezintă valori extreme (engl. “outliers”) care influențează marginea optimă Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 37. 37 Probleme neseparabile liniar  Putem permite existența unor erori ξi în clasificare  Hiperplanul are acum o margine flexibilă (engl. “soft margin”)  ξi se numesc variabile de decalaj (engl. “slack variables”) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 38. 38 Probleme neseparabile liniar  Problema de optimizare primară devine: Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 39. 39 Parametrul C  Parametrul de cost C este o măsură a erorii admise în clasificare  C controlează compromisul dintre a permite erori pe mulțimea de antrenare și a forța margini stricte  Creșterea valorii lui C mărește costul clasificării greșite a instanțelor și determină crearea unui model mai precis, dar care poate să nu generalizeze bine  Dacă C este mare, marginea de separare va fi mai mică  Dacă C este mic, marginea de separare va fi mai mare  Valoarea lui C trebuie aleasă de utilizator și depinde de problemă  De multe ori, C se alege prin încercări repetate, de exemplu: 10–5, 10–3, 0.1, 1, 10, 100, 103, 105 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 40. 40 Problema duală  Oarecum surprinzător, termenii ξi nu apar în problema duală  Contează numai parametrul C care limitează multiplicatorii αi  Pentru instanțele neclasificabile, multiplicatorii ar crește foarte mult și ar determina și apariția unor vectori suport suplimentari (cu αi > 0) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 41. Algoritmul SMO  Sequential Minimal Optimization (Platt, 1999)  Scopul său este rezolvarea problemei duale de optimizare (determinarea αi)  Este rapid și deci foarte potrivit pentru optimizarea problemelor de dimensiuni mari cu care lucrează de obicei SVM  Biblioteci pentru SVM: SVM-light, LibSVM 41Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 42. Ideea de bază a SMO  Optimizarea este asemănătoare metodei “hill climbing”  Se ajustează succesiv câte 2 multiplicatori αi 42Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 43. 43 Exemplu  Să presupunem că avem 5 instanțe unidimensionale  x1=1, x2=2, x3=4, x4=5, x5=6, cu 1, 2, 6 din clasa 1 și 4, 5 din clasa 2  y1=1, y2=1, y3=–1, y4=–1, y5=1  Folosim nucleul polinomial de grad 2  K(x, z) = (x ∙ z + 1)2  Setăm C = 100  Mai întâi determinăm αi (i = 1, …, 5) prin și constrângerile: Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 44. 44 Exemplu  Rezolvând problema de optimizare, obținem:  α1 = 0, α2 = 2.5, α3 = 0, α4 = 7.333, α5 = 4.833  Constrângerile sunt satisfăcute  Vectorii suport sunt: { x2 = 2, x4 = 5, x5 = 6 }  Funcția discriminant este:  b se determină prin rezolvarea f(2)=1 sau f(5)=–1 sau f(6)=1, deoarece x2 și x5 sunt pe linia iar x4 este pe linia  Toate trei dau b=9  Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 45. 45 Exemplu Funcția discriminant 1 2 4 5 6 clasa 2 clasa 1clasa 1 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 46. 46 Clasificarea cu clase multiple  Mașinile cu vectori suport clasice permit rezolvarea problemelor binare (cu numai 2 clase)  Pentru a trata mai multe clase există mai multe metode, dintre care cele mai des folosite sunt:  Abordarea „una versus toate”  Abordarea „una versus una” Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 47. 47 Una versus toate  “one-versus-all” / “one-against-all”  Pentru k clase, se creează k modele  În modelul cu numărul i, SVM este antrenat cu instanțele din clasa i ca exemple pozitive și toate celelalte instanțe (din celelalte clase) ca exemple negative  Pentru a clasifica o nouă instanță, se apelează toate cele k modele și se alege clasa cu funcția de decizie maximă: Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 48. 48 Una versus una  “one-versus-one” / “one-against-one”  Pentru k clase, se creează k ∙ (k – 1) / 2 modele corespunzătoare tuturor perechilor de clase  Pentru a clasifica o nouă instanță, se apelează toate modelele și fiecare model dă un vot pentru apartenența la o clasă  Se alege în final clasa care are cele mai multe voturi  Antrenarea poate fi mai rapidă pentru că mulțimile de antrenare sunt mai mici Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 49. 49 Generalizarea  S-a demonstrat că probabilitatea de eroare așteptată pentru mulțimea de test este mărginită:  E[x] = valoarea așteptată pentru x  nvs = numărul de vectori suport  P(e) = probabilitatea erorii  l = dimensiunea mulțimii de antrenare  Capacitatea de generalizare crește cu cât numărul de vectori suport este mai mic și mulțimea de antrenare mai mare  Rezultatul este independent de numărul de atribute al instanțelor (de dimensiunea spațiului problemei) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 50. 50 Discuție  Principalele probleme care apar la lucrul cu SVM sunt legate de:  Stabilirea nucleului și a parametrilor săi  Stabilirea parametrului de cost C Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 51. 51 Rețele neuronale (II) 1. Mașini cu vectori suport 2. Rețele cu auto-organizare 2.1. Învățarea hebbiană 2.2. Algoritmul Kohonen 3. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 52. 52 Învățarea nesupervizată  Nu există nicio informație despre ieșirea dorită  Algoritmul trebuie să descopere singur relațiile de interes din datele de intrare  Modele, regularități, corelații  Relațiile descoperite se regăsesc în ieșire Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 53. 53 Învățarea hebbiană  Legea lui Hebb (1949)  Dacă doi neuroni conectați sunt activați în același timp, ponderea conexiunii dintre ei crește  Dacă doi neuroni sunt activați în contratimp, ponderea conexiunii dintre ei scade  “Neurons that fire together, wire together” Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 54. 54 Învățarea hebbiană Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 55. Intrări multiple 55 Neuronul hebbian implementează o măsură de similaritate în spațiul de intrare O ieșire y mare înseamnă că intrarea curentă este similară cu vectorul de antrenare x care a creat ponderile Rețeaua își amintește vectorul de antrenare, deci se comportă ca o memorie asociativă Modelele liniare sunt des întâlnite la învățarea hebbiană Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 56. Instabilitatea 56 ≥ 0 ⇒ Ponderile vor crește nelimitat n este epoca Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 57. Regula lui Oja 57 Este o normalizare a regulii hebbiene. Noua valoare a unei ponderi se împarte la norma vectorului de ponderi. Dacă o pondere crește, celelalte trebuie să scadă. Regula lui Oja este o formulă care aproximează normalizarea: Ponderile nu mai cresc nelimitat, dar rețeaua uită asocierile vechi. Dacă un vector de antrenare nu este prezentat frecvent, va fi uitat. Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 58. Regula lui Oja și analiza componentelor principale 58 direcția principală direcția secundară întinderea maximă întinderea minimă Regula lui Oja determină un versor de ponderi w coliniar cu componenta principală a datelor de intrare Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 59. Rețea PCA 59 engl. “Principal Component Analysis”, PCA Regula lui Sanger determină toate componentele principale, care converg succesiv: Ponderile reprezintă cei M vectori de dimensiune D Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 60. Discuție  PCA este o metodă de reducere a dimensionalității sau de compresie a datelor  Prin selectarea proiecțiilor pe cele mai importante M dimensiuni, din cele D ale spațiului de intrare, cu M ≤ D, se păstrează cele mai importante caracteristici ale datelor 60Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 61. 61 Rețele neuronale (II) 1. Mașini cu vectori suport 2. Rețele cu auto-organizare 2.1. Învățarea hebbiană 2.2. Algoritmul Kohonen 3. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 62. 62 Algoritmul Kohonen  engl. “Self-Organizing Map”, SOM  Harta (transformarea) cu auto-organizare  Kohonen, 1982  Algoritm de învățare nesupervizată competitivă  Neuronii concurează pentru a fi activați  Învingătorul ia totul  Bazat pe ideea corespondențelor dintre intrările senzoriale și diferitele regiuni ale cortexului Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 63. 63 Cortexul uman Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 64. 64 Modelul Kohonen spațiul de intrare n-D spațiul de ieșire 2D (sau 1D) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 65. 65 Conexiunile laterale  Între neuroni există conexiuni laterale  Activarea unui neuron provoacă inhibiții sau excitații laterale altor neuroni, în funcție de distanța dintre aceștia  Funcția „pălărie mexicană” Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 66. Învățarea (I)  Neuronii sunt dispuși într-o structură regulată: matrice (2D) sau vector (1D)  Ponderile fiecărui neuron sunt inițializate aleatoriu  Ponderile au aceeași dimensionalitate ca datele de intrare  Fiecare neuron poate fi reprezentat ca un punct în spațiul n-dimensional al intrărilor, în funcție de valorile ponderilor sale 66Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 67. 67 Învățarea (II)  Pentru fiecare vector de intrare, se determină în spațiul de intrare cel mai apropiat neuron, conform ponderilor acestuia distanța euclidiană Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 68. 68 Învățarea (III)  Se determină vecinii neuronului câștigător în spațiul de ieșire funcția „pălărie mexicană” simplificată Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 69. 69 Învățarea (IV)  Doar pentru neuronul câștigător și neuronii din vecinătatea lui, se actualizează ponderile Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 70. 70 Efect  Ponderile neuronului (neuronilor) câștigători se deplasează puțin către vectorul de intrare Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 71. 71 Parametri  Rata de învățare α are o valoare mică pozitivă (de exemplu 0.1 - 0.5)  Mărimea vecinătății Λj  Alegerea statică: de exemplu 2  Alegerea dinamică: la început dimensiunea este jumătate sau o treime din dimensiunea stratului de ieșire (care poate fi de exemplu 10x10 sau 20x20) și apoi scade treptat. De exemplu, după 10 epoci, dimensiunea scade cu 1 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 72. 72 Vecinătăți topologice 1D 2D Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 73. 73 Exemple 2DExemplu 2D Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 74. 74 Exemplu 1D Proiecție 2D → 1D Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 75. 75 Alte exemple Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 76. 76 Exemplu de vizualizare  Nivelul de trai în diferite țări  Harta nu arată nivelurile propriu-zise, ci similaritatea lor: țările cu nivel de trai asemănător au culori apropiate Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 77. 77 Proprietăți  Reducerea dimensionalității  Poate transforma un spațiu n-dimensional într-un spațiu 1D sau 2D  Păstrarea topologiei  Relațiile de similaritate prezente între datele inițiale sunt păstrate și între datele rezultate după transformare Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 78. 78 Aplicații  Codificarea imaginilor  Vizualizarea rezultatelor analizei datelor multidimensionale  Analiza semnalelor biologice  Prelucrarea limbajului natural Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 79. 79 Gruparea datelor  engl. “clustering”: grupare, partiționare, clusterizare (pron. [clasterizáre])  Gruparea (de obicei nesupervizată) a instanțelor are ca scop găsirea unor grupuri astfel încât instanțele din același grup să fie mai asemănătoare între ele decât cu instanțele altor grupuri  Similaritatea presupune o măsură de distanță; de obicei se folosește distanța euclidiană iar similaritatea este o funcție care variază invers cu distanța Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 80. 80 Gruparea cu algoritmul Kohonen  Se utilizează un singur neuron învingător  Se pornește cu mai mulți neuroni ale căror ponderi au valori mici, apropiate de 0  Pentru fiecare vector de intrare xi , se actualizează ponderile neuronului învingător: wr = wr + α (xi – wr)  La sfârșitul procesului, numai câțiva vectori de ponderi se dezvoltă iar aceștia indică centrele de greutate ale grupurilor (clusterelor) descoperite Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 81. 81 Gruparea cu algoritmul Kohonen Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 82. 82 Concluzii  Mașinile cu vectori suport sunt una dintre cele mai eficiente metode de clasificare la ora actuală  Învățarea hebbiană modelează dinamica sinapselor din creierele biologice  Algoritmul Kohonen este inspirat tot din cercetările neurobiologice și încorporează mecanisme de auto-organizare precum competiția și cooperarea Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm