Anda di halaman 1dari 186

Cuprins

Capitolul 1. Reţele neuronale cu un singur strat


1.1. Neuronii biologici .........................................................................................7
1.2. Perceptronul ................................................................................................ 12
1.2.1. Neuronul McCulloch-Pitts .......................................................... 12
1.2.2. Perceptronul originar al lui Rosenblatt ............................... .13
1.2.3. Perceptronul standard ................................................................ 14
1.2.4. Regula de învăţare a perceptronului ..................................... 19
1.3. Adaline. Regula delta ................................................................................ 30

Capitolul 2. Noţiuni de teoria învăţării


2.1. Probleme de filosofia învăţării ............................................................. 35
2.2. Învăţarea probabil aproximativ corectă ........................................... 37
2.3. Dimensiunea Vapnik-Chervonenkis ................................................... 48
2.4. Riscul empiric şi riscul structural ........................................................ 58

Capitolul 3. Probleme separabile liniar


3.1. Introducere .................................................................................................. 63
3.2. Hiperplane de separare liniare. Marginea dintre clase ............... 63
3.3. Problema de optimizare .......................................................................... 73
3.4. Minimizarea riscului structural de către maşinile cu vectori suport.. 74

Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange
4.1. Problema primară ..................................................................................... 77
4.2. Problema duală ........................................................................................... 83
4.3. Perspectiva geometică ............................................................................. 88
4.4. Formalizarea problemei de optimizare ............................................ 94
4.5. Particularizarea pentru maşinile cu vectori suport ..................... 96

Capitolul 5. Nuclee
5.1. Transformarea în trăsături ................................................................. 107
5.2. Teorema lui Mercer................................................................................ 111
5.3. Tipuri de nuclee ....................................................................................... 112
5.3.1. Nucleul polinomial ..................................................................... 112
5.3.2. Nucleul gaussian ......................................................................... 116
5.3.2. Nucleul sigmoid .......................................................................... 118

Capitolul 6. Probleme neseparabile liniar


6.1. Margini flexibile....................................................................................... 121
6.2. Exemple ...................................................................................................... 124

Capitolul 7. Algoritmul SMO


7.1. Optimizarea diferenţială a unei funcţii........................................... 133
7.2. Rezolvarea problemei duale pentru maşini cu vectori suport .. 136
7.3. Optimizarea comună a unei perechi de multiplicatori ............. 138
7.4. Determinarea multiplicatorilor pentru optimizare ................... 142
7.5. Determinarea pragului ......................................................................... 144
7.6. Pseudocodul algoritmului SMO ......................................................... 146
7.7. Exemplu de aplicare .............................................................................. 150

4
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 8. Extensii
8.1. Probleme de regresie ............................................................................ 157
8.2. Probleme de clasificare cu clase multiple ..................................... 160
8.2.1. Abordarea „una versus toate” ............................................... 160
8.2.2. Abordarea „toate versus toate” ............................................. 161
8.3. Exemple ...................................................................................................... 162
8.3.1. Abordarea „una versus toate” ............................................... 164
8.3.2. Abordarea „toate versus toate”............................................. 166
8.4. Concluzii ..................................................................................................... 168

Referinţe .................................................................................................................... 171

5
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1

Reţele neuronale cu un singur strat

1.1. Neuronii biologici

Neuronii sunt componentele fundamentale ale sistemului nervos, a


cărui complexitate este extraordinară. Creierul uman are în medie 86 de
miliarde de neuroni (Herculano-Houzel, 2009). În figura 1.1 (Monoyios,
2011) se poate vedea fotografia unui neuron real. Numele vine din limba
greacă, νευρών însemnând tendon, adică un fascicul subțire şi rezistent cu
ajutorul căruia se fixează mușchii pe oase. S-a considerat că nervii au
aspectul unor tendoane. Neuronii mai sunt numiţi uneori şi celule nervoase,
deşi mulţi neuroni nu formează nervi iar nervii includ şi alte celule decât
neuroni. Diametrul unui neuron este de 4-100 microni iar greutatea sa nu
depăşeşte 10-6 grame (Groves & Rebec, 1988; Chudler, 2014).
Simplificând puţin lucrurile, un neuron este alcătuit din corpul
celular, dendrite (din gr. δένδρον, copac), terminaţii cu aspect arborescent
care primesc impulsuri de la alţi neuroni şi un axon (din gr. ἄξων, axă), care
trimite impulsuri electrice către alţi neuroni, după cum se poate vedea în
figura 1.2 (adaptată după Droual, 2011).
Neuronii sunt conectaţi prin sinapse (din gr. σύν, cu, împreună şi
ἅπτω, a prinde, a fixa cu derivatul ἅψᾱ, legătură). În scoarţa cerebrală
există 150 de trilioane de sinapse (Pakkenberg & Gundersen, 1997;
Pakkenberg et al., 2003; Chudler, 2014). Un neuron se conectează cu alţi
1000-10000 de neuroni, în medie 7000.

Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Figura 1.1. Neuron biologic real

Dendrite

Corp celular
Nucleu Butoni terminali
Direcţia semnalului
Con de emergenţă

Axon
Neuron presinaptic
Sinapsă

Dendrite

Buton terminal Neuron postsinaptic


Neurotransmiţători
Butoni terminali
Axon

Figura 1.2. Structura neuronilor. Sinapsă chimică

8
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

Atât în interiorul cât şi în exteriorul celulelor neuronale se găsesc


ioni pozitivi şi negativi. Schimbările de concentraţie ale acestora determină
apariţia unor curenţi electrici sau impulsuri nervoase. Transmiterea de la un
neuron la altul a acestor impulsuri se face prin intermediul sinapselor,
unidirecţional de la axoni la dendrite (deşi există şi alte combinaţii posibile).
De fapt, neuronii nu se ating direct, există o regiune foarte îngustă, de
aproximativ 20 nm între membranele pre- şi postsinaptice, numită fantă
sinaptică. Transferul impulsurilor se realizează prin intermediul unor
substanţe chimice şi nu prin curenţi electrici. Acesta este cel mai des întâlnit
tip de sinapsă, numit sinapsă chimică.
Atunci când impulsul electric ajunge într-un buton terminal al
axonului presinaptic, acesta atrage ioni pozitivi de calciu care determină
„vărsarea” în fanta sinaptică a unor neurotransmiţători. Aceştia activează
unii receptori în partea postsinaptică şi determină depolarizarea neuronului
postsinaptic, adică potenţialul membranei devine pozitiv deoarece în celulă
intră ioni pozitivi de sodiu. Dacă depolarizarea atinge un anumit nivel, în
celulă se propagă un impuls nervos. Unii neurotransmiţători, dimpotrivă, fac
ca neuronul postsinaptic să se hiperpolarizeze, adică potenţialul membranei
să devină negativ. Ionii negativi de clor intră în celulă iar ionii pozitivi de
potasiu ies din celulă. Acest fapt împiedică generarea unui impuls electric.
În primul caz, potenţialul sinaptic este excitator; în al doilea caz, este
inhibitor.
În scurt timp după eliberarea în fanta sinaptică, neurotransmiţătorii
sunt dizolvaţi de enzime sau reabsorbiţi în butonii presinaptici, iar
concentraţia de ioni revine la valoarea iniţială. Imediat după generarea unui
impuls urmează o aşa numită perioadă refractară, în care neuronul „se

9
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

încarcă” şi nu se mai poate activa din nou. Abia apoi neuronul revine în
starea de repaus şi poate genera un nou impuls.
Neuronii au un prag de depolarizare. Dacă potenţialul creat este mai
mic decât acest prag, neuronul postsinaptic nu se activează. Potenţialul creat
de o sinapsă excitatoare este mult mai mic decât pragul de depolarizare, prin
urmare un impuls poate fi generat doar prin efectul combinat al mai multor
sinapse. Dintre miile de terminaţii sinaptice care sunt conectate la un
neuron, câteva sute sunt active simultan sau la intervale de timp suficient de
apropiate ca efectele lor să se poată însuma. Potenţialul membranar al
neuronului postsinaptic este în fiecare moment rezultanta activităţii tuturor
sinapselor active în acel moment.
În figura 1.2 se poate observa formaţiunea denumită con de
emergenţă al axonului. Acesta este ultimul loc din corpul celular unde
potenţialele din intrările sinaptice se sumează înainte de a fi transmise
axonului.
Neuronul respectă principiul totul sau nimic. Dacă depolarizarea nu
este suficient de puternică pentru a depăşi pragul, canalele de ioni nu se
deschid. Dacă depolarizarea depăşeşte pragul, canalele se deschid şi se
generează un impuls electric. Acesta este întotdeuna la fel de mare, de
exemplu 40 mV, fără valori intermediare. Intensitatea unui stimul este dată
de frecvenţa impulsurilor. Unui stimul mai puternic îi corespunde o
frecvenţă mai mare. De exemplu, un stimul de durere puternică poate avea o
frecvenţă de până la 800 Hz (Malmivuo & Plonsey, 1995; Freudenrich,
2007; Mastin, 2010; Ribrault, Sekimoto & Triller, 2011; Tamarkin, 2011;
Gregory, 2014).
Acest principiu poate fi descris prin analogie cu aprinderea unui fitil,
care necesită o anumită temperatură. Sub aceasta, fitilul nu se aprinde. Însă

10
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

un chibrit cu o temperatură mai mare decât pragul nu face fitilul să ardă mai
repede, odată ce s-a aprins (Byrne, 2014).
În figura 1.3 (după Wikimedia Commons, 2014a) se prezintă un
impuls tipic, unde se pot vedea şi valorile curenţilor propriu-zişi şi ale
pragului.

Impuls
Tensiune (mV)

re

Repo
lariza

la
rizar
Depo

Prag Iniţieri
eşuate
Stare de repaus

Perioadă
refractară

Timp (ms)

Figura 1.3. Impuls neuronal tipic

Un alt principiu biologic pe care se bazează o modalitate adaptivă de


învăţare numită învăţare hebbiană (Hebb, 1949) este acela că dacă un
neuron activează în mod repetat alt neuron, apar modificări fizice care cresc
eficienţa acestei interacţiuni. Pe scurt, „neuronii care se activează împreună
se cablează împreună” (engl. “neurons that fire together wire together”,
Shatz, 1992; Doidge, 2007). Cu alte cuvinte, conexiunea dintre neuronii
respectivi se întăreşte iar impulsurile se transmit mai uşor. De aceea, dacă
repetăm de suficient de multe ori o acţiune, ajungem să o realizăm în mod
automat (Ware, 2013).

11
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

1.2. Perceptronul

1.2.1. Neuronul McCulloch-Pitts

Primul model matematic al unui neuron a fost propus de McCulloch


şi Pitts (1943; 1947). Modelul este prezentat în figura 1.4 (Ngom, 2010).

Figura 1.4. Neuronul McCulloch-Pitts

Ieşirea este binară: neuronul este activat (1) sau nu (0), ceea ce îl
face echivalent cu o propoziţie logică, care poate fi adevărată sau falsă.
Intrările sunt excitatoare (ai) sau inhibitoare (bj). Aceste intrări sunt sumate
direct şi neuronul se activează dacă suma depăşeşte un prag fix. De
asemenea, neuronul se activează doar dacă nu există intrări inhibitoare.
Funcţia de activare este următoarea:

(1.1)

12
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

Orice problemă care poate fi reprezentată sub forma unei funcţii


logice poate fi modelată de o reţea de neuroni McCulloch-Pitts deoarece
orice funcţie booleană poate fi implementată folosind doar operaţiile SAU, ŞI
şi NEGAŢIE. În figura 1.5 (după Ngom, 2010) sunt prezentate aceste funcţii
logice elementare.

Figura 1.5. Funcţii logice elementare implementate ca neuroni McCulloch-Pitts

Dificultatea principală a modelului constă în faptul că îi lipseşte


capacitatea de învăţare; pragurile sunt determinate analitic. Pentru funcţii
complexe, dimensiunea reţelei corespunzătoare este mare.

1.2.2. Perceptronul originar al lui Rosenblatt

Problema cea mai importantă pe care a încercat să o rezolve


Rosenblatt (1957; 1958) este posibilitatea de a învăţa, o calitate esenţială a
reţelelor neuronale biologice. Sistemul propus de el modela sistemul vizual
uman, de aceea s-a numit perceptron (figura 1.6). Dintr-o imagine raster,
valorile pixelilor treceau prin nişte conexiuni cu valori aleatorii, rezultând

13
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

nişte trăsături sintetice ale imaginii. Aceste trăsături erau conectate la ieşire,
prin modelul standard pe care îl vom discuta în secţiunea următoare.
Antrenând perceptronul cu o mulţime de imagini şi ieşirile corespunzătoare,
sistemul putea învăţa să clasifice imaginile (Kröse & van der Smagt, 1996;
Champandard, 2003).

Figura 1.6. Perceptronul originar al lui Rosenblatt

Problema principală a acestui model este că nu s-a reuşit găsirea unei


modalităţi de determinare a parametrilor conexiunilor dintre imagine
(echivalentul în model al retinei) şi stratul intermediar corespunzător
trăsăturilor, ci doar dintre acesta şi ieşire. Este ceea ce vom prezenta în
continuare.

1.2.3. Perceptronul standard

Perceptronul este un neuron cu mai multe intrări xi, fiecare


conexiune de intrare având o valoare numită pondere wi (engl. “weight”),

14
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

care este o măsură a importanţei acelei intrări, un prag θ şi o funcţie de


activare semn sau treaptă. Structura sa generală este prezentată în figura 1.7.

x1
w1

x2 w2 Σwixi - θ y

wn

xn

Figura 1.7. Structura generală a perceptronului

Se poate vedea analogia cu modul de funcţionare al unui neuron


biologic, în care semnalele de intrare sunt sumate iar neuronul generează un
semnal doar dacă suma depăşeşte pragul.
Ieşirea perceptronului este dată de următoarea ecuaţie:

, (1.2)

unde F este funcţia semn:

(1.3)

sau funcţia treaptă:

15
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

. (1.4)

Scopul perceptronului este rezolvarea problemelor de clasificare


binară. Se dă o mulţime de vectori de antrenare, care conţin valori pentru
cele n intrări şi valoarea ieşirii dorite. Se doreşte determinarea ponderilor şi
pragului astfel încât modelul să clasifice corect toţi vectorii de antrenare
într-una din cele 2 clase, adică ieşirea perceptronului pentru un vector de
intrare să fie egală cu ieşirea dorită.
Pentru a înţelege semnificaţia parametrilor, să considerăm un
perceptron cu o singură intrare. În ecuaţiile 1.3 sau 1.4, se vede că dacă a
este pozitiv vectorul va fi atribuit unei clase iar dacă este negativ, vectorul
va fi atribuit celeilalte clase. Prin urmare, separarea celor 2 clase este dată
de o linie, care în cazul unidimensional are ecuaţia:

. (1.5)

Exemplu

Să considerăm următoarea situaţie:

reprezentată în figura 1.8a. Pentru x < 2, răspunsul va fi clasa –1/0 iar


pentru x >= 2, răspunsul perceptronului va fi clasa 1.

16
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

Mai întâi să vedem ce se întâmplă când pragul rămâne constant şi se


modifică ponderea. Fie următoarea situaţie, în care ponderea s-a schimbat de
la 0,5 la 2:

Comparând figurile 1.8a şi 1.8b, se vede că panta diferă. Prin


urmare, ponderea exprimă panta dreptei. În figura 1.8b, se vede cum punctul
de intersecţie cu ordonata a rămas –1, valoare dată de prag, însă datorită
schimbării ponderii, punctul de separare s-a schimbat din 2 în 0,5.

Figura 1.8. Reprezentări geometrice ale unor decizii unidimensionale

Acum să considerăm din nou prima situaţie, menţinând ponderea la


valoarea 0,5, dar modificând pragul de la 1 la –1:

Comparând figurile 1.8a şi 1.8c, se vede că pragul a translat dreapta


în sus, panta rămânând aceeaşi. Punctul de separare s-a mutat în –2.

17
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

În general, pentru cazul unidimensional, punctul de separare este,


conform ecuaţiei 1.5:

. (1.6)

În continuare, să considerăm un perceptron cu 2 intrări. Separarea


celor 2 clase este dată de o dreaptă cu ecuaţia:

(1.7)

care poate fi rescrisă astfel:

. (1.8)

Ecuaţia este reprezentată în figura 1.9 (după Kröse & van der Smagt,
1996).

Figura 1.9. Reprezentarea geometrică a deciziei bidimensionale

Pentru cazul bidimensional considerat, se observă că panta dreptei de


separare este dată de valoarea ponderilor. Dreapta de separare este

18
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

întotdeauna perpendiculară pe dreapta definită de origine şi de punctul


(w1, w2).
Pragul marchează deplasarea dreptei de separare faţă de origine. În
general, distanţa de la un punct la o dreaptă este :

(1.9)

iar în cazul nostru distanţa de la origine la dreapta de separare este:

. (1.10)

O observaţie importantă pe baza figurilor 1.8 şi 1.9 este că


perceptronul poate învăţa să separe doar clase ale căror instanţe nu sunt
intercalate, numite separabile liniar. În cazul bidimensional, avem o dreaptă
care împarte planul în două. De o parte a dreptei se află o clasă iar de
cealaltă parte se află cealaltă clasă. Dacă am fi avut 3 intrări, ar fi existat o
suprafaţă de separare care ar fi împărţit spaţiul în 2 regiuni. În cazul general
n-dimensional, perceptronul defineşte un hiperplan de separare.

1.2.4. Regula de învăţare a perceptronului

În ecuaţia 1.2 apar atât ponderile cât şi pragul. De fapt, aceşti


parametri pot fi trataţi unitar, deoarece intrarea totală a neuronului
reprezintă până la urmă o sumă. De aceea, pentru a simplifica modelul de
calcul, se consideră că pragul defineşte încă o intrare a neuronului:

19
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

. (1.11)

Considerând această intrare suplimentară ca fiind 1 în loc de –1,


pragul va fi valoarea negată a ponderii conexiunii respective. În acest mod,
algoritmul de învăţare are ca scop doar determinarea unor ponderi.
Arhitectura perceptronului după aceste transformări este prezentată în figura
1.10.

x1
w1

x2 w2 Σwixi y

wn -θ

xn
1

Figura 1.10. Perceptronul. Pragul poate fi considerat


ponderea unei conexiuni suplimentare

Astfel, ieşirea este:

. (1.12)

Pentru a descrie regula de învăţare a perceptronului, vom utiliza


următoarele notaţii. Fie x = (x1, …, xn) un vector de intrare. Mulţimea de

20
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

antrenare conţine N astfel de vectori. Pentru vectorul x, y este ieşirea


calculată de perceptron iar yd este ieşirea dorită (corectă, cunoscută). Fie
w = (w1, …, wn, wn+1) vectorul de ponderi. Conform celor discutate anterior,
wn+1 = – θ.
Învăţarea are loc prin modificarea valorilor ponderilor pentru a
reduce diferenţa dintre ieşirile reale şi ieşirile dorite, pentru toate datele de
antrenare. Instanţele de antrenare se prezintă la intrarea reţelei succesiv,
calculându-se ieşirea reţelei şi eroarea. Pe baza erorii se ajustează ponderile.
Prezentarea instanţelor se face iterativ, până se termină toată mulţimea de
antrenare. Prezentarea tuturor instanţelor reprezintă o epocă de antrenare.
Apoi, dacă mai există erori, procesul poate reîncepe cu o nouă epocă şi
continuă până când ieşirea perceptronului este egală cu ieşirea dorită pentru
toate instanţele de antrenare.
Dacă după prezentarea instanţei i ieşirea reală este yi iar ieşirea
dorită este ydi, atunci eroarea este:

. (1.13)

Dacă eroarea este pozitivă, trebuie să creştem ieşirea perceptronului


yi. Dacă eroarea este negativă, trebuie să micşorăm ieşirea yi.

Exemplu

Să considerăm problema de clasificare bidimensională definită de


mulţimea de antrenare din tabelul 1.1, care ne va ajuta să înţelegem
algoritmul de antrenare.

21
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Tabelul 1.1. Mulţime de antrenare


Intrări Ieşire dorită
11 1
1 –1 0

Vom folosi pentru perceptron funcţia treaptă, însă dacă problema era
definită cu valori ale clasei de –1 în loc de 0, se putea folosi funcţia semn
fără alte modificări.
De asemenea, pentru a simplifica şi mai mult lucrurile, vom ignora
pragul. În această situaţie, găsirea perechii de ponderi se rezumă la a găsi
orientarea potrivită a unei drepte care se poate roti în jurul originii.
Dacă vectorul de ponderi este w = (–0,2, 0,1), ieşirile perceptronului
pentru cei doi vectori vor fi:

Primul vector nu este clasificat corect: y1 = 0 însă yd1 = 1. Eroarea


este e = 1. Situaţia este reprezentată în figura 1.11.

1.5

0.5

-0.5

-1

-1.5
-1.5 -1 -0.5 0 0.5 1 1.5

Figura 1.11. Procesul de învăţare: ajustarea ponderilor (cazul 1)

22
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

Se vede că ambele puncte sunt sub dreapta de separare. Ecuaţia


dreptei este:

(1.14)

echivalent cu:

, (1.15)

deci panta dreptei este –w1 / w2.


Am dori să scădem panta dreptei, astfel încât să treacă printre cele
două puncte. Întrucât eroarea apare la primul vector, cel de sus, trebuie
modificat w1. Prin urmare, trebuie mărit w1, de exemplu la valoarea
w1 = –0,05, rezultând situaţia din figura 1.12.

1.5

0.5

-0.5

-1

-1.5
-1.5 -1 -0.5 0 0.5 1 1.5

Figura 1.12. Procesul de învăţare: ajustarea ponderilor (cazul 2)

Acum ieşirile perceptronului vor fi:

23
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

care sunt răspunsurile corecte.


Analog, dacă vectorul de ponderi este w = (0,2, 0,1), ieşirile
perceptronului pentru cei doi vectori vor fi:

adică dreapta trece pe dedesubtul vectorului al doilea. Eroarea acestuia este


. În acest caz, panta –w1 / w2 trebuie
crescută şi în consecinţă trebuie mărit w2, să spunem până la w2 = 0,4.
Ieşirile perceptronului vor fi:

şi corespund răspunsurilor corecte.


Să sintetizăm rezultatele. În primul caz, e1 > 0, x1 > 0 şi diferenţa cu
care am actualizat ponderea, . În al doilea caz, e2 < 0, x2 < 0 şi
.
Acum să considerăm exemplul rotit cu 180° în jurul originii,
definind problema următoare din tabelul 1.2, cu vectorul de ponderi
w = (0,2, –0,1), după cum se poate vedea în figura 1.13.

24
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

Tabelul 1.2. Mulţime de antrenare


Intrări Ieşire dorită
–1 1 0
–1 –1 1

1.5

0.5

-0.5

-1

-1.5
-1.5 -1 -0.5 0 0.5 1 1.5

Figura 1.13. Procesul de învăţare: ajustarea ponderilor (cazul 3)

Ieşirile perceptronului pentru cei doi vectori vor fi:

Vectorul 2 are eroarea e2 = 1 – 0 > 0. Acum am dori să scădem panta


dreptei –w1 / w2, astfel încât cele două puncte să fie separate, modificând w2.
Ponderea w2 trebuie să scadă. Pentru w2 = –0,3, vom avea:

ceea ce reprezintă o clasificare corectă.

25
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

În această situaţie avem e2 > 0, x2 < 0 şi .


La fel putem găsi o configuraţie în care e < 0, x > 0 şi .
Întrucât dorim să determinăm modul în care se schimbă ponderile,
vom sumariza cele 4 cazuri în tabelul 1.3.

Tabelul 1.3. Schimbarea ponderilor în funcţie de semnele erorii şi intrării


e x Δw
>0 >0 >0
<0 <0 >0
>0 <0 <0
<0 >0 <0

Se vede că semnul lui ∆w este produsul semnelor lui e şi x.

Cantitatea cu care trebuie să modificăm vectorul w poate fi mai


mare sau mai mică. În general, neştiind care este valoarea exactă a
diferenţei, folosim succesiv o serie de paşi mici, până este îndeplinită
condiţia de eroare. În acest sens, se utilizează un număr η ∈ (0, 1] numit
rată de antrenare, care indică mărimea paşilor făcuţi pentru găsirea soluţiei.
Pentru modificarea ponderilor se utilizează ecuaţia:

. (1.16)

Aceasta este relaţia fundamentală care caracterizează regula de


învăţare a perceptronului.
Pseudocodul algoritmului este următorul.

26
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

se iniţializează toate ponderile wi cu 0 sau cu valori aleatorii din intervalul [–0,5, 0,5]
se iniţializează rata de învăţare eta cu o valoare din intervalul (0, 1], de exemplu 0,1
se iniţializează numărul maxim de epoci P, de exemplu 100
p = 0 // numărul epocii curente
erori = true // un flag care indică existenţa erorilor de antrenare

repetă cât timp p < P şi erori == true


{
erori = false
pentru fiecare vector de antrenare xi cu i = 1..N
{
yi = F(sum(xij * wj)) cu j = 1..n+1
dacă (yi != ydi)
{
e = ydi – yi
erori = true
pentru fiecare intrare j = 1..n+1
wj = wj + eta * xij * e
}
}
p=p+1
}

Teorema de convergenţă a regulii de învăţare a perceptronului


(Rosenblatt, 1962) arată că dacă o problemă poate fi rezolvată (dacă este
separabilă liniar), atunci algoritmul converge spre o soluţie într-un număr
finit de paşi.
Perceptronul este cea mai simplă formă de reţea neuronală cu
propagare înainte (engl. “feed forward”), în care semnalele se propagă doar
de la intrări spre ieşiri, fără bucle de reacţie.
El poate învăţa tot ce poate reprezenta, dar nu poate reprezenta foarte
mult (Russell & Norvig, 2002). Întrucât majoritatea problemelor interesante
din viaţa reală nu sunt separabile liniar, aceasta este o deficienţă majoră a

27
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

modelului (Minsky & Papert, 1969), care a condus la scăderea interesului


cercetării în domeniul reţelelor neuronale în anii 70, până când a fost
propusă o nouă arhitectură, perceptronul multistrat, cu un algoritm de
învăţare eficient, bazat pe retropropagarea erorii (engl. “backpropagation”).

1.5

0.5

-0.5
-0.5 0 0.5 1 1.5

Figura 1.14. Soluţie pentru problema logică ŞI

1.5

0.5

-0.5
-0.5 0 0.5 1 1.5

Figura 1.15. Soluţie pentru problema logică SAU

28
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

De exemplu, este uşor ca perceptronul să înveţe operaţii logice


precum ŞI (figura 1.14) sau SAU (figura 1.15), întrucât acestea sunt
separabile liniar.
Este de asemenea important de spus faptul că soluţia nu este unică,
de exemplu pentru problema ŞI o soluţie alternativă este cea din figura 1.16.

1.5

0.5

-0.5
-0.5 0 0.5 1 1.5

Figura 1.16. Soluţie alternativă pentru problema logică ŞI

Vom discuta ideea de a găsi cea mai bună soluţie în capitolul 3, în


care începe descrierea maşinilor cu vectori suport.
Însă nu există nicio dreaptă care poate separa clasele operaţiei
SAU-EXCLUSIV (engl. XOR); această problemă nu este separabilă liniar
(figura 1.17).
Când clasele nu sunt separabile liniar, ponderile se modifică
permanent pe parcursul antrenării, într-o manieră aparent aleatorie. În
general, este dificilă determinarea apriori a separabilităţii liniare a unei

29
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

probleme, pentru a şti dacă perceptronul va putea învăţa funcţia


corespunzătoare.

1.5

0.5

-0.5
-0.5 0 0.5 1 1.5

Figura 1.17. Problema logică SAU-EXCLUSIV

Totuşi, există şi funcţii complexe separabile linear, de exemplu


funcţia majoritate cu n intrări, a cărei valoare este 1 dacă mai mult de
jumătate din intrări sunt 1 şi –1 / 0 altfel. Perceptronul este un model foarte
simplu care poate rezolva această problemă, pe când un arbore de decizie ar
necesita O(2n) noduri pentru învăţarea sa.

1.3. Adaline. Regula delta

La scurt timp după apariţia perceptronului, Widrow şi Hoff (1960)


au prezentat modelul adaline (abreviere de la “ADAptive LInear NEuron” şi
mai târziu, după scăderea popularităţii reţelelor neuronale, de la “ADAptive
LINear Element”).

30
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

Ca structură, adaline este similar cu perceptronul, diferenţa fiind


lipsa funcţiei treaptă sau semn; adaline are o funcţie de activare liniară:

. (1.17)

Avantajul folosirii funcţiei liniare este pe de o parte posibilitatea de a


avea ieşiri continue şi deci o putere de reprezentare mai mare şi pe de alta,
faptul că se pot utiliza metode diferenţiale pentru învăţarea valorilor
ponderilor.
Obiectivul algoritmului de învăţare este minimizarea erorii medii
pătratice (engl. “Mean Square Error”, MSE), care este o măsură a diferenţei
dintre ieşirile dorite şi ieşirile reale ale reţelei.
Eroarea corespunzătoare unui vector de antrenare este:

. (1.18)

Eroarea pentru toată mulţimea de antrenare este media tuturor


acestor erori:

. (1.19)

Scopul final este minimizarea erorii totale E.


S-ar putea pune întrebarea de ce se foloseşte această măsură pătratică
a diferenţei şi nu alta, de exemplu valoarea sa absolută: .

31
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Un motiv simplu este că această cantitate va fi derivată pentru


obţinerea unei formule de actualizare a ponderilor. Fiind o funcţie
cuadratică, este uşor de minimizat, iar puterea 2 se simplifică cu coeficientul
1/2, aceasta fiind explicaţia pentru includerea sa.
Un alt motiv, mai complicat, se referă la unele proprietăţi statistice
ale datelor, care sunt puse în evidenţă de pătratul diferenţelor, în condiţiile
în care se presupune că aceste diferenţe respectă o distribuţie gaussiană.
De asemenea, pătratul diferenţelor ne face să privim eroarea ca pe o
distanţă euclidiană între valorile dorite şi valorile reale furnizate de reţea.
Folosirea valorilor absolute ale diferenţelor ar fi echivalentă cu aplicarea
distanţei Manhattan (Leon, 2012). Ambele variante ar putea fi utilizate, însă
distanţa euclidiană poate fi considerată mai intuitivă.
În cazul modelului adaline, dorim minimizarea erorii în raport cu
ponderile, adică găsirea iterativă a valorilor ponderilor care conduc la o
eroare minimă.
După prezentarea unui vector de antrenare i, în conformitate cu
mărimea erorii, va trebui să aplicăm o corecţie tuturor ponderilor j,
proporţională cu contribuţia fiecărei ponderi la apariţia acelei erori:

, (1.20)

unde η este rata de învăţare.


Însă ponderile nu acţionează direct asupra erorii, de aceea putem
scrie derivata sub următoarea formă, luând în calcul şi ieşirea reţelei:

. (1.21)

32
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 1. Reţele neuronale cu un singur strat

Pentru calcularea primului factor, derivăm ecuaţia 1.18:

. (1.22)

Pentru calcularea celui de al doilea factor, ţinem cont că funcţia de


activare este liniară (ecuaţia 1.17) şi vom avea:

. (1.23)

Prin urmare:

. (1.24)

Această ecuaţie poartă numele de regula delta.


Numele vine de la notaţia alternativă care foloseşte simbolul „delta”
pentru diferenţa dintre ieşirea reală şi ieşirea dorită.
Se observă că formula 1.24 este identică cu formula 1.16 de la
perceptron. Acest lucru nu este surprinzător, întrucât suprafaţa de separare
este aceeaşi. Modul de derivare a regulii de învăţare este însă diferit şi
necesită ca funcţia de activare să fie derivabilă, ceea ce nu este cazul la
perceptron, deoarece funcţiile treaptă sau semn sunt discontinue. De
asemenea, metoda se poate folosi cu orice altă funcţie derivabilă, de
exemplu pentru funcţiile sigmoide în cazul antrenării reţelelor de tip
perceptron multistrat.
Pseudocodul algoritmului de învăţare pentru adaline, foarte
asemănător cu algoritmul de învăţare pentru perceptron, este următorul.

33
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

se iniţializează toate ponderile wi cu valori aleatorii din intervalul [–0,5, 0,5]


se iniţializează rata de învăţare eta cu o valoare din intervalul (0, 1], de exemplu 0,1
se iniţializează numărul maxim de epoci P, de exemplu 100
se iniţializează eroarea maximă admisă Emax, de exemplu 0,001
p = 0 // numărul epocii curente
mse = 0 // eroarea pătratică medie a epocii curente

repetă cât timp p < P şi mse > Emax


{
mse = 0
pentru fiecare vector de antrenare xi cu i = 1..N
{
yi = sum(xij * wj) cu j = 1..n+1
e = ydi – yi
2
mse = mse + e
pentru fiecare intrare j = 1..n+1
wj = wj + eta * xij * e
}
mse = mse / (2 * N)
p=p+1
}

Algoritmul converge destul de repede către o soluţie bună.


Dezavantajul principal este faptul că, spre deosebire de perceptron,
convergenţa nu este garantată şi algoritmul poate să nu conveargă chiar dacă
clasele sunt separabile liniar. Antrenarea perceptronului se opreşte imediat
ce vectorii de antrenare sunt clasificaţi corect, chiar dacă unii se găsesc la
graniţa suprafeţei de separare. Regula delta, prin minimizarea erorii medii
pătratice, conduce la soluţii în care vectorii de antrenare sunt mai depărtaţi
de suprafaţa de separare (Georgiou, 1997).

34
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2

Noţiuni de teoria învăţării

2.1. Probleme de filosofia învăţării

Înainte de a trece la descrierea maşinilor cu vectori suport, vom


prezenta contextul ştiinţific şi filosofic în care au apărut ideile lor
fundamentale. În mare, aceste rezultate din teoria învăţării încearcă să ofere
nişte garanţii pentru capacitatea de generalizare a unui model inductiv – o
limită a erorii pentru mulţimea de test, împreună cu o serie de condiţii care
trebuie îndeplinite în acest scop, privind de exemplu numărul instanţelor de
antrenare sau natura modelului de învăţare. Este interesant că aceste metode
pun problema unor garanţii privind performanţele algoritmilor pentru nişte
date de fapt necunoscute. Iar pentru a înţelege mai bine aceste concepte,
vom aminti mai întâi câteva chestiuni legate de filosofia învăţării.
Una din problemele profunde ale învăţării este posibilitatea realizării
inducţiei, identificată de Hume (1888): în ce măsură putem trage concluzii
privind experienţele viitoare, bazându-ne pe experienţa acumulată până în
prezent. Întrebările sale se referă la valabilitatea principiilor ştiinţei
experiementale şi la măsura în care aceste rezultate sunt justificabile. De
exemplu, dacă toate lebedele pe care le-am văzut până acum au fost albe,
putem trage concluzia că toate lebedele sunt albe. Însă acest lucru este
adevărat doar până când descoperim că există lebede negre.
De asemenea, putem presupune că unele evenimente din viitor vor
avea loc la fel cum s-a întâmplat în trecut. De exemplu, să considerăm

Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

următoarele ipoteze: 1. Luna se învârte în jurul Pământului; 2. Luna se


învârte în jurul Pământului până mâine, când va dispărea în hiperspaţiu.
Ambele ipoteze sunt perfect compatibile cu experienţa de până în prezent.
Cei mai mulţi oameni vor prefera desigur prima ipoteză, invocând
continuitatea legilor fizicii, însă nu există de fapt un argument solid care să
garanteze continuitatea acestor legi în viitor.
Un alt exemplu privind dificultatea învăţării conceptelor este dat de
Quine (1960). Un lingvist încearcă să înveţe limba unui trib izolat. Unul din
membrii tribului îi arată un iepure şi spune „gavagai”. Se poate trage
concluzia că acest cuvânt înseamnă „iepure”? Poate însemna „alb” (culoarea
sa), „mâncare”, sau „vreau arcul şi săgeţile”. Prin discuţii repetate cu
membrii tribului, unele din aceste posibilităţi pot fi eliminate, dar
întotdeauna vor exista altele. De exemplu, cuvântul ar putea însemna
„iepure” ziua şi „şoarece” noaptea.
Aceste exemple nu demonstrează imposibilitatea învăţării; oamenii
învaţă şi aplică noţiunile învăţate. Însă strategia cheie este alegerea
ipotezelor mai simple, aşa cum indică briciul lui Occam (principiu explicat
de exemplu de Gibbs & Sugihara, 1997): când mai multe ipoteze pot explica
observaţiile, este de preferat alegerea ipotezei celei mai simple. Este mai
plauzibil că Luna va continua să se învârtă în jurul Pământului decât că va
dispărea în hiperspaţiu şi că „gavagai” înseamnă „iepure” întotdeauna decât
că înseamnă „iepure” ziua şi „şoarece” noaptea. Se pare că oamenii ignoră
ipotezele mai complexe până în momentul când sunt forţaţi de evidenţe să le
adopte. Mecanica newtoniană era ipoteza general acceptată până la apariţia
dovezilor privind teoria relativităţii şi mecanica cuantică.
Dacă ipotezele mai simple sunt mai plauzibile, înseamnă că există o
strânsă analogie între învăţarea unui model compact care descrie

36
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

observaţiile şi compresia datelor. Unul din scopurile învăţării este aşadar


descoperirea unor ipoteze mai simple decât datele pe care le modelează
(Aaronson, 2008a). O descriere succintă a observaţiilor din trecut este foarte
importantă pentru prezicerea evenimentelor viitoare.
La nivelul anilor 60-70, s-au conturat două curente filosofice privind
învăţarea (Vapnik, 1995). Filosofia analizei aplicative a proceselor de
învăţare pleca de la premisa că minimizarea erorilor de antrenare este
singura cauză care poate determina o probabilitate mică a erorilor pentru
mulţimea de test. De exemplu, pentru a utiliza modelul perceptronului lui
Rosenblatt, problema practică era găsirea unor metode de determinare a
parametrilor acestuia (ponderile şi pragul) necesari pentru a obţine un număr
mic de erori de clasificare pentru mulţimea de antrenare. Filosofia analizei
teoretice a proceselor de învăţare considera că acest principiu nu este
evident. Problema era determinarea unui alt principiu de inducţie care să
maximizeze capacitatea de generalizare şi construirea unor algoritmi care
să-l implementeze.
În cele ce urmează, vom analiza răspunsurile la următoarele
întrebări: ce caracteristici trebuie să aibă ipotezele pentru a fi capabile să
înveţe şi ce garanţii putem avea asupra capacităţii lor de generalizare.

2.2. Învăţarea probabil aproximativ corectă

Învăţarea probabil aproximativ corectă (engl. “Probably


Approximately Correct”, PAC), propusă de Valiant (1984), presupune că
modelului i se prezintă nişte instanţe selectate aleatoriu conform unei
x, f(x
distribuţii de probabilitate sub forma (x x)) unde x este o instanţă de
antrenare binară de dimensiune n iar f(x
x) este valoarea binară

37
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

corespunzătoare instanţei x care trebuie învăţată (clasa). Pe baza acestor


instanţe de antrenare (sau exemple), modelul trebuie să găsească o funcţie-
ipoteză h care să coincidă cu f sau cel puţin să o aproximeze suficient de
bine. De asemenea, se permite o mică probabilitate ca modelul să eşueze.
De exemplu, dacă instanţele de antrenare nu au o diversitate suficientă
pentru a reflecta subtilităţile conceptului f, acesta nu va putea fi învăţat
corect. De aceea, PAC încearcă să stabilească o limită inferioară pentru
numărul instanţelor de antrenare necesare pentru ca probabilitatea de a nu
putea învăţa corect conceptul f să fie suficient de mică. Altfel spus, PAC
stabileşte o limită inferioară pentru numărul necesar de instanţe de antrenare
şi o limită superioară pentru probabilitatea de a greşi.
Fie ε eroarea maximă admisă în aproximarea lui f şi
δ – probabilitatea maximă de a greşi, adică de a depăşi această eroare
maximă admisă. Fie D distribuţia de probabilitate definită pe domeniul de
n
intrare X = {0, 1} . Se presupune că toate instanţele prezentate modelului
sunt extrase sau generate numai din această distribuţie şi sunt independente
una de alta.
Eroarea cu care h aproximează f poate fi scrisă astfel:

. (2.1)

Metoda PAC este independentă de D şi deci poate funcţiona pentru


orice distribuţie. Singura restricţie este ca probabilitatea erorii pentru
instanţele de test să fie calculată pentru aceeaşi distribuţie D căreia îi aparţin
instanţele de antrenare (Klivans, 2005).
Fie H o clasă de funcţii binare . Spunem că H
este învăţabil PAC dacă există un algoritm L astfel încât o

38
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

distribuţie de probabilitate, şi o mulţime de


instanţe de antrenare aleatorii alese din D, L găseşte ipoteza h care respectă
relaţia:

. (2.2)

Prin urmare, problema PAC este de a găsi o ipoteză h care


aproximează conceptul f cu o probabilitate de cel puţin 1 – δ ca eroarea
dintre h şi f să fie cel mult ε.
În definiţia de mai sus, ε este mai mic decât 1 / 2, deoarece nu ne
interesează modelele în care rezultatul este inferior sau egal cu alegerea unei
ieşiri în mod aleatoriu, cum ar fi prin aruncarea unui ban (Valiant, 1984;
Kearns & Vazirani, 1994).
Există o distincţie între noţiunea de învăţare PAC puternică (engl.
“strong PAC learning”), definită ca mai sus, în care relaţia trebuie să se
respecte pentru orice valoare a lui ε (adică eroarea să fie arbitrar de mică) şi
noţiunea de învăţare PAC slabă (engl. “weak PAC learning”), în care relaţia
trebuie să se respecte pentru măcar o valoare a lui ε. Chiar dacă primul
criteriu pare mult mai puternic, s-a demonstrat că orice algoritm de învăţare
slab poate fi transformat într-unul puternic, prin metoda numită “boosting”
(Schapire, 1990).
Ne mai interesează ca algoritmii de învăţare să fie utilizabili din
punct de vedere practic, adică să înveţe în timp polinomial. Acest lucru este
posibil doar pentru anumite clase de funcţii; de exemplu, dacă avem un
număr exponenţial de ipoteze, testarea lor va necesita un timp exponenţial.
Se spune că o mulţime de ipoteze H este învăţabilă PAC în timp
polinomial dacă există un algoritm de complexitate de timp polinomială în

39
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

numărul de instanţe necesare N, în dimensiunea problemei n, în 1/ε și în


1/δ, care poate învăța funcțiile din H (Nilsson, 1998).
O clasă de ipoteze se mai numeşte maşină. De aici vine şi denumirea
maşinilor cu vectori suport.
Notăm cu ea eroarea pe mulţimea de antrenare şi cu et eroarea pe
mulţimea de test. Numim ipoteză consistentă o ipoteză care modelează
perfect mulţimea de antrenare, adică ea = 0.
Chiar dacă eroarea este 0 pentru mulţimea de antrenare, ipoteza
poate avea erori pentru mulţimea de test şi atunci:

(2.3)

iar pentru a avea acest rezultat, numărul de instanţe de antrenare trebuie să


fie:

. (2.4)

Formulele de mai sus, precum şi cele din continuare, pot părea


oarecum bizare la prima vedere. Pentru a explica modul de gândire care a
condus la deducerea lor, vom prezenta în cele ce urmează demonstraţia
relaţiei 2.4.

40
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

Demonstraţie

Dorim să aflăm care este numărul minim de instanţe de antrenare


care să garanteze că . Ne dorim ca eroarea pe mulţimea de
test să fie cât mai mică, de exemplu ε = 0,1 şi probabilitatea de a obţine
această eroare să fie cât mai mare, de exemplu δ = 0,05.
Considerăm o ipoteză nepotrivită (engl. “bad”) o ipoteză care nu
respectă relaţia et < ε.
Se presupune că mulţimea de antrenare nu este afectată de zgomot.
Numărul de instanţe de antrenare este în general mic în comparaţie
cu numărul tuturor instanţelor posibile extrase din distribuţia D. Cu cât
numărul instanţelor de antrenare este mai mare, cu atât performanţele
ipotezei pe mulţimea de antrenare se vor apropia de performanţele pentru
toate instanţele distribuţiei, conform legii numerelor mari. Pentru un număr
mic de instanţe de antrenare, o ipoteză nepotrivită ne-ar putea păcăli
deoarece le-ar putea modela perfect pe acestea, însă ar avea performanţe
slabe la generalizare.
Deoarece problema de clasificare este binară, ipoteza va da
răspunsuri egale sau diferite de valoarea adevărată a funcţiei care trebuie
învăţată. Eroarea este aici procentul de instanţe clasificate greşit din
numărul total de instanţe considerate, deci este echivalentă cu o
probabilitate: probabilitatea de a clasifica în mod greşit o instanţă arbitrară
extrasă din distribuţia D. Prin urmare, pentru o ipoteză nepotrivită hn:

(2.5)

41
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

ceea ce este echivalent cu:

. (2.6)

Considerând că instanţele de antrenare sunt independente,


probabilitatea ca o ipoteză nepotrivită să modeleze perfect N instanţe este:

. (2.7)

Să considerăm acum că există mai multe ipoteze nepotrivite şi fie


HN mulţimea lor. Atunci, probabilitatea că există o ipoteză nepotrivită dar
consistentă este mărginită astfel:

. (2.8)

Ultima inegalitate este evidentă deoarece şi .


Se foloseşte în continuare următorul rezultat: . Atunci,
vom avea:

. (2.9)

Conform principiului învăţării PAC, dorim o probabilitate mare,


1 – δ, de a avea o ipoteză potrivită, deci o probabilitate mică să se întâmple
ecuaţia 2.8, adică să fim păcăliţi de o ipoteză nepotrivită, dar consistentă:

. (2.10)

42
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

În continuare, se logaritmează relaţia 2.10 şi se determină expresia


pentru N:

. (2.11)

Folosind acelaşi mod de gândire, se calculează probabilitatea de


generalizare corectă şi numărul minim de instanţe de antrenare pentru
situaţia în care există erori chiar pe mulţimea de antrenare, adică ea ≠ 0
(Guestrin, 2005):

(2.12)

. (2.13)

Exemple

Pentru a calcula Pmin şi Nmin, trebuie determinat mai întâi numărul de


ipoteze |H| pentru o anumită clasă de ipoteze H.
Ca prim exemplu, fie H1 mulţimea funcţiilor booleene pentru care
ipotezele sunt toate tabelele de adevăr care atribuie combinaţiilor de intrare
valori de adevărat sau fals (engl. “lookup table machine”).
Pentru 2 atribute x1 şi x2 vor fi 16 ipoteze posibile, prezentate în
tabelul 2.1 (Murphy, 2006).

43
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

În general, pentru k atribute vor fi ipoteze posibile. Acest


număr nu este polinomial, prin urmare rezultatele obţinute în acest caz
aplicând teoria învăţării PAC nu vor fi relevante din punct de vedere practic,
după cum vom vedea în continuare.

Tabelul 2.1. Ipotezele de tip funcţie logică pentru 2 variabile


x1 x2 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Fie acum H2 mulţimea ipotezelor de forma conjuncţiilor de variabile


booleene. Ipotezele constau în propoziţii logice cu variabilele x1, ..., xk şi
negaţiile lor, folosind doar operatorul ŞI, precum: , sau
.
După cum se poate vedea în tabelul 2.2 (Moore, 2001a), pentru 2
variabile x1 şi x2 vor fi 9 ipoteze posibile (A este valoarea adevărat, care
este element neutru pentru operaţia ŞI).

Tabelul 2.2. Ipotezele de tip conjucţie booleană pentru 2 variabile


x1 x2 Formula
h1 A A A
h2 A  
h3 A  
h4  A 
h5    ∧ 
h6    ∧ 
h7  A 
h8    ∧ 
h9    ∧ 

44
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

În general, pentru k atribute de tipul variabilelor booleene,


dimensiunea mulţimii tuturor ipotezelor va fi .
Să considerăm acum o problemă cu 10 atribute. Mulţimea tuturor
combinaţiilor posibile are 1024 de elemente. Presupunem că nu avem erori
pe mulţimea de antrenare şi că probabilitatea minimă dorită este de 95%,
adică δ = 0,05. Ne interesează limitele maxime pentru erorile de generalizare
pe care le garantează teoria, în funcţie de numărul instanţelor de antrenare.
Pentru mulţimea de ipoteze a funcţiilor booleene şi 100 de instanţe
de antrenare (N = 100), avem:

Mai exact, avem situaţia următoare:

Cu 1000 de instanţe de antrenare, expresia este:

Să ne amintim că funcţiile sunt binare, prin urmare eroarea


corespunde procentului de instanţe clasificate greşit. O valoare de peste 1 nu
aduce în acest context nicio informaţie (este evident că eroarea va fi cel mult
1 în cel mai rău caz). Şi valoarea de 0,71 este prea mare, întrucât ne
intersează erori mai mici de 0,5, adică modele mai bune decât nişte
răspunsuri aleatorii. De asemenea, 1024 este numărul maxim de instanţe

45
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

diferite care pot fi folosite la antrenare pentru problema considerată. Faptul


că teoria învăţării PAC garantează cu o probabilitate mare o eroare mai mică
de 0,71 nu are nicio utilitate practică.
Pentru a doua clasă de ipoteze, cea a conjuncţiilor booleene, cu 100
de instanţe de antrenare, avem:

şi deci:

În acest caz, rezultatul privind eroarea aşteptată la generalizare de


14% este o informaţie relevantă.
Conform ecuaţiei 2.4, putem estima numărul minim de instanţe de
antrenare care garantează cu mare probabilitate o anumită eroare de test.
Dacă dorim o eroare la generalizare mai mică de 10%, adică ε = 0,1, ne-ar
trebui pentru ipotezele de tip funcţii logice N ≥ 7128 iar pentru ipotezele de
tip conjuncţii booleene N ≥ 140.
În primul caz, spaţiul ipotezelor este mult prea mare iar limitele
teoriei învăţării PAC nu sunt de niciun folos. Conjuncţiile booleene sunt
ipoteze destul de simple, iar în acest caz limitele PAC ne pot da o idee
despre ordinul de mărime al erorii aşteptate şi al numărului necesar de
instanţe de antrenare.
Să considerăm acum o situaţie în care avem o eroare de 10% pe
mulţimea de antrenare, pentru ipotezele de tip conjuncţii booleene, cu
N = 100. Atunci:

46
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

Figura 2.1 ilustrează modul în care depinde eroarea maximă ε de


numărul de instanţe N, pentru ipotezele de tip conjuncţii booleene, în
cazurile în care ea = 0, respectiv ea = 0,1, cu acelaşi δ = 0,05.

Figura 2.1. Eroarea de test maximă în funcţie


de numărul de instanţe de antrenare

Dacă ea = 0,1 şi dorim o eroare mai mică de 15% pe mulţimea de


test, adică ε = 0,15, avem nevoie de N ≥ 311. Dacă dorim o eroare mai mică
de 20%, pe mulţimea de test, atunci N ≥ 175.
Figura 2.2 ilustrează dependenţa numărului de instanţe de antrenare
necesare de eroarea maximă dorită, în cazul când ea = 0, respectiv ea = 0,1,
cu δ = 0,05.

47
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Figura 2.2. Numărul de instanţe de antrenare necesare


în funcţie de eroarea maximă dorită

În general, limitele furnizate de metodă sunt foarte mari şi prin


urmare nu au o mare aplicabilitate practică. Sunt importante însă pentru
analiza algoritmilor, pentru a demonstra convergenţa şi pentru a estima
limitele superioare ale erorilor aşteptate.

2.3. Dimensiunea Vapnik-Chervonenkis

Să considerăm o problemă de clasificare binară bidimensională cu o


suprafaţă de separare liniară. Avem câteva date de antrenare, puncte de
coordonate aleatorii din spaţiul de intrare, etichetate cu clasa căreia îi aparţin
(după Aaronson, 2008a). După ce am văzut să spunem 20 sau 100 de
puncte, nu ştim cu siguranţă unde este linia de separare a claselor, însă ne

48
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

putem face o idee aproximativă destul de bună privind localizarea sa (figura


2.3).

Problema 20 de puncte 100 de puncte


Figura 2.3. Problemă definită de o linie de separaţie

Capacitatea de a distinge cele două clase este dată şi de distribuţia


punctelor de antrenare. De exemplu, dacă toate punctele ar fi fost în partea
din stânga sus a pătratului, nu am fi putut aprecia orientarea dreptei de
separare.
Dacă în loc de o dreaptă de separare am avea o linie curbă arbitrară,
situaţia se schimbă (figura 2.4). Este imposibil de prezis forma liniei curbe
de separare pe baza datelor de antrenare din figurile 2.4b şi 2.4c. Există o
infinitate de astfel de linii curbe care separă corect clasele punctelor
eşantionate, dar niciuna din aceste linii nu poate oferi garanţii privind
aproximarea suprafeţei reale din figura 2.4a. De exemplu, ipoteza din figura
2.5b este perfect consistentă cu eşantioanele din figura 2.4a.

Problema 20 de puncte 100 de puncte


Figura 2.4. Problemă definită de o curbă arbitrară de separaţie

49
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Cazul 1 Cazul 2
Figura 2.5. Ipoteze consistente cu datele de antrenare

În primul caz, din contra, chiar dacă există tot o infinitate de drepte
care pot separa clasele punctelor eşantionate, ca în figura 2.5a, toate vor fi
destul de apropiate de suprafaţa de decizie reală (figura 2.3a).
Teoria învăţării statistice încearcă să formalizeze din punct de vedere
matematic diferenţele dintre aceste două situaţii şi să identifice
caracteristicile claselor de ipoteze învăţabile sau ne-învăţabile.
Ideea fundamentală care a condus la dezvoltarea iniţială a maşinilor
cu vectori suport este determinarea unui echilibru între eroarea obţinută
pentru mulţimea de antrenare şi capacitatea metodei de învăţare de a modela
orice mulţime de antrenare. O metodă cu o capacitate mică este ca un
polinom de grad mic care nu poate aproxima o funcţie complexă, fenomen
denumit sub-potrivire (engl. “underfitting”). Una cu o capacitate mare este
ca un polinom de grad foarte mare care trece exact prin punctele eşantionate
ale funcţiei, însă are variaţii mari în zonele intermediare şi deci probabil că
nu va interpola bine punctele (Leon, 2012), fenomen denumit supra-
potrivire (engl. “overfitting”). Un alt exemplu intuitiv (Burges, 1998) pentru
o metodă cu o capacitate mare este analogia cu un botanist cu memorie
fotografică care cunoaşte foarte mulţi arbori, însă atunci când i se arată un
nou arbore, ajunge la concluzia că nu este de fapt arbore deoarece are un
număr de frunze diferit de cel al arborilor pe care i-a văzut anterior. O

50
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

metodă cu o capacitate mică este ca un botanist amator care trage concluzia


că un obiect este arbore dacă este verde. Niciuna din aceste extreme nu
generalizează bine.
Teoria învăţării statistice studiază ce ipoteze pot fi învăţate şi dacă
da, cum afectează natura modelului capacitatea de generalizare.
Ecuaţia 2.4 se poate aplica doar când |H | este finit. Se pune problema
formalizării rezultatului prezentat în mod intuitiv mai sus, conform căruia
mulţimea ipotezelor definite de linii drepte poate fi învăţată, însă mulţimea
ipotezelor definite de curbe arbitrare – nu. Pentru o linie dreaptă, dacă ştim
că nişte puncte sunt de o parte şi de alta a ei, ne putem face o idee despre
poziţia sa. Însă oricâte puncte am cunoaşte de o parte şi de alta a unei curbe
arbitrare, nu putem aprecia forma acelei curbe. Atât numărul liniilor drepte
posibile cât şi cel al liniilor curbe posibile este infinit. Diferenţa dintre cele
două situaţii a fost explicată cu ajutorul conceptului de dimensiune Vapnik-
Chervonenkis (Vapnik & Chervonenkis, 1968; 1971).
Spunem că o mulţime de puncte x1, ..., xn este sfărâmată (engl.
“shattered”) de o clasă de ipoteze H dacă pentru toate 2n configuraţii
posibile de etichetare a punctelor cu una din cele două clase: c(x1), ..., c(xn),
există o ipoteză h ∈ H care clasifică în mod corect aceste puncte (Aaronson,
2008b).
Cu alte cuvinte, mulţimea de puncte este sfărâmată de clasa de
ipoteze H dacă, indiferent cum alegem clasele punctelor, un membru al lui
H le poate separa sau clasifica perfect (Hastie, Tibshirani & Friedman,
2001).
Dimensiunea Vapnik-Chervonenkis (abreviată „VC”) a unei clase de
ipoteze (sau a unei maşini) H este numărul maxim de puncte care pot fi
aranjate astfel încât H să le poată sfărâma (Moore, 2001b).

51
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Numărul maxim de puncte este acelaşi cu numărul maxim de


instanţe de antrenare care pot fi învăţate de maşină fără eroare. Trebuie
subliniat faptul că nu este obligatoriu ca pentru o dimensiune VC egală cu d,
toate mulţimile de d puncte să poată fi sfărâmate. Este suficient să existe
o singură mulţime de puncte care să poată fi sfărâmată (Sewell, 2014).

Exemplu

Să considerăm clasa de ipoteze a liniilor drepte şi o problemă de


clasificare bidimensională binară cu N = 3 puncte. Există 23 = 8 moduri de a
eticheta aceste puncte ca aparţinând celor două clase, după cum se poate
vedea în figura 2.6 (Kecman, 2001), configuraţiile 1-8.

Figura 2.6. Exemple de configuraţii pentru calcularea dimensiunii VC

52
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

În toate aceste cazuri, există o linie dreaptă care poate despărţi cele
3 puncte, astfel încât toate punctele dintr-o clasă să fie de o parte a dreptei şi
toate punctele din cealaltă clasă să fie de cealaltă parte a dreptei.
Tot pentru 3 puncte, există alte configuraţii (9 şi 10) care nu pot fi
separate de o linie dreaptă. Totuşi, pentru calculul dimensiunii VC este
necesar să existe cel puţin o situaţie în care clasa de ipoteze să clasifice
corect punctele. Pentru 3 puncte, o astfel de situaţie este cea prezentată în
configuraţiile 1-8.
Dacă pentru aceeaşi clasă de ipoteze vom considera o problemă
similară cu N = 4 puncte dispuse arbitrar, se poate vedea că există cel puţin
2 configuraţii (11 şi 12) în care nicio linie dreaptă nu poate separa corect
cele două clase. Este problema tipică a funcţiei binare SAU-EXCLUSIV (XOR),
care nu este separabilă liniar şi care nu poate fi învăţată de un perceptron cu
un singur strat. Mai mult, nu există nicio mulţime de 4 puncte pentru care o
linie dreaptă să poată realiza toate cele 16 clasificări necesare. Punctele pot
forma un patrulater, în care colţurile opuse aparţin aceleiaşi clase, pot forma
un triunghi cu un punct interior care să aibă o clasă diferită de vârfurile
triunghiului sau pot exista 3 puncte coliniare în clase diferite (Aaronson,
2008b). Niciuna din aceste situaţii nu poate fi rezolvată cu o linie dreaptă.
Prin urmare, dimensiunea VC a clasei de ipoteze a liniilor drepte în
plan este 3.
Pentru 4 puncte există alte clase de ipoteze, de exemplu cea a
funcţiilor cuadratice pentru configuraţiile 9-12, care pot clasifica punctele
corect şi prin urmare au o dimensiune VC mai mare.

53
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

În general, pentru a demonstra că dimensiunea VC a unei clase de


ipoteze este cel puţin d, trebuie doar să găsim o mulţime potrivită de
dimensiune d. Pentru a demonstra că dimensiunea VC este cel mult d,
trebuie să arătăm că nu există nicio mulţime de dimensiune d + 1 care să
poată fi sfărâmată. Al doilea caz este de obicei mult mai dificil decât primul
(Kearns & Vazirani, 1994).
S-a demonstrat că dimensiunea VC a unui clasificator liniar
n-dimensional, aşa cum este perceptronul, este n + 1.
Dacă există o mulţime finită de puncte, oricât de mare, care poate fi
sfărâmată de o clasă de ipoteze, atunci dimensiunea VC a acesteia este
infinită.

Exemplu

O clasă de ipoteze cu dimensiune VC infinită este familia de funcţii


θ(sin(αx)) (Vapnik, 1995). Prin alegerea convenabilă a lui α, orice mulţime
de puncte unidimensionale poate fi sfărâmată.
Funcţia θ este funcţia indicator sau treaptă (ecuaţia 1.4), des utilizată
de Vapnik, deoarece permite lucrul cu două clase.
Pentru a demonstra că dimensiunea VC a acestui model este infinită,
să considerăm N puncte (N fiind oricât de mare), cu o etichetare a claselor
arbitrară.
Atunci putem alege poziţionarea celor N puncte ca fiind xi = 10–i şi:

54
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

astfel încât funcţia θ(sin(αx)) le separă perfect.


Două exemple de etichetare diferită a 5 puncte sunt prezentate în
figurile 2.7 şi 2.8. Modificând perioada funcţiei sinusoidale, clasele celor
5 puncte pot fi separate.

Figura 2.7. Funcţie sinusoidală de separare (cazul 1)

Figura 2.8. Funcţie sinusoidală de separare (cazul 2)

Deşi cu această familie de funcţii putem separa un număr oricât de


mare de puncte, există de asemenea o mulţime mică de puncte care nu poate
fi sfărâmată, de exemplu 4 puncte situate la distanţe egale, ca în figura 2.9
(Burges, 1998).

55
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Figura 2.9. Mulţime de 4 puncte care nu poate fi sfărâmată de


clasa de ipoteze sinusoidale, în ciuda dimensiunii VC infinite

Revenind la formalizarea posibilităţii unei clase de ipoteze de a fi


învăţate, prezentăm două teoreme în cele ce urmează.
O clasă de ipoteze H poate fi învăţată PAC doar dacă dimensiunea
Vapnik-Chervonenkis a acesteia, dVC , este finită (Blumer et al., 1989).
Limita inferioară a numărului de instanţe pe care trebuie să le
examineze orice algoritm de învăţare PAC este (Shawe-Taylor, Anthony &
Biggs, 1993):

. (2.14)

Dimensiunea VC măsoară capacitatea unui spaţiu de ipoteze.


Capacitatea este un indicator al complexităţii unei mulţimi de funcţii care se
reflectă în puterea de expresie sau flexibilitatea acesteia – cât de „ondulaţi”
pot fi membrii ei. Capacitatea este strâns legată de performanţele de
generalizare. Pentru a generaliza bine, clasa de ipoteze trebuie să aibă o
dimensiune VC cât mai mică. Acest rezultat este de fapt o formulare
alternativă a principiului briciului lui Occam.
Dimensiunea mulţimii de antrenare necesară pentru a asigura o
anumită capacitate de generalizare variază liniar cu dimensiunea VC în
cazul unor ipoteze consistente. Prin urmare, confirmarea unui alt rezultat

56
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

intuitiv este că pentru a avea aceleaşi performanţe la generalizare, ipotezele


mai simple necesită mai puţine date de antrenare.
Dacă o familie de funcţii are o capacitate mică (funcţiile sunt simple)
dar modelează bine mulţimea de antrenare, există o probabilitate mare că
vor funcţiona bine şi pe date noi, din aceeaşi distribuţie.
În cazul unui separator liniar n-dimensional, există următoarea
relaţie (Wortman Vaughan, 2011):

. (2.15)

Deşi există o corelaţie între dimensiunea VC a unei mulţimi de


funcţii şi numărul de parametri liberi ai funcţiilor (de exemplu cazul
separatoarelor n-dimensionale), în general cele două valori nu coincid.
Dimensiunea VC este infinită în cazul funcţiilor sin(αx) care au un singur
parametru, α. Dar se pot defini funcţii cu un număr foarte mare de parametri
care generalizează bine deoarece au o dimensiune VC mică (Vapnik, 1995),
aşa cum vom vedea în cazul maşinilor cu vectori suport.
Dimensiunea VC a unui model de învăţare nu este uşor de
determinat. Chiar şi stabilirea unor limite poate fi dificilă. Cu toate acestea,
dimensiunea VC a fost calculată pentru numeroase modele, precum funcţii
booleene, reţele neuronale sau arbori de decizie. Dimensiunea VC a
clasificatorului bazat pe cel mai apropiat vecin este infinită de vreme ce
orice mulţime de puncte etichetate arbitrar poate fi învăţată perfect, câtă
vreme nu există puncte identice cu etichete de clasă diferite. Însă în acest
caz dimensiunea infinită nu conduce automat la performanţe slabe,
dimpotrivă, acest clasificator are în multe situaţii o bună capacitate de
generalizare.

57
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

2.4. Riscul empiric şi riscul structural

Să considerăm o clasă de probleme de clasificare binară pentru care


ieşirea este iar o mulţime de funcţii indicator (care iau doar
valorile 0 sau 1), unde reprezintă parametrii abstracţi ai funcţiilor, de
exemplu parametrii unor hiperplane de separare, structura şi ponderile unei
reţele neuronale etc. Se cunosc instanţele de antrenare care
aparţin unei distribuţii de probabilitate necunoscute D.
În teoria învăţării statistice, se utilizează noţiunea de risc pentru a
indica eroarea la generalizare, adică performanţele modelului de învăţare
pentru toate datele necunoscute, care aparţin însă aceleiaşi distribuţii ca şi
datele de antrenare.
Se doreşte găsirea modelului de învăţare optim care
minimizează riscul aşteptat:

. (2.16)

De vreme ce distribuţia D este necunoscută, riscul aşteptat nu poate


fi calculat. Se poate calcula însă o aproximare stohastică, pe baza datelor de
antrenare cunoscute. Această aproximare se numeşte risc empiric.
Pentru o problemă de clasificare, acesta este:

. (2.17)

58
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

În acest caz, problema fiind binară, suma calculează numărul de


instanţe pentru care clasificatorul greşeşte. Prin urmare, expresia riscului
empiric dă procentul de instanţe clasificate greşit.
Pentru o problemă de regresie, riscul empiric ia forma erorii
calculate prin metoda celor mai mici pătrate sau eroarea pătratică medie,
folosită şi pentru reţelele neuronale, după cum am văzut în secţiunea 1.3,
sau pentru alte modele inductive cu ieşire reală:

. (2.18)

Conform legii numerelor mari, dacă mulţimea de date de antrenare


este suficient de mare, riscul empiric se apropie de riscul aşteptat real. De
cele mai multe ori însă, această mulţime este mică în comparaţie cu întreg
spaţiul problemei.
Vapnik şi Chervonenkis (1968; 1971) au determinat o relaţie între
riscul real R şi riscul empiric Re, luând în considerare dimensiunea VC a
modelului de învăţare , care se respectă cu probabilitatea 1 – δ:

. (2.19)

Această relaţie arată faptul că pentru a avea un risc mic, adică


performanţe bune de generalizare, atât eroarea pe mulţimea de antrenare cât
şi raportul dintre dimensiunea VC şi numărul de instanţe de antrenare
trebuie să fie mici. Acest raport este cu atât mai mic cu cât dimensiunea VC
este mai mică şi numărul de instanţe de antrenare este mai mare. De obicei,

59
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

riscul empiric scade când modelul devine mai complex, adică odată cu
creşterea dimensiunii VC.
Numărul de instanţe de antrenare N este considerat mic dacă
raportul N / dVC este mic, de exemplu N / dVC < 20 (Vapnik, 1995). Dacă
N / dVC este mare, al doilea termen este mic şi riscul real se apropie de riscul
empiric. Prin urmare, pentru minimizarea riscului real, trebuie găsit un
echilibru între complexitatea modelului şi performanţele la antrenare, o
formalizare a ideii briciului lui Occam: găsirea celui mai simplu model cu
performanţe bune la antrenare (Osuna, Freund & Girosi, 1997a).
Primul termen din sumă, riscul empiric, depinde de o funcţie anume,
pe când al doilea (radicalul), denumit încredere VC, depinde de dimensiunea
VC a întregii mulţimi de funcţii.
Principiul minimizării riscului structural defineşte compromisul
între calitatea aproximării datelor de antrenare şi complexitatea funcţiei de
aproximare (Vapnik, 1995). Principiul presupune construirea unei structuri
imbricate de modele de învăţare cu dimensiuni VC
nedescrescătoare , unde , ca în figura 2.10.
Modul în care folosesc acest principiu mașinile cu vectori suport va
fi prezentat în secţiunea 3.4.

60
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 2. Noţiuni de teoria învăţării

Limita riscului real

Încrederea VC

Sub-potrivire Supra-potrivire
Riscul empiric

d1 d* dX dVC

H1 H* HX

Figura 2.10. Limita riscului real

61
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 3

Probleme separabile liniar

3.1. Introducere

Maşinile cu vectori suport (engl. “Support Vector Machines”, SVM)


reprezintă o metodă de învăţare de nouă generaţie (Shawe-Taylor &
Cristianini, 2000), cu o fundamentare matematică riguroasă, bazată pe
conceptul de maximizare a „marginii” care separă instanţele din două clase
diferite, iar maximizarea este rezolvată analitic, nu empiric.
Datorită acestei fundamentări, maşinile cu vectori suport au
demonstrat performanţe foarte bune pentru probleme reale cum ar fi
clasificarea textelor, recunoaşterea caracterelor scrise de mână, clasificarea
imaginilor etc. În general, sunt considerate unele dintre cele mai bune
metode de clasificare cunoscute la ora actuală.

3.2. Hiperplane de separare liniare. Marginea


dintre clase

Să considerăm mai întâi o problemă de clasificare binară cu clase


separabile liniar (figura 3.1).
Un perceptron cu un singur strat poate împărţi planul cu o dreaptă în
două suprafeţe şi prin urmare poate rezolva corect această problemă. În
procesul de antrenare al perceptronului se porneşte însă de la o configuraţie

Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

aleatorie a ponderilor şi pragului. În funcţie de valorile rezultate prin


antrenare, dreapta separatoare poate avea parametri diferiţi, după cum se
arată în figura 3.2. Toate aceste drepte rezolvă problema de clasificare
considerată.

0
0 1 2 3 4 5 6 7

Figura 3.1. Problemă de clasificare cu clase separabile liniar

Având mai multe opţiuni la dispoziţie, se pune problema care dintre


acestea este cea mai bună, criteriul luat în calcul fiind capacitatea de
generalizare a modelului, adică posibilitatea acestuia de a clasifica în mod
corect instanţe noi.
Odată găsită o dreaptă de separare între instanţele de antrenare,
putem spune că este destul de probabil ca o nouă instanţă (1, 2) să aparţină
clasei pătratelor iar una (7, 7) să aparţină clasei cercurilor. Probleme vor
apărea în zona de demarcaţie dintre cele două clase. Pentru o instanţă
(3, 4), folosind două modele diferite, vom avea rezultate diferite, după cum
se poate vedea în figura 3.3: o dreaptă o clasifică drept cerc iar cealaltă
dreaptă – drept pătrat.

64
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 3. Probleme separabile liniar

0
0 1 2 3 4 5 6 7

Figura 3.2. Drepte de separare posibile

0
0 1 2 3 4 5 6 7

Figura 3.3. Drepte de separare diferite pot determina rezultate diferite

65
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

7 7

6 6

5 5

4 4

3 3

2 2

1 1

0 0
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Figura 3.4. Marginile generate de două drepte de separare diferite

Una din ideile de bază ale maşinilor cu vectori suport este că


modelul care generalizează cel mai bine este acela care desparte cel mai
mult clasele, adică cel care asigură marginea cea mai mare de demarcaţie
între clase. Marginea este distanţa dintre dreptele paralele cu dreapta de
separare care ating cel puţin una din instanţele fiecărei clase. Pentru cele
două modele din figura 3.3, marginea dată de dreapta 1 este cea din figura
3.4a iar marginea dată de dreapta 2 este cea din figura 3.4b.
Se vede că marginea determinată de primul model este mai mare,
prin urmare acesta este mai bun decât celălalt.
În cazul de faţă, problema de clasificare are 2 atribute şi
suprafaţa de separare este o dreaptă care împarte planul în 2 semiplane.
Dacă problema ar fi avut 3 atribute, suprafaţa de separare ar fi fost un plan
care împarte în două spaţiul tridimensional. În general, hiperspaţiul nD
corespunzător unei probleme cu n atribute este împărţit în două de către un
hiperplan (n – 1)D.

66
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 3. Probleme separabile liniar

Pentru a formaliza această descriere, să considerăm că o suprafaţă de


separare este descrisă de următoarea ecuaţie:

, (3.1)

unde w şi x sunt vectori (notaţi cu litere aldine) iar b este un scalar.


este produsul scalar al celor doi vectori, adică:

, (3.2)

unde n este dimensiunea lor.

Exemplu

3.5

2.5

1.5

0.5

0
0 1 2 3 4 5 6 7 8 9 10

Figura 3.5. Drepte cu diferite ecuaţii

În figura 3.5, ecuaţia primei drepte este:

67
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Considerăm aici că numele axelor sunt x1, x2 etc., întrucât y are o


semnificaţie deosebită, utilizată în continuare, indicând clasa unei instanţe şi
nu un atribut (corespunzător unei axe de coordonate).
Analog, ecuaţiile următoarelor două drepte sunt:

respectiv:

În aceste cazuri, w = (1, 1) iar b diferă. Dreptele cu aceeaşi


orientare w sunt paralele iar translaţia este dată de termenul b.
A patra dreaptă nu este paralelă cu celelalte trei; aici w = (2, 5) iar
b = –20.
w este un vector perpendicular pe dreapta corespunzătoare sau, în
general, pe suprafaţa de separare considerată.

Reprezentarea problemei pentru SVM presupune ca ecuaţiile


suprafeţelor de separare să fie normalizate, astfel încât în limitele care trec
prin vectorii suport ai celor două clase să fie respectiv
(figura 3.6). Instanţele de pe aceste două suprafeţe se numesc
vectori suport, care dau şi numele metodei.

68
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 3. Probleme separabile liniar

w
5

4
Vectori suport

m (w · x) + b = 1
1

(w · x) + b = 0
(w · x) + b = -1
0
0 1 2 3 4 5 6 7

Figura 3.6. Vectorii suport şi ilustrarea noţiunilor caracteristice problemei

Clasificarea propriu-zisă presupune determinarea parametrilor w şi b


care maximizează marginea de separare dintre clase. Apoi, o instanţă nouă z
va fi clasificată în una din cele două clase (–1 sau 1) cu ajutorul funcţiei
discriminant:

, (3.3)

unde:

. (3.4)

Se poate constata analogia între parametrii w şi b ai unei maşini cu


vectori suport şi ponderile şi pragul unui perceptron cu un singur strat. De
altfel, notaţiile urmează direct numele acestora în limba engleză: “weights”
şi “bias”.

69
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Fie yi clasa instanţei i. Odată determinaţi parametrii w şi b,


următoarele relaţii trebuie respectate:

, (3.5)

. (3.6)

De exemplu, pentru clasa 1, instanţele de pe dreapta-graniţă a


marginii vor avea cantitatea egală strict cu 1, fiind vectori
suport, iar celelalte instanţe din aceeaşi clasă, mai depărtate de margine, vor
avea cantitatea respectivă mai mare strict decât 1.
Mai compact, constrângerile de mai sus (ecuaţiile 3.5 şi 3.6) pot fi
scrise astfel:

. (3.7)

-1

-2
-2 -1 0 1 2 3 4 5 6

Figura 3.7. Ilustrarea modalităţii de calcul al marginii

70
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 3. Probleme separabile liniar

Din figura 3.7, putem observa că marginea m este de fapt proiecţia


distanţei dintre oricare doi vectori suport x1 şi x2 pe direcţia vectorului w.
Prin urmare, valoarea lui m se poate obţine de exemplu scăzând
ecuaţiile vectorilor x1 şi x2:

, (3.8)

unde ‖∙‖ este norma euclidiană, adică lungimea vectorului considerat:

. (3.9)

Exemplu

În situaţia din figura 3.7, marginea m este în mod evident distanţa


dintre punctele (1, 1) şi (3, 3):

Însă aceeaşi valoare se obţine proiectând distanţa dintre şi


pe direcţia , conform ecuaţiei 3.8:

71
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

De fapt, distanţa dintre oricare 2 puncte situate pe cele 2 drepte


paralele proiectată pe direcţia lui w poate fi utilizată pentru a ajunge la
acelaşi rezultat. Prima dreaptă d1 are ecuaţia: iar a doua
d2: . Oricare ar fi 2 puncte x1 pe dreapta d1 şi x2 pe dreapta
d2, produsul scalar dintre şi x2 – x1 va fi:

care va fi apoi împărţit la lungimea lui w, adică .


Dacă vom normaliza ecuaţiile celor două drepte pentru a fi egale cu
–1, respectiv 1, indicând cele două clase, va trebui să rezolvăm un sistem de
ecuaţii de tipul:

adică:

ceea ce conduce la soluţiile: şi b = –2.


Pentru a respecta constrângerile problemei SVM de a avea o singură
valoare pentru parametrul b, vectorul w trebuie să fie de fapt

72
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 3. Probleme separabile liniar

(1/2, 1/2), nu (1, 1). Rezultatele de mai sus privind calculul marginii m
însă nu se modifică, deoarece este vectorul unitate (de lungime 1):

3.3. Problema de optimizare

După cum am arătat în secţiunea anterioară, rezolvarea problemei de


clasificare cu SVM se reduce la determinarea parametrilor w şi b astfel încât
marginea să fie maximă pentru toate instanţele din
mulţimea de antrenare. Acest lucru poate fi exprimat astfel:

. (3.10)

Pentru a folosi unele instrumente matematice mai avansate,


prezentate în continuare, putem transforma această problemă de maximizare
într-una de minimizare a lui . Putem considera în schimb minimizarea

expresiei , deoarece , funcţia radical este o funcţie monotonă,

deci minimizarea lui este echivalentă cu minimizarea lui a, iar


este un rezultat simplu şi dezirabil, având în vedere că la un
moment dat vom deriva acest termen.
Prin urmare, problema de optimizare care trebuie rezolvată, numită
problema primară, este:

73
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

(3.11)

respectând constrângerile:

. (3.12)

unde N este numărul de instanţe din mulţimea de antrenare.

3.4. Minimizarea riscului structural de către


maşinile cu vectori suport

În cazul maşinilor cu vectori suport, dimensiunea VC a unui


hiperplan de separare cu marginea m este limitată astfel:

, (3.13)

unde n este dimensionalitatea spaţiului de intrare iar R este raza celei mai
mici sfere care conţine toţi vectorii de antrenare.
Astfel, prin maximizarea marginii, se minimizează de fapt
dimensiunea VC a modelului. De vreme de hiperplanul de separare are
eroare de antrenare nulă (separând corect toate instanţele de antrenare),
maximizarea marginii va minimiza şi limita superioară a riscului aşteptat
(Gutierrez-Osuna, 2000). De asemenea, dimensiunea VC depinde de
lungimea vectorului de ponderi w şi este independentă de numărul de
atribute al problemei. Aceasta înseamnă că eroarea reală a unui hiperplan de

74
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 3. Probleme separabile liniar

separare cu margine maximă este apropiată de eroarea de antrenare chiar şi


în spaţii multidimensionale, dacă vectorul ponderilor este mic.

75
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4

Dualitatea Lagrange

4.1. Problema primară

Pentru a înţelege mai bine modalitatea de optimizare prezentată în


acest capitol, vom începe cu un exemplu. Să presupunem că avem de
minimizat funcţia . În mod normal, fără nicio altă
constrângere, minimul funcţiei este –0,25, obţinut pentru x = –0,5, după
cum se poate vedea în figura 4.1.

12

10

-2
-3 -2 -1 0 1 2 3

Figura 4.1. Minimul funcţiei       în absenţa constrângerilor

Dacă avem însă o constrângere privind valorile posibile ale lui x, de


exemplu x = –1 sau x ≤ –1, acest minim se modifică, aducând o penalizare,

Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

ceea ce provoacă creşterea valorii minimului faţă de valoarea în cazul fără


constrângeri.
Problema pare mai simplă în cazul constrângerilor de tip egalitate. În
cazul de faţă, dacă x = –1, este clar că putem determina direct minimul
funcţiei, care este . Pentru inegalităţi avem un domeniu de valori
posibile, ceea ce ne-ar putea face să credem că problema este mai dificilă.
Vom vedea însă imediat că şi inegalităţile pot fi tratate în mod similar
egalităţilor. De exemplu, pentru cazul nostru, x ≤ –1 este de fapt echivalent
cu x = –1, deoarece pentru valori mai mici decât –1, valoarea funcţiei
creşte.
Dacă am fi avut inegalitatea x ≤ 1, minimul funcţiei ar fi fost egal cu
acela din cazul fără constrângeri, adică –0,25. Inegalitatea nu ar fi avut
niciun efect.
Pentru a trata unitar toate aceste situaţii, putem considera fără a
restrânge generalitatea că toate constrângerile sunt mai mici sau egale cu 0.
În cazul de mai sus, x ≤ –1 este echivalent cu funcţia:

Penalizarea de care aminteam anterior este într-un fel proporţională


cu constrângerea. Pentru a nu mai opera cu inegalităţi, combinăm funcţia
iniţială şi constrângerea într-o expresie nouă, pe care dorim să o minimizăm.
Construim deci funcţia:

78
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

cu α ≥ 0. Această funcţie se numeşte lagrangianul problemei iar α este un


multiplicator lagrangian.
Numărul α poate lua orice valoare. Prin urmare, putem considera
o familie de funcţii în care α variază, după cum se vede în figura
4.2.

10

α=4

α=1
2

0
f

-2

-4
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1

Figura 4.2. Familie de funcţii lagrangiene pentru funcţia f


şi constrângerea   1 0

Cu negru este marcată funcţia f. Cu nuanţe mai deschise sunt


marcate funcţiile pentru valorile 1, 2, 3 şi 4 pentru α. Dacă α este
pozitiv, observăm că atunci când constrângerea este satisfăcută, valoarea
maximă pentru un x dat este cea a funcţiei f. Când constrângerea nu este
satisfăcută, valoarea maximă pentru un x dat va tinde la infinit când α tinde
la infinit. Cerculeţul marchează minimul funcţiei f în prezenţa
constrângerilor.
Fie numărul:

79
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

. (4.1)

În zonele în care nu se respectă constrângerea, ΘP este infinit. Acolo


unde se respectă constrângerea, ΘP este egal cu f. Prin urmare, minimizarea
funcţiei f respectând constrângerea este echivalentă cu minimizarea lui ΘP:

. (4.2)

Aceasta se numeşte problema primară (de acolo vine indicele P)


deoarece este echivalentă cu problema iniţială.
Dacă am fi avut , graficul familiei de funcţii
lagrangiene ar fi fost cel din figura 4.3. Cerculeţul marchează tot minimul
funcţiei f în prezenţa constrângerilor, care este în acest caz egal cu minimul
funcţiei f neconstrânse. Aici constrângerile nu sunt active.

10

4
f
α=1
2

-2
α=4
-4

-6

-8

-10
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Figura 4.3. Familie de funcţii lagrangiene pentru funcţia f


şi constrângerea  1 0

80
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

Să considerăm acum altă funcţie, cu mai multe constrângeri, care


stabilesc ca x să aparţină intervalului [1, 2].

Acum vor exista 2 parametri α, câte unul pentru fiecare


constrângere. Figura 4.4 prezintă graficul funcţiei f, precum şi familia de
funcţii lagrangiene pentru următoarele perechi : (1, 0), (0, 1),
(1, 1) şi (2, 2).

14

12

10

-2

-4

-6
-3 -2 -1 0 1 2 3

Figura 4.4. Familie de funcţii lagrangiene


pentru cazul unor constrângeri multiple

81
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Acelaşi principiu se aplică şi în cazul funcţiilor cu mai multe


argumente, de exemplu:

În figura 4.5, f este reprezentată cu negru iar f + 2g este reprezentată


cu nuanţe mai deschise.

Figura 4.5. Lagrangianul unei funcţii cu 2 argumente

Minimul lui f ar fi în (0, 0), dar în acest punct nu se respectă


constrângerea. Deci minimul este pe elipsa de intersecţie a suprafeţelor
determinate de cele două funcţii. Această elipsă se poate vedea mai clar în
proiecţia din figura 4.6.

82
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

Figura 4.6. Elipsa pe care se găseşte minimul funcţiei constrânse

4.2. Problema duală

Să considerăm acum numărul:

. (4.3)

Acesta reprezintă minimul tuturor funcţiilor . De exemplu,


pentru , dacă α = 0, atunci ΘD = –0,25, egal cu minimul
funcţiei f fără constrângeri. Dacă α = 4, atunci ΘD = –2,25, obţinut pentru
x = –2,5.
Ne interesează cel mai mare astfel de minim:

. (4.4)

83
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Aceasta este problema duală (care dă şi indicele D). Minimele sunt


decalate pentru valori diferite ale lui x, după cum se poate vedea în figura
4.2, însă maximul acestora este cel al funcţiei f iniţiale.
Conform inegalităţii min-max (Boyd & Vandenberghe, 2004),
pentru orice funcţie cu este adevărată
următoarea relaţie:

. (4.5)

În cazul nostru, deoarece nu contează ordinea argumentelor funcţiei,


putem scrie:

. (4.6)

În ecuaţia 4.6, dacă în loc de inegalitate avem egalitate, soluţia


problemei duale este şi soluţia problemei primare şi în acest caz se spune că
avem de-a face cu o dualitate puternică:

. (4.7)

O funcţie reală este convexă dacă segmentul de dreaptă dintre oricare


2 puncte de pe graficul funcţiei se găseşte deasupra graficului, într-un spaţiu
euclidian cu cel puţin 2 dimensiuni.
Mai formal, o funcţie cu este convexă dacă
şi , se respectă relaţia:

. (4.8)

84
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

Această condiţie este ilustrată în figura 4.7 (Wikimedia Commons,


2014b).

Figura 4.7. Funcţie convexă

Un alt exemplu simplu de funcţie convexă este .


O funcţie concavă este negativul unei funcţii convexe.
Avem o dualitate puternică atunci când problema primară este
convexă (funcţia de minimizat şi funcţiile care reprezintă constrângerile de
inegalitate sunt convexe) iar constrângerile de egalitate sunt afine
(sunt de forma ) şi, în plus, constrângerile de inegalitate
sunt strict fezabile, adică .
Când există o dualitate puternică, max min = min max. Ordinea
acestor operaţii contează în cazul unor funcţii arbitrare, însă nu şi în cazul
funcţiilor convexe. Să ne imaginăm o funcţie de forma unei văi, ca în figura
4.8, unde este reprezentată pentru . Dacă
minimizăm în direcţia x păstrând constantă direcţia y şi apoi maximizăm în
direcţia y, ajungem mai întâi într-un punct oarecare unde

85
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

x = 0, între cei doi „pereţi” cuadratici şi apoi mergem în sus, pe fundul văii,
spre punctul (0, 2). Dacă inversăm ordinea, ajungem mai întâi într-un punct
de pe un perete unde y = 2 şi apoi coborâm pe perete spre acelaşi punct
(0, 2) (după Welling, 2005).

Figura 4.8. Graficul funcţiei ,     

Motivul pentru care transformăm problema primară în problema


duală este faptul că problema duală este în general mai uşor de rezolvat.

Exemple

Vom considera acum prima problemă prezentată în secţiunea 4.1:

86
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

Lagrangianul are următoarea expresie:

Trebuie să calculăm . Mai întâi determinăm

. Minimul se obţine acolo unde derivata parţială a lui L în raport

cu x este 0:

Acum putem rescrie expresia lui L doar ca o funcţie de α:

În continuare, determinăm maximul acestei expresii în raport cu α,


în acelaşi mod, egalând cu 0 derivata lui Lx:

Am obţinut α ≥ 0, iar pentru x = –1 valoarea funcţiei f(x) = 0.


Când α > 0, spunem că respectiva constrângere este activă.
Să vedem ce s-ar întâmpla dacă am folosi o altă constrângere:

87
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Atunci langrangianul ar fi:

Calculele se efectuează în mod analog:

Acum nu se mai respectă condiţia α ≥ 0. Considerând α = 0, obţinem


x = –0,5 pentru care f(x) = –0,25, la fel ca atunci când lipseşte
constrângerea. În acest caz, constrângerea este inactivă.
Prin urmare, constrângerile inactive nu au niciun rol iar
constrângerile active sunt echivalente cu nişte egalităţi.

4.3. Perspectiva geometică

Dincolo de abordarea analitică, este interesantă şi perspectiva


geometică asupra acestei metode de optimizare. Întrucât lucrăm cu o funcţie
de forma f + α · g, putem reprezenta grafic punctele într-un nou sistem de
coordonate, în care abscisa este g iar ordonata este f. Practic, pentru fiecare

88
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

valoare x dintr-un domeniu de interes, reprezentăm în noul grafic un punct


(De Doná, 2004; Vasconcelos, 2009).
În cazul constrângerii active din exemplul precedent, adică:

vom avea situaţia din figura 4.9.

3.5

2.5

1.5

0.5

-0.5

-1
-3 -2 -1 0 1 2 3

Figura 4.9. Reprezentarea în sistemul de coordonate (g, f)


a situaţiei unei constrângeri active

Pe lângă regiunea delimitată de funcţie se trasează linii tangente care


o intersectează în zona g ≤ 0. Punctul maxim de intersecţie de pe axa g = 0
este soluţia iar panta este –α. La noi α = 1, ceea ce este echivalent cu o
pantă de –45º. Când constrângerea este activă, α > 0 iar intersecţia cu

89
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

funcţia are loc în punctul în care abscisa este 0. Valoarea de pe ordonată


reprezintă minimul funcţiei, în acest caz 0.
Este doar o coincidenţă că intersecţia apare în punctul (0, 0). Putem
considera o altă problemă, doar puţin diferită:

Procedând ca în secţiunea 4.3, determinăm α = 7/2, xmin = –3/2 şi


f(xmin) = 5/2. Reprezentarea în sistemul de coordonate (g, f) este cea din
figura 4.10.

3.5

2.5

1.5

0.5

-0.5

-1
-3 -2 -1 0 1 2 3

Figura 4.10. Reprezentarea în sistemul de coordonate (g, f)


a unei alte probleme cu o constrângere activă

90
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

3.5

2.5

1.5

0.5

-0.5

-1
-3 -2 -1 0 1 2 3

Figura 4.11. Reprezentarea în sistemul de coordonate (g, f)


a situaţiei unei constrângeri inactive

f
panta = −α
x

A (g(x), f(x))

C ϕ(α)

Figura 4.12. Reprezentarea cazului general pentru o constrângere activă

91
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Aici panta este de aproximativ –74º. Se poate observa că valoarea de


pe ordonată corespunzătoare intersecţiei cu tangenta este 2,5, adică exact
minimul funcţiei.
Să considerăm şi cazul unei constrângeri inactive:

Acum α = 0 iar intersecţia cu funcţia are loc într-un punct în care


abscisa este strict negativă, după cum se poate vedea în figura 4.11.
În general, cazul unei constrângeri active este cel din figura 4.12. Ne
interesează semiplanul în care g ≤ 0. Dacă există mai multe constrângeri,
reprezentarea devine multidimensională. O dreaptă tangentă la funcţia
reprezentată în planul (g, f), cu panta –α, intersectează axa f în punctul
. Scopul este determinarea pantei (de fapt a multiplicatorului
lagrangian) astfel încât să fie maxim. În figura 4.12, α poate scădea
astfel încât punctul de intersecţie cu ordonata să crească de la valoarea din
punctul C la valoarea din punctul A. Intersecţia are loc în g = 0. Minimul
funcţiei f în problema iniţială corespunde valorii de pe ordonată a punctului A.
Cazul general pentru o constrângere inactivă este ilustrat în figura
4.13. Aici se poate scădea α astfel încât să se ajungă de la dreapta BC la
dreapta AD. Teoretic, α ar putea scădea în continuare, deoarece se poate
identifica o dreaptă tangentă la funcţia reprezentată a cărei intersecţie cu axa
f să fie mai sus de punctul D. Însă trebuie să respectăm condiţia α ≥ 0. Prin
urmare, nu putem să scădem mai mult valoarea lui α. Rezultatul este α = 0
iar intersecţia are loc acum într-un punct unde g < 0. Şi aici, minimul
funcţiei f în problema iniţială corespunde valorii de pe ordonată a punctului A.

92
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

B
(g(x), f(x))
α =0
A D
g

Figura 4.13. Reprezentarea cazului general pentru o constrângere inactivă

Diferenţa A
de dualitate
B

Figura 4.14. Diferenţa de dualitate pentru o funcţie neconvexă

93
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Din ambele cazuri se poate observa că întotdeauna ori α este 0, ori g


este 0, deci se respectă relaţia: α · g = 0.
Atunci când funcţia nu este convexă, putem avea situaţia din figura
4.14. Punctul A corespunde soluţiei problemei primare iar B corespunde
soluţiei problemei duale, utilizând aceeaşi metodă a dreptei tangente. Din
cauza concavităţii, există aici o diferenţă între valorile lui f în cele două
puncte, numită diferenţă de dualitate (engl. “duality gap”). În această
situaţie, deşi problema duală are o soluţie, aceasta nu este o soluţie corectă
şi pentru problema primară.

4.4. Formalizarea problemei de optimizare

În această secţiune vom da o descriere completă şi formală a paşilor


de rezolvare ai problemei de optimizare. În cazul general avem funcţia
obiectiv f, o mulţime de constrângeri de inegalitate gi şi o mulţime de
constrângeri de egalitate hj.
Problema primară este:
, (4.9)

astfel încât:
(4.10)

. (4.11)

Se defineşte lagrangianul:

94
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

, (4.12)

unde αi şi βj sunt multiplicatorii lagrangieni.


Problema duală este:

(4.13)

unde:

(4.14)

astfel încât:

. (4.15)

Când nu există diferenţa de dualitate:

. (4.16)

Pe lângă constrângerile 4.10, 4.11 şi 4.15, trebuie îndeplinite şi o


serie de condiţii necesare, numite condiţiile Karush-Kuhn-Tucker:

(4.17)

. (4.18)

95
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Ecuaţia 4.17 generează n ecuaţii, câte una pentru fiecare dimensiune


a problemei.
Astfel se determină multiplicatorii lagrangieni αi şi βj.
Valoarea unui multiplicator lagrangian corespunzătoare soluţiei
problemei este egală cu rata modificării valorii maxime a funcţiei obiectiv f
atunci când constrângerea aferentă este relaxată. Această interpretare este de
multe ori folosită în context economic, unde funcţia de optimizat reprezintă
profitul iar constrângerile se aplică resurselor utilizate. Astfel, valoarea unui
multiplicator lagrangian semnifică creşterea profitului dacă acea
constrângere ar fi relaxată puţin, de exemplu în loc de , cu
ε > 0 (Osborne, 2003).

4.5. Particularizarea pentru maşinile cu vectori suport

După cum am văzut în capitolul 3, pentru maşinile cu vectori suport


nu avem egalităţi, ci doar inegalităţi. Prin urmare lagrangianul are forma
următoare:

(4.19)

iar constrângerile şi condiţiile sunt:

(4.20)

(4.21)

96
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

(4.22)

(4.23)

Pentru SVM, w* este soluţia problemei primare şi * este soluţia


problemei duale.
Problema primară este următoarea (ecuaţia 3.11):

(4.24)

astfel încât (ecuaţia 3.12):

. (4.25)

Pentru a respecta notaţia introdusă în acest capitol, constrângerile


anterioare pot fi scrise astfel:

. (4.26)

Introducem ecuaţiile 4.24 şi 4.26 în expresia lagrangianului:

(4.27)

În continuare, se rezolvă ecuaţiile date de condiţiile Karush-Kuhn-


Tucker, pentru a găsi minimul lui L:

97
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

(4.28)

. (4.29)

Înlocuind aceste rezultate în expresia problemei duale, vom obţine


următoarea formulare pentru o maşină cu vectori suport liniară:

(4.30)

respectând constrângerile:

(4.31)

. (4.32)

Conform condiţiei:

(4.33)

rezultă că αi > 0 doar pentru vectorii suport, care corespund constrângerilor


active (unde g = 0), şi αi = 0 pentru celelalte instanţe, unde constrângerile
sunt inactive (g ≠ 0).
Avantajul rezolvării problemei duale este că numărul vectorilor Nvs
suport este mult mai mic decât numărul instanţelor de antrenare N:

98
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

. (4.34)

De exemplu, în experimentele făcute de Vapnik (1995) privind


recunoaşterea cifrelor scrise de mână, s-a constat că numărul vectorilor
suport era de 3-5% din numărul instanţelor de antrenare.
În acest capitol nu ne vom opri asupra modalităţii concrete de
rezolvare a problemei duale. Există pachete software specializate în acest
sens şi algoritmi dedicaţi rezolvării problemei pentru maşinile cu vectori
suport. Vom prezenta un astfel de algoritm mai târziu, în capitolul 7.
După rezolvarea problemei şi găsirea multiplicatorilor αi, parametrii
problemei primare vor fi determinaţi astfel:

(4.35)

, (4.36)

unde S este mulţimea vectorilor suport iar |S | este numărul lor.


Pentru o problemă cu clase liniar separabile, există formule mai
simple pentru calcularea valorii lui b. De exemplu, este suficientă verificarea
ecuaţiei hiperplanului care trece printr-un vector suport, ca în exemplul
următor. Ecuaţia 4.36 este însă utilă în cazul general, atunci când clasele nu
sunt liniar separabile, când se permit erori de clasificare sau când se aplică
funcţii pentru transformarea datelor, după cum vom vedea în capitolele
următoare.
Ecuaţia hiperplanului de separare, , se poate rescrie
sub forma:

99
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

. (4.36)

Exemplu

Pentru a înţelege mai bine modalitatea de calcul, să considerăm mai


întâi o problemă unidimensională cu 3 instanţe de antrenare, prezentată în
figura 4.15.

0.5

-0.5

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Figura 4.15. Problemă de clasificare unidimensională

Particularizând ecuaţia 4.30, problema de optimizare este:

(4.37)

cu constrângerile:

αi ≥ 0 (4.38)

. (4.39)

100
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

Rezolvarea problemei se poate face de exemplu în Microsoft Excel


cu instrumentul Solver.
Valorile celor 3 multiplicatori αi corespund celulelor A, B şi C.
În celula A introducem expresia care va trebui maximizată (ecuaţia 4.37),
după cum se arată în figura 4.16.

Figura 4.16. Expresia de maximizat

În celula A introducem expresia 4.39, ca în figura 4.17.

Figura 4.17. Suma multiplicatorilor

101
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

În fereastra instrumentului Solver, se introduc constrângerile ca


multiplicatorii din celulele A:C să fie nenegative şi suma din A să fie 0.
Se setează funcţia obiectiv de maximizat ca fiind expresia din celula A,
după cum se indică în figura 4.18.

Figura 4.18. Setarea funcţiei obiectiv şi a constrângerilor

Figura 4.19. Rezultatele

102
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

După rezolvare, rezultatele vor fi afişate în celulele A:C, ca în


figura 4.19.
Prin urmare: α1 = α2 = 0,5 şi α3 = 0.
După determinarea multiplicatorilor, putem calcula vectorul w,
conform ecuaţiei 4.35:

Apoi obţinem valoarea pragului pe baza ecuaţiilor dreptelor care trec


prin vectorii suport, la noi acestea fiind instanţele 1 şi 2. Rezultatele sunt
identice, având în vedere că b este unic:

în instanţa 1: ,
în instanţa 3: .

Prin urmare, suprafaţa de separare este dreapta adică


x = 2, aflată la distanţe egale de vectorii suport (instanţa 1 şi instanţa 2).
În continuare, vom rezolva o problemă bidimensională puţin mai
complexă, ilustrată în figura 3.1 şi repetată aici pentru comoditate. Mulţimea
de antrenare este prezentată în tabelul 4.1.

Tabelul 4.1. Instanţele de antrenare ale problemei bidimensionale


x1 x2 Clasa
1 1 –1
1 3 –1
2 2 –1
3 1 –1
4 4 1
4 5 1
5 5 1

103
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

0
0 1 2 3 4 5 6 7

Figura 4.20. Problemă de clasificare bidimensională

Expresia care trebuie maximizată este următoarea (varianta


nesimplificată de mai jos a fost generată printr-un program):

             – 0.5 ∙ 2 ∙  ∙   4 ∙  ∙
  4 ∙  ∙   4 ∙  ∙  – 8 ∙  ∙  – 9 ∙  ∙  – 10 ∙  ∙
  4 ∙  ∙   10 ∙  ∙   8 ∙  ∙   6 ∙  ∙  – 16 ∙
 ∙  – 19 ∙  ∙  – 20 ∙  ∙   4 ∙  ∙   8 ∙  ∙   8 ∙
 ∙   8 ∙  ∙  – 16 ∙  ∙  – 18 ∙  ∙  – 20 ∙  ∙   4 ∙
 ∙   6 ∙  ∙   8 ∙  ∙   10 ∙  ∙  – 16 ∙  ∙
 – 17 ∙  ∙  – 20 ∙  ∙  – 8 ∙  ∙  – 16 ∙  ∙  – 16 ∙  ∙
 – 16 ∙  ∙   32 ∙  ∙   36 ∙  ∙   40 ∙  ∙  – 9 ∙
 ∙  – 19 ∙  ∙  – 18 ∙  ∙  – 17 ∙  ∙   36 ∙  ∙  
41 ∙  ∙   45 ∙  ∙  – 10 ∙  ∙  – 20 ∙  ∙  – 20 ∙  ∙
 – 20 ∙  ∙   40 ∙  ∙   45 ∙  ∙   50 ∙  ∙  "

104
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 4. Dualitatea Lagrange

Celelalte constrângeri sunt:

şi condiţia ca multiplicatorii să aibă valori nenegative: αi ≥ 0.


Şi această problemă poate fi rezolvată în Microsoft Excel.
Multiplicatorii lagrangieni ai instanţelor sunt prezentaţi în tabelul 4.2.

Tabelul 4.2. Multiplicatorii lagrangieni ai instanţelor


x1 x2 Clasa α
1 1 –1 0
1 3 –1 0,0584
2 2 –1 0,1332
3 1 –1 0,0584
4 4 1 0,25
4 5 1 0
5 5 1 0

Pe baza acestora se calculează apoi w = (0,5, 0,5) şi b = –3.


Dreapta de separare are următoarea ecuaţie:

sau echivalent:

Rezultatul este prezentat în figura 4.21.

105
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

0
0 1 2 3 4 5 6 7

Figura 4.21. Dreapta de separare şi vectorii suport

În faza de predicţie, noile instanţe vor fi clasificate conform ecuaţiei


3.3: . De exemplu:

(prin convenţia din ecuaţia 3.4)

Pentru unele probleme pot exista foarte mulţi vectori suport, iar în
acest caz programele generale de optimizare pot fi mai puţin eficiente. De
aceea, pentru SVM se folosesc în general algoritmi speciali de optimizare,
precum algoritmul de optimizare secvenţială minimală (engl. “Sequential
Minimal Optimization”, SMO), descris în capitolul 7.

106
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 5

Nuclee

5.1. Transformarea în trăsături

Există multe situaţii în care datele nu sunt separabile liniar pentru a


folosi direct metodele de calcul prezentate până acum. De exemplu, să
considerăm problema unidimensională din figura 5.1. Instanţele
corespunzătoare punctelor 1 şi 6 aparţin unei clase, iar instanţele
corespunzătoare punctelor 3 şi 4 aparţin celeilalte clase.

0.5

-0.5

-1
0 1 2 3 4 5 6 7

Figura 5.1. Instanţe în spaţiul atributelor

O idee ingenioasă, pentru a putea aplica totuşi separarea liniară, este


transformarea datelor din spaţiul iniţial al problemei, numit spaţiul
atributelor, într-un spațiu cu (mult) mai multe dimensiuni, numit spaţiul
trăsăturilor, în care clasele devin separabile liniar. Transformarea se face cu
ajutorul unei funcţii care realizează transformarea în trăsături (engl.
“feature mapping”), după cum se poate vedea în figura 5.2 (adaptată după
Wikimedia Commons, 2014c).

Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

φ(x)
x
φ(o) φ(x)

x o φ(x)
o o φ(o)

o
φ(x)
φ(o) φ(o)
x x

spaţiul atributelor spaţiul trăsăturilor

Figura 5.2. Transformarea în trăsături

De exemplu, să considerăm problema de mai sus şi o funcţie


, care transformă spaţiul unidimensional din figura 5.1 în
spaţiul bidimensional din figura 5.3.

40

35

30

25

20

15

10

0
1 2 3 4 5 6 7

Figura 5.3. Instanţe în spaţiul trăsăturilor

108
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 5. Nuclee

Acum instanţele din spaţiul bidimensional sunt punctele (1, 1),


(3, 9), (4, 16) şi (6, 36) care pot fi separate de o dreaptă.
Din ecuaţiile 3.1 şi 4.35, înlocuind x cu φ(x), vom obţine
următoarea expresie pentru ecuaţia hiperplanului de separare:

. (5.1)

Se observă că toate calculele ce privesc instanţele se fac în perechi,


intrând în produse scalare ale funcţiilor de transformare în trăsături.
Numim acest produs scalar nucleu (engl. “kernel”):

. (5.2)

În acest caz, ecuaţia 5.1 devine:

. (5.3)

Exemplu

Fie nucleul:

109
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Dacă avem o problemă bidimensională, cu , atunci:

unde funcţia φ(x) transformă vectorul bidimensional x într-un vector cu


4 dimensiuni: .
De exemplu, dacă x = (2, 3), atunci

Se poate verifica faptul că dacă z = (4, –5), atunci

şi

Însă folosind direct nucleul, calculele sunt mult mai simple:

110
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 5. Nuclee

5.2. Teorema lui Mercer

Nu orice funcţie cu 2 argumente vectoriale este un nucleu valid. O


astfel de funcţie trebuie să satisfacă în general ecuaţia 5.2. În cele ce
urmează (Ng, 2007), vom prezenta condiţiile pe care trebuie să le
îndeplinească o funcţie K pentru a fi un nucleu valid, adică pentru a avea
garanţia că există o transformare φ (a cărei expresie putem să nu o
cunoaştem explicit), astfel încât să se respecte ecuaţia 5.2.
Fie o mulţime de N instanţe xi (nu neapărat instanţele din mulţimea
de antrenare) şi o matrice K ale cărei elemente sunt: .
Matricea K se numeşte matricea nucleului.
Dacă funcţia K este un nucleu valid, atunci:

(5.4)

Prin urmare, matricea K trebuie să fie simetrică.


În al doilea rând, notând cu φk(x) valoarea coordonatei k a vectorului
φ(x), pentru orice vector z vom avea:

. (5.5)

ceea ce înseamnă că matricea K este pozitiv semidefinită.

111
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

S-a demonstrat că aceste două condiţii sunt nu numai necesare, ci şi


suficiente pentru valididatea nucleului K. Aceasta este teorema lui Mercer
(Mercer, 1909; Hazewinkel, 2001):
O funcţie este un nucleu valid dacă şi numai dacă
oricare ar fi mulţimea cu matricea nucleului
corespunzătoare lui K este simetrică şi pozitiv semidefinită.

5.3. Tipuri de nuclee

Există mai multe clase de funcţii care pot servi drept nuclee pentru
transformarea datelor. Nucleele folosite în mod uzual pentru maşinile cu
vectori suport sunt:

• nucleul liniar: ;
• nucleul polinomial: ;
• nucleul gaussian sau cu funcţii de bază radială (engl. “radial basis
functions”, RBF): ;
• nucleul sigmoid: .

5.3.1. Nucleul polinomial

În expresia , parametrii utilizaţi sunt:


γ > 0, r şi, foarte important, numărul (în general) întreg d, care indică gradul
polinomului. De multe ori, se folosesc valorile γ = 1, r = 1 şi d = 2 sau 3.
Un nucleu nu este echivalent cu o singură transformare φ, ci cu o
întreagă familie de transformări. Nici măcar dimensionalitatea spaţiului
trăsăturilor nu este fixă. De exemplu, am văzut mai sus că pentru o

112
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 5. Nuclee

problemă bidimensională, cu x = (x1, x2), nucleul K(x, z) = (x · z)2 poate fi


definit de funcţia , care transformă
spaţiul atributelor într-un spaţiu cu 4 dimensiuni.
Însă există şi:

care transformă spaţiul bidimensional al atributelor într-un spaţiu cu


3 dimensiuni.
Un nucleu polinomial de forma:

poate fi echivalent cu utilizarea atât a funcţiei:

cu 6 dimensiuni, cât şi a funcţiei:

cu 9 dimensiuni.
Când se aleg diferite nuclee care satisfac teorema lui Mercer, chiar
apropiate din punct de vedere al parametrilor, pot exista salturi mari în
dimensionalitatea spaţiului trăsăturilor.
Pentru acelaşi nucleu dar cu o problemă tridimensională, adică
x = (x1, x2, x3), vom avea o transformare într-un spaţiu cu 13 dimensiuni:

113
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

În general, gradul polinomului d este un număr întreg pozitiv, însă


au fost încercate şi valori fracţionare (Rossius et al., 1998) pentru un control
mai fin al numărului de dimensiuni în care sunt proiectate instanţele
problemei.
Nucleul polinomial este des utilizat pentru probleme de prelucrare a
limbajului natural. În general se foloseşte gradul 2, deoarece grade mai mari
tind să provoace fenomenul de supra-potrivire (Chang et al, 2010; Lin,
2012).

Exemplu

Pentru problema din figura 5.1, multiplicatorii lagrangieni ai


instanţelor sunt cei din tabelul 5.1, obţinuţi cu aceeaşi metodă de calcul,
prezentată în capitolul 4, dar înlocuind în ecuaţia 4.30 produsul scalar
cu nucleul . Folosim nucleul .

Tabelul 5.1. Multiplicatorii lagrangieni ai instanţelor


xi Clasa (yi) αi
1 –1 1,0461
3 1 1,2304
4 1 0,1862
6 –1 0,3706

Funcţia discriminant este:

114
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 5. Nuclee

Înlocuind valorile din tabelul 5.1, se obţine funcţia:

Valoarea parametrului b se poate calula rezolvând oricare din


ecuaţiile f(xi) = yi pentru vectorii suport, adică: f(1) = –1, f(3) = 1 etc.
Rezultatul este b = –3. Prin urmare, funcţia discriminant este următoarea
funcţie cuadratică, capabilă să separe datele unidimensionale:

şi al cărei grafic este ilustrat în figura 5.4. Rădăcinile funcţiei sunt:


z = 1,697 şi z = 5,303.

Figura 5.4. Graficul funcţiei discriminant

Suprafaţa de decizie în spaţiul iniţial unidimensional este prezentată


în figura 5.5.

115
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

0.5

-0.5

-1
0 1 2 3 4 5 6 7

Figura 5.5. Suprafaţa de decizie în spaţiul atributelor

5.3.2. Nucleul gaussian

În expresia , avem doar parametrul γ > 0, care


are semnificaţia 1 / 2σ2.
Figura 5.6 (Berwick, 2003) ilustrează suprafaţa de decizie a unei
probleme de clasificare în care se utilizează nucleul gaussian.

Figura 5.6. Suprafaţă de decizie pentru nucleul gaussian

Privind aspectul acestei funcţii, în care valoarea nucleului este mare


(1 dacă γ = 1) când argumentele sunt apropiate şi tinde la 0 când distanţa
dintre ele este mare, putem înţelege nucleul ca o măsură a similarităţii dintre

116
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 5. Nuclee

cele două argumente. Şi produsul scalar din nucleul polinomial are aceeaşi
semnificaţie.
Folosind această interpretare, se pot găsi funcţii nucleu pentru
probleme cu formulări diferite de cele ale clasificării clasice. De exemplu,
fie problema clasificării proteinelor: o proteină este reprezentată de un şir de
caractere, care semnifică aminoacizi. Scopul este clasificarea proteinelor,
adică a acestor şiruri de caractere în familii şi super-familii definite de
relaţiile dintre structură şi funcţionalitate. Să presupunem că φ(x) reprezintă
numărul de apariţii al fiecărui subşir de lungime k în şirul x. Pentru 20 de
aminoacizi standard, problema presupune lucrul într-un spaţiu cu 20k
dimensiuni, care nu este fezabil nici pentru valori relativi mici ale lui k.
Însă, folosind algoritmi de potrivire a şirurilor (engl. “string matching”), se
poate calcula eficient nucleul , astfel încât se va lucra
implicit în spaţiul cu 20k dimensiuni, fără însă a calcula vectorii trăsăturilor
în acest spaţiu (Leslie, 2004; Ng, 2007).
Este de asemenea important de precizat că nucleul gaussian
proiectează spaţiul atributelor într-un spaţiu infinit dimensional.
Vom da în continuare un exemplu intuitiv asupra modului în care se
poate demonstra acest rezultat (Iyer & Ghose, 2013). Să considerăm cazul
unei probleme bidimensionale, n = 2. Presupunând că γ = 1, putem exprima
ecuaţia nucleului gaussian astfel:

Descompunând această expresie în serie Taylor, conform regulii:

117
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

vom obţine:

Se poate observa că numărătorul argumentului sumei este un nucleu


polinomial de ordin n. Nucleul gaussian este deci o combinaţie a tuturor
nucleelor polinomiale de grad n ≥ 0. De vreme ce un nucleu polinomial de
ordin n transformă datele într-un spaţiu cu mai mult de n dimensiuni, putem
spune că nucleul gaussian transformă spaţiul atributelor într-un spaţiu al
trăsăturilor infinit dimensional.
Chiar dacă vectorii corespunzători φ(x) sunt infiniţi, acest lucru nu
înseamnă că similaritatea între 2 vectori nu se poate calcula. Produsul lor
scalar este o sumă care converge la un număr real şi acest număr este de fapt
valoarea nucleului gaussian.
Acest tip de nucleu este foarte popular pentru problemele de
clasificare.

5.3.3. Nucleul sigmoid

Nucelul sigmoid este asemănător funcţiei de activare tipice a unui


neuron de tip perceptron. Acesta însă nu este întotdeauna un nucleu valid
conform teoremei lui Mercer, deoarece există valori ale parametrilor pentru
care matricea nucleului nu este pozitiv semidefinită (Lin & Lin, 2003;
Hinton, 2008).

118
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 5. Nuclee

Un nucleu sigmoid alternativ care respectă teorema lui Mercer şi


care are o formă similară cu nucleul sigmoid standard a fost propus recent
(Carrington, Fieguth & Chen, 2014):

unde a este un parametru de deplasare orizontală iar b este un parametru de


scalare orizontală.

119
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 6

Probleme neseparabile liniar

6.1. Margini flexibile

În unele cazuri, datele nu devin separabile liniar nici după


transformarea într-un spaţiu cu mai multe dimensiuni. În alte situaţii, datele
prezintă valori extreme (engl. “outliers”) care influenţează marginea optimă.
De exemplu, în figura 6.1 prezenţa unor valori extreme scade mărimea
marginii dintre cele două clase.

Figura 6.1. Prezenţa unor valori extreme afectează calitatea modelului

Soluţia este de a permite existenţa unor erori ξi în clasificare, după


cum se poate vedea în figura 6.2. ξi se numesc variabile de decalaj (engl.
“slack variables”). Se spune că hiperplanul de separare are acum o margine
flexibilă (engl. “soft margin”).

Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

w
5

3
ξ1 ξ2

(w · x) + b = 1
1

(w · x) + b = 0
(w · x) + b = -1
0
0 1 2 3 4 5 6 7

Figura 6.2. Variabile de decalaj şi margine flexibilă

Problema de optimizare devine:

(6.1)

astfel încât:

(6.2)

ξi ≥ 0 (6.3)

cu i = 1..N.
Parametrul de cost C este o măsură a erorii admise în clasificare. El
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. O valoare foarte mare pentru C este

122
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 6. Probleme neseparabile liniar

echivalentă cu folosirea unui hiperplan cu margine inflexibilă, ca în


capitolele anterioare. Parametrul C trebuie ales de utilizator şi depinde de
problemă. De obicei, acesta se alege prin încercări repetate, unii autori
propunând secvenţe exponenţiale, precum: 10–5, 10–3, 0,1, 1, 10, 100, 103,
105. De asemenea, se pot încerca mai multe combinaţii de perechi de valori
pentru parametri (Hsu, Chang & Lin, 2010), de exemplu, dacă se foloseşte
nucleul gaussian, perechi (C, γ).
La fel cum s-a procedat şi în capitolul 4, se formează lagrangianul
(Huson, 2007):

(6.4)

şi apoi se pun condiţiile ca derivatele sale parţiale în raport cu argumentele


să fie 0.
Se obţine astfel problema duală:

(6.5)

astfel încât:

0 ≤ αi ≤ C, i = 1..N. (6.6)

Celelalte constrângeri sunt la fel ca în situaţia marginii inflexibile:

123
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

(6.7)

(6.8)

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.

6.2. Exemple

Să considerăm mai întâi tot o problemă unidimensională (figura 6.3),


pentru care vom aplica o maşină cu vectori suport liniară. Este clar că nu se
pot separa cele două clase.

0.5

-0.5

-1
0 1 2 3 4 5 6 7 8 9

Figura 6.3. Problemă neseparabilă liniar unidimensională

Fără C, toate instanţele au valori mari pentru multiplicatorii αi, după


cum se vede în tabelul 6.1. De asemenea, se poate observa cum scăderea
valorii lui C limitează şi valorile multiplicatorilor αi.

124
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 6. Probleme neseparabile liniar

Tabelul 6.1. Multiplicatorii lagrangieni ai instanţelor


xi Clasa (yi) αi (fără C) αi (C = 10) αi (C = 1)
1 –1 417,428 1,629 0
2 –1 38.564,744 2,516 0,221
3 1 103.756,765 7,933 1
4 –1 76.934,555 3,798 1
6 1 11.249,539 0,001 0,221
7 1 762,259 0,0017 0
8 1 148,164 0,0079 0

A doua problemă, din figura 6.4, este tot unidemensională. Clasele


sunt separabile liniar, dar instanţa din punctul 10 ar putea fi o valoare
afectată de zgomot sau o valoare extremă. Decizia pe care trebuie să o ia
utilizatorul este dacă permite o eroare la această instanţă pentru a avea o
margine mare de separare între 4 şi 12 (introducând parametrul C, pentru o
formulare cu margine flexibilă), sau dacă doreşte o clasificare precisă, cu o
margine mai mică, între 10 şi 12 (fără C, cu formularea exactă a problemei
de optimizare).

-1
0 2 4 6 8 10 12 14 16

Figura 6.4. Problemă cu o valoare extremă

Tabelul 6.2 prezintă multiplicatorii lagrangieni ai instanţelor, pentru


diferite valori ale lui C.

125
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Tabelul 6.2. Multiplicatorii lagrangieni ai instanţelor


xi Clasa (yi) αi (fără C) αi (C = 0,01) αi (C = 0,001)
1 –1 0 0 0
2 –1 0 0 0,001
3 –1 0 0,0065 0,001
4 –1 0 0,01 0,001
10 –1 0,5 0,01 0,001
12 1 0,5 0,01 0,001
13 1 0 0,01 0,001
14 1 0 0,0065 0,001
15 1 0 0 0,001

Fără C se reuşeşte clasificarea perfectă, cu punctul de separare 11.


Cu un C mai mic, se permit erori şi apar mai mulţi vectori suport. Pentru
C = 0,01, punctul de separare este 9,32, iar pentru C = 0,001, are valoarea
9,11, deci se mută spre stânga, depăşind instanţa problematică 10.
Să considerăm acum un exemplu bidimensional neseparabil liniar,
ilustrat în figura 6.5 (Zisserman, 2014).

Figura 6.5. Problemă neseparabilă liniar bidimensională

126
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 6. Probleme neseparabile liniar

Suprafeţele de decizie, folosind nucleul gaussian ,


pentru diferite valori ale lui γ şi C, sunt prezentate în figurile 6.6 – 6.10
(Zisserman, 2014).

Figura 6.6. Suprafaţa de decizie pentru γ = 1/2 şi C = ∞

Figura 6.7. Suprafaţa de decizie pentru γ = 1/2 şi C = 100

127
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Figura 6.8. Suprafaţa de decizie pentru γ = 1/2 şi C = 10

Figura 6.9. Suprafaţa de decizie pentru γ = 8 şi C = ∞

În final, vom rezolva un exemplu mai complex (adaptat după


Quinlan, 1986 de Leon, 2012), în care trebuie să se determine în funcţie de
condiţiile meteorologice dacă se poate juca sau nu golf. Instanţele problemei
sunt prezentate în tabelul 6.3.

128
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 6. Probleme neseparabile liniar

Figura 6.10. Suprafaţa de decizie pentru γ = 50 şi C = ∞

Tabelul 6.3. Problemă de clasificare cu atribute mixte


Nr. instanţă Starea vremii Temperatură Umiditate Vânt Joc
1 Soare 29,4 85 Absent Nu
2 Soare 26,7 90 Prezent Nu
3 Înnorat 28,3 86 Absent Da
4 Ploaie 21,1 96 Absent Da
5 Ploaie 20,0 80 Absent Da
6 Ploaie 18,3 70 Prezent Nu
7 Înnorat 17,8 65 Prezent Da
8 Soare 22,2 95 Absent Nu
9 Soare 20,6 70 Absent Da
10 Ploaie 23,9 80 Absent Da
11 Soare 23,9 70 Prezent Da
12 Înnorat 22,2 90 Prezent Da
13 Înnorat 27,2 75 Absent Da
14 Ploaie 21,7 91 Prezent Nu

Întrucât atributele Temperatură și Umiditate sunt numerice, acestea


se normalizează în întervalul [0, 1]. Vânt este un atribut binar, deci valorile
lui se pot înlocui cu valori de 0 şi 1. Starea vremii are mai multe valori
simbolice. Acestea pot fi tratate ca valori ordinale, transformându-se în

129
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

valorile { 0, 0,5, 1 }, ca în tabelul 6.4, sau pot fi tratate ca valori nominale


distincte, şi în acest caz vom avea o intrare separată binară pentru fiecare
valoare a atributului. Cu 3 valori distincte, vom avea 3 intrări (notate SV-S
pentru Starea vremii = Soare, SV-Î pentru Starea vremii = Înnorat şi SV-P
pentru Starea vremii = Ploaie), în care, pentru o anumită valoare a
atributului, intrarea corespunzătoare va fi 1 iar celelalte două vor fi 0, după
cum se poate vedea în tabelul 6.5.

Tabelul 6.4. Problemă de clasificare cu atribute exclusiv numerice


Nr. instanţă Starea vremii Temperatură Umiditate Vânt Joc
1 1 1,000 0,645 0 –1
2 1 0,767 0,806 1 –1
3 0,5 0,905 0,677 0 1
4 0 0,284 1,000 0 1
5 0 0,190 0,484 0 1
6 0 0,043 0,161 1 –1
7 0,5 0,000 0,000 1 1
8 1 0,379 0,968 0 –1
9 1 0,241 0,161 0 1
10 0 0,526 0,484 0 1
11 1 0,526 0,161 1 1
12 0,5 0,379 0,806 1 1
13 0,5 0,810 0,323 0 1
14 0 0,336 0,839 1 –1

În cele ce urmează, vom utiliza mulţimea de date din tabelul 6.4 şi


nucleul gaussian . Multiplicatorii şi valorile funcţiei
discriminant sunt prezentate în tabelul 6.6, în condiţiile în care b = 0,699.

130
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 6. Probleme neseparabile liniar

Tabelul 6.5. Transformarea unui atribut simbolic nominal


Nr. instanţă SV-S SV-Î SV-P Temperatură Umiditate Vânt Joc
1 1 0 0 1,000 0,645 0 –1
2 1 0 0 0,767 0,806 1 –1
3 0 1 0 0,905 0,677 0 1
4 0 0 1 0,284 1,000 0 1
5 0 0 1 0,190 0,484 0 1
6 0 0 1 0,043 0,161 1 –1
7 0 1 0 0,000 0,000 1 1
8 1 0 0 0,379 0,968 0 –1
9 1 0 0 0,241 0,161 0 1
10 0 0 1 0,526 0,484 0 1
11 1 0 0 0,526 0,161 1 1
12 0 1 0 0,379 0,806 1 1
13 0 1 0 0,810 0,323 0 1
14 0 0 1 0,336 0,839 1 –1

Tabelul 6.6. Rezultatele modelului SVM


Nr. instanţă α (w · x) + b fd(x) Joc
1 2,028 –1 –1 –1
2 5,486 –1 –1 –1
3 3,325 1 1 1
4 1,578 1 1 1
5 0 1,040 1 1
6 1,696 –1 –1 –1
7 0 1 1 1
8 2,691 –1 –1 –1
9 1,721 1 1 1
10 0 1,392 1 1
11 1,460 1 1 1
12 9,684 1 1 1
13 0 1,402 1 1
14 6,594 –1 –1 –1

131
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7

Algoritmul SMO

7.1. Optimizarea diferenţială a unei funcţii

În cazul general al unei funcţii de n variabile, f(x1, ..., xn), o


modalitate de maximizare este de a considera pe rând fiecare variabilă şi de
a-i găsi acesteia valoarea care maximizează funcţia, în condiţiile în care
celelalte variabile rămân cu valori fixe (după Terashima, 2012).
De exemplu, fie , reprezentată
din două perspective diferite în figurile 7.1 şi 7.2.

Figura 7.1. Graficul funcţiei  ,       


2


Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Figura 7.2. Proiecţie bidimensională a graficul funcţiei


 ,       
2


Să presupunem că începem procesul de optimizare din punctul


(5, 5), unde f(5, 5) = 5 + 5 + 25 – 50 – 25 = –40. Realizăm mai întâi
optimizarea după x1, considerând fix pe x2:

care are un maxim în punctul în care derivata expresiei din paranteză în


raport cu x1 este 0:

Din noul punct (0,67 , 5), realizăm optimizarea după x2, considerând
fix pe x1:

134
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

care are un maxim în punctul în care derivata expresiei din paranteză în


raport cu x2 este 0:

Repetând procesul vom obţine succesiv:

Se vede că x1 şi x2 converg la valorile care maximizează funcţia:


f(0,43 , 0,71) = 0,57. Din punct de vedere grafic, procesul se desfăşoară ca
în figura 7.3.

Figura 7.3. Procesul de optimizare diferenţială iterativă

135
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

7.2. Rezolvarea problemei duale pentru maşini cu


vectori suport

După cum am văzut în capitolele anterioare, problema de optimizare


pentru o maşină cu vectori suport presupune maximizarea funcţiei ΘD(α):

(7.1)

astfel încât:

0 ≤ αi ≤ C, i = 1..N (7.2)

(7.3)

. (7.4)

Rezolvând problema de determinare a multiplicatorilor optimi, sunt


satisfăcute următoarele condiţii de optimalitate:

(7.5)

Având în vedere ecuaţia 7.3, nu putem optimiza funcţia din ecuaţia


7.1 cu o singură variabilă, ca în secţiunea 7.1. Pentru a păstra suma
constantă, trebuie să modificăm cel puţin 2 multiplicatori α simultan.

136
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

Pentru a rezolva această problemă de optimizare au fost propuse mai


multe metode. De exemplu, metoda partiţionării (engl. “chunking”, Vapnik,
1982) se bazează pe faptul că înlăturarea instanţelor de antrenare cu
multiplicatori nuli nu modifică soluţia. Ideea de bază este împărţirea
problemei de optimizare în subprobleme mai mici, pentru a identifica
multiplicatorii nenuli. O subproblemă conţine multiplicatorii nenuli găsiţi
prin rezolvarea subproblemei precedente la care se adaugă instanţele care
violează cel mai mult condiţiile 7.5. În ultimul pas, se rezolvă problema
completă, în care s-au determinat toţi multiplicatorii nenuli.
O altă metodă este cea a decompoziţiei (Osuna, Freund & Girosi,
1997b), cu acelaşi principiu de împărţire în subprobleme mai mici, însă de
dimensiune fixă, ceea ce permite rezolvarea unor probleme cu mulţimi de
antrenare foarte mari.
Algoritmul de optimizare secvenţială minimală (engl. “Sequential
Minimal Optimization”, SMO), propus de Platt (1998), descompune şi el
problema de programare cuadratică în subprobleme de dimensiune fixă,
rezolvând însă de fiecare dată problema de optimizare de dimensiune
minimă, adică o problemă cu doar 2 multiplicatori. În mod repetat, SMO
alege 2 multiplicatori pentru a fi optimizaţi împreună, până când este
rezolvată problema globală. Din punct de vedere practic, procedura se repetă
până la satisfacerea unui criteriu de convergenţă, adică aproximarea corectă
a mulţimii de antrenare cu o eroare maximă permisă ε, de exemplu ε = 10–3
(Terashima, 2012).
Considerând multiplicatorii αi şi αj , pe baza ecuaţiei 7.3 putem
scrie:

(7.6)

137
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

unde , după cum clasele corespunzătoare instanţelor celor


2 multiplicatori sunt diferite sau egale, respectiv.
Prin urmare, putem optimiza la un moment dat funcţia
doar după multiplicatorul αi , menţinând
ceilalţi multiplicatori constanţi.
Algoritmul SMO are trei componente principale (Platt, 1998;
Ramirez-Padron, 2007):

• o metodă analitică de optimizare a celor doi multiplicatori aleşi;


• o euristică pentru alegerea multiplicatorilor care vor fi optimizaţi
împreună la un moment dat;
• o metodă pentru calcularea pragului b.

7.3. Optimizarea comună a unei perechi de


multiplicatori

Pentru a uşura înţelegerea, vom nota, ca şi Platt, primul multiplicator


ales cu α1 şi pe cel de-al doilea cu α2. De asemenea, notăm cu şi
valorile „vechi” dinaintea procesului de optimizare şi cu şi valorile
„noi”, optimizate.
Ştim că suma trebuie să rămână constantă după
optimizarea lui α1 şi α2. Această condiţie poate fi scrisă astfel:

(7.7)

unde s = y1y2.

138
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

Ecuaţiile 7.7 şi 7.2 impun ca valorile actualizate ale multiplicatorilor


să rămână pe un segment de dreaptă precum cele din figura 7.4 (Platt,
1999a).

Figura 7.4. Restricţiile de la actualizarea unei perechi de multiplicatori

Paşii urmaţi sunt următorii:

• rezolvarea problemei de optimizare în α2 respectând relaţia


;
• readucerea, dacă este cazul, a valorii noi a lui α2 într-un interval
acceptabil [L, H] astfel încât în final ;
• calcularea noii valori pentru α1.

Folosind ecuaţia 7.7, dacă y1 ≠ y2, α2 trebuie să se încadreze în


următoarele limite:

(7.8)

. (7.9)

Dacă y1 = y2, aceste limite vor fi:

139
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

(7.10)

. (7.11)

Platt propune o expresie generală pentru L şi H, evitând testul după


valorile claselor, y1 şi y2:

(7.12)

. (7.13)

În continuare, funcţia de maximizat se consideră a fi ,


ceilalţi multiplicatori fiind trataţi ca nişte constante. Substituind α1 cu o
funcţie de α2, vom avea de optimizat , rezolvând:

. (7.14)

Nu vom include aici expresia lui , deoarece este destul de


complexă şi considerăm că aceste calcule matematice nu sunt esenţiale
pentru înţelegerea algoritmului. Este suficient să menţionăm că este
o funcţie cuadratică în α2:

, (7.15)

unde . Prin urmare, este uşor de optimizat.

140
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

Derivata a doua a unei funcţii f poate fi folosită pentru a vedea dacă


un punct este minim sau maxim local. Astfel:

• dacă f''(x) < 0, x este un punct de maxim local;


• dacă f''(x) > 0, x este un punct de minim local;
• dacă f''(x) = 0, testul este neconcludent; x poate fi un punct de
inflexiune.

În cazul nostru, dacă există un maxim, vom avea:

(7.16)

iar valoarea optimă a lui α2 va fi:

, (7.17)

unde este eroarea curentă pentru instanţa de antrenare i.


indică funcţia de decizie cu mulţimea veche de multiplicatori lagrangieni.
După calcularea valorii optime a lui α2, aceasta este adusă în
intervalul pentru a respecta condiţiile de limită:

(7.18)

Apoi este calculată noua valoare a lui α1:

141
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

. (7.19)

În cazul în care avem mai multe instanţe de antrenare duplicat, este


posibil ca η să fie 0. Pot exista două situaţii:

• Dacă , atunci ΘD(α2) este o linie iar va


fi ori 0 ori C, valoarea care maximizează ΘD. se obţine tot din
ecuaţia 7.19;
• Dacă , atunci ΘD este o constantă, nu se
mai pot face progrese în optimizarea multiplicatorilor curenţi şi
trebuie găsită o altă pereche.

7.4. Determinarea multiplicatorilor pentru


optimizare

Principala problemă a algoritmului SMO este alegerea unei perechi


potrivite de multiplicatori în fiecare iteraţie. În acest scop, se utilizează
câteva euristici (Platt, 1999a; Platt, 1999b; Ramirez-Padron, 2007).
Algoritmul are două bucle de căutare. În bucla exterioară se caută un
multiplicator care nu respectă condiţiile 7.5, cu o anumită eroare admisibilă ε.
Prima dată bucla exterioară iterează după toate instanţele de
antrenare. După prima iteraţie, bucla exterioară alternează căutarea după o
singură trecere prin toate instanţele de antrenare şi iteraţii multiple după
instanţele cu multiplicatori care nu sunt nici 0 şi C, adică . În
timpul execuţiei algoritmului, multiplicatorii care au valori limită, probabil
şi le vor păstra, iar ceilalţi şi le vor schimba în decursul optimizărilor.

142
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

Algoritmul se termină când toate instanţele de antrenare respectă condiţiile


7.5 cu eroarea admisibilă ε.
De fiecare dată când bucla exterioară determină un prim
multiplicator, bucla inferioară iterează după restul multiplicatorilor pentru
a-l găsi pe cel de-al doilea. Este ales acela ca maximizează pasul de
actualizare din ecuaţia 7.17. Evaluările funcţiei nucleu K sunt consumatoare
de timp, aşa încât SMO aproximează pasul prin valoarea absolută a
numărătorului: |E1 – E2 |. Algoritmul păstrează o valoare de rezervă (engl.
“cached”) a erorii pentru fiecare instanţă al cărei multiplicator nu are o
valoare limită şi apoi alege o eroare care maximizează în mod aproximativ
mărimea pasului. Dacă E1 este pozitivă, algoritmul alege o instanţă cu
eroarea E2 minimă. Dacă E1 este negativă, algoritmul alege o instanţă cu
eroarea E2 maximă.
În anumite situaţii, de exemplu când ambele instanţe au acelaşi
vector de antrenare (x1 = x2), folosirea metodei de mai sus nu conduce la
progresul algoritmului, adică la un pas nenul în ecuaţia 7.17. În aceste
cazuri, SMO utilizează o ierarhie de euristici pentru alegerea celui de-al
doilea multiplicator:

• Dacă euristica de mai sus nu conduce la progres, algoritmul


iterează după multiplicatorii care nu au valori limită, care pot
determina un pas nenul;
• Dacă nu se găsesc astfel de multiplicatori, algoritmul iterează
după toate instanţele de antrenare, căutând una care să conducă
la progres.

143
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

În ambele situaţii, căutarea multiplicatorilor porneşte din poziţii


aleatorii, pentru a nu da importanţă mai mare instanţelor de la începutul
mulţimii de antrenare.
Dacă nicio instanţă nu poate conduce la progres, se alege un nou
prim multiplicator şi procedura se reia cu acesta.

7.5. Determinarea pragului

Determinarea multiplicatorilor permite calcularea lui w, dar nu şi


a pragului b. Acesta trebuie calculat separat iar SMO îi recalculează
valoarea după fiecare pas, pentru ca instanţele de antrenare să satisfacă toate
condiţiile 7.5.
Platt utilizează o mică modificare a ecuaţiei suprafeţei de separare,
cu –b în loc de b. Din punct de vedere practic, nu are nicio importanţă cum
considerăm semnul lui b. În continuare vom urma însă formularea lui Platt.
Când nu are valori limită, următoarea formulă forţează ieşirea
SVM să fie y1 pentru intrarea x1:

. (7.20)

Analog, când nu are valori limită, următoarea formulă forţează


ieşirea SVM să fie y2 pentru intrarea x2:

. (7.21)

Mai concis, formulele 7.20 şi 7.21 pot fi scrise astfel:

144
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

. (7.22)

Primii doi termeni de după Ei actualizează ieşirea reală a modelului


fd cu noile valori ale lui α1 şi α2. Ultimul termen îndepărtează pragul vechi
din funcţia de decizie. Astfel, ecuaţia 7.22 este adevărată când
multiplicatorii lagrangieni nu au valori limită. În acest caz, pragurile şi
au valori egale şi aceasta devine noua valoare a lui b.
Dacă multiplicatorii au valori limită şi L ≠ H, toate valorile din
intervalul sunt praguri care conduc la respectarea condiţiilor 7.5. În
acest caz, se alege valoarea:

. (7.23)

Utilizarea ecuaţiilor 7.20 şi 7.21 are avantajul rapidităţii calculelor,


deoarece erorile pot fi memorate pentru toate instanţele ai căror
multiplicatori nu sunt nici 0 nici C. Când un multiplicator care nu are o
valoare limită este implicat într-o optimizare, valoarea de rezervă a erorii
sale devine 0. Pentru ceilalţi multiplicatori fără valori limită, care nu sunt
implicaţi într-o optimizare, erorile sunt actualizate astfel:

.(7.24)

Pentru multiplicatorii cu valori extreme (0 sau C), algoritmul va


evalua eroarea calculând funcţia de decizie determinată de multiplicatorii
curenţi.
Avantajul principal al algoritmului SMO este consumul relativ
scăzut de resurse. Spaţiul necesar este liniar în numărul de instanţe de

145
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

antrenare. Complexitatea de timp este O(k · n) unde n este numărul de


instanţe de antrenare iar k este numărul mediu de candidaţi ai vectorilor
suport în timpul iteraţiilor. De fapt, complexitatea de timp este în general
între O(n) şi O(n2) (Ramirez-Padron, 2007).
În ultimii ani, au apărut numeroşi algoritmi derivaţi din SMO care
încearcă să-i crească viteza de convergenţă sau să adapteze algoritmul
pentru alte probleme precum regresia sau diferite variante ale problemelor
de clasificare (Shevade et al., 2000; Keerthi et al., 2001; Shao, Wu & Liao,
2013; Huanga, Shib & Suykensa, 2014).
De asemenea, există şi abordări mai simple şi mai rapide, dar
aproximative, pentru rezolvarea problemei de optimizare, atât în forma
primară cât şi duală, precum metoda gradientului descendent stohastic
(Cristianini, 2001; Zhang, 2004; Bottou, 2012).

7.6. Pseudocodul algoritmului SMO

Pseudocodul algoritmului SMO (Platt, 1999a; Ramirez-Padron,


2007) este prezentat în cele ce urmează.

target = vectorul de ieşiri dorite


point = matricea vectorilor de antrenare

main
{
Se iniţializează elementele vectorului alpha cu 0
Se iniţializează pragul cu 0
–3
Se iniţializează epsilon cu o valoare mică, de exemplu 10
numChanged = 0
examineAll = true

146
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

while (numChanged > 0 or examineAll)


{
numChanged = 0
if (examineAll)
{
// iteraţie după toţi vectorii de antrenare
loop i
numChanged += ExamineExample(i)
}
else
{
// iteraţie după toţi vectorii de antrenare cu alpha diferiţi de 0 şi C
loop i
numChanged += ExamineExample(i)
}

if (examineAll)
examineAll = false
else if (numChanged == 0)
examineAll = true
}
}

procedure ExamineExample(i2)
{
y2 = target[i2]
alpha2 = multiplicatorul lagrangian pentru i2

// memorarea valorii de rezervă a erorii (error cache)


E2 = (ieşirea curentă a SVM pentru instanţa de antrenare i2) – y2

// dacă alpha2 violează condiţiile de optimalitate, caută un alpha1 potrivit


r2 = E2 * y2

if ((r2 < – epsilon && alpha2 < C) or (r2 > epsilon && alpha2 > 0))
{
if ((numărul de elemente ale lui alpha diferite de 0 şi C) > 1)
{
i1 = alege un alt multiplicator care maximizează pasul

147
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

if (TakeStep(i1, i2))
return 1
}

// iteraţie după toţi alpha diferiţi de 0 şi de C, începând cu un index aleatoriu


loop i1
{
if (TakeStep(i1, i2))
return 1
}

// iteraţie după toţi alpha, începând cu un index aleatoriu


loop i1
{
if (TakeStep(i1, i2))
return 1
}
}
return 0
}

procedure TakeStep(i1, i2) // i1, i2 sunt indicii multiplicatorilor


{
if (i1 == i2)
return false

alpha1 = alpha[i1] // multiplicatorul lagrangian pentru i1


y1 = target[i1]

// memorarea valorii de rezervă a erorii (error cache)


E1 = (ieşirea curentă a SVM pentru instanţa de antrenare i1) – y1
s = y1 * y2
Se calculează L, H
if (L == H)
return false

k11 = kernel(point[i1], point [i1])


k12 = kernel(point[i1], point [i2])
k22 = kernel(point[i2], point [i2])

148
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

eta = 2 * k12 – k11 – k22

alpha2 = alpha[i2] // multiplicatorul lagrangian pentru i2


y2 = target[i2]

if (eta < 0)
{
a2 = alpha2 – y2 * (E1 – E2) / eta
if (a2 < L)
a2 = L
else if (a2 > H)
a2 = H
}
else
{
Lobj = ΘD pentru a2 = L
Hobj = ΘD pentru a2 = H

if (Lobj > Hobj + epsilon)


a2 = L
else if (Lobj < Hobj – epsilon)
a2 = H
else
a2 = alpha2
}

// gestionarea erorilor numerice


–8
if (a2 < 10 )
a2 = 0
–8
else if (a2 > C – 10 )
a2 = C

if (|a2 – alpha2| < epsilon * (a2 + alpha2 + epsilon))


return false

// actualizarea primului multiplicator


a1 = alpha1 + s * (alpha2 – a2)

Se actualizează pragul pentru a reflecta schimbările multiplicatorilor

149
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Se actualizează vectorul de ponderi pentru a reflecta schimbările din a1 şi a2,


dacă modelul SVM este liniar
Se actualizează valorile de rezervă ale erorilor folosind noii multiplicatori
Se memorează a1 şi a2 în vectorul alpha: alpha[i1] = a1, alpha[i2] = a2
return true
}

7.7. Exemplu de aplicare

Să considerăm problema simplă din tabelul 7.1. Având în vedere


complexitatea algoritmului SMO, chiar şi pentru această problemă se vor
face numeroase prelucrări.

Tabelul 7.1. Mulţimea de antrenare


x y
1 –1
2 –1
4 1
5 1

În continuare, se prezintă modul de execuţie, pas cu pas, evidenţiind


numele procedurilor din pseudocod împreună cu valorile argumentelor şi
rezultatele calculelor. Pentru a urmări funcţionarea algoritmului, s-a folosit
o variantă modificată a implementării lui Vuduc (1999).

Examine example
r2 < -epsilon && alpha2 < C2) || (r2 > epsilon && alpha2 > 0)
i2 = 0, a2 = 0.000, E2 = 1.000, r2 = -1.000, alphaNonBounded = 0

Take step: i1=3 i2=0

150
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

a1=0.000 p1=5.000 y1=1 E1=-1.000


a2=0.000 p2=1.000 y2=-1 E2=1.000
L=0.000 H=10000.000
K=0.000 k11=0.000 k12=0.000 k22=0.000 eta=0.000
eta>0 a2=0.125
a2=0.125
a1=0.125
b1=1.500 b2=1.500
b=1.500 alpha-bound(1) = False

Update error cache


E[0]=0.000
E[1]=0.500
E[2]=-0.500
E[3]=0.000

Update alphas
a1[3]=0.125 a2[0]=0.125 return 1

Examine example - return 1


i = 0, numChanged = 1

Examine example
r2 < -epsilon && alpha2 < C2) || (r2 > epsilon && alpha2 > 0)
i2 = 1, a2 = 0.000, E2 = 0.500, r2 = -0.500, alphaNonBounded = 2

Find min error: imin=0 Emin=0.000e+000

Take step: i1=0 i2=1


a1=0.125 p1=1.000 y1=-1 E1=0.000
a2=0.000 p2=2.000 y2=-1 E2=0.500
L=0.000 H=0.125
K=0.000 k11=0.000 k12=0.000 k22=0.000 eta=0.000
eta>0 a2=0.125
a2=0.125
a1=0.000
b1=1.375 b2=1.750
b=1.750 alpha-bound(2) = False

Update error cache

151
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

E[0]=-0.375
E[1]=0.000
E[2]=-1.250
E[3]=-0.875

Update alphas
a1[0]=0.000 a2[1]=0.125 return 1

Examine example - return 1


i = 1, numChanged = 2

Examine example
r2 < -epsilon && alpha2 < C2) || (r2 > epsilon && alpha2 > 0)
i2 = 2, a2 = 0.000, E2 = -1.250, r2 = -1.250, alphaNonBounded = 2

Find max error: imax=1 Emax=0.000e+000

Take step: i1=1 i2=2


a1=0.125 p1=2.000 y1=-1 E1=0.000
a2=0.000 p2=4.000 y2=1 E2=-1.250
L=0.000 H=9999.875
K=0.000 k11=0.000 k12=0.000 k22=0.000 eta=0.000
eta>0 a2=0.313
a2=0.313
a1=0.438
b1=3.000 b2=3.000
b=3.000 alpha-bound(1) = False

Update error cache


E[0]=-1.000
E[1]=0.000
E[2]=0.000
E[3]=1.000

Update alphas
a1[1]=0.438 a2[2]=0.313 return 1

Examine example - return 1


i = 2, numChanged = 3

152
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

Examine example
r2 < -epsilon && alpha2 < C2) || (r2 > epsilon && alpha2 > 0)
i2 = 3, a2 = 0.125, E2 = 1.000, r2 = 1.000, alphaNonBounded = 3

Find min error: imin=1 Emin=0.000e+000

Take step: i1=1 i2=3


a1=0.438 p1=2.000 y1=-1 E1=0.000
a2=0.125 p2=5.000 y2=1 E2=1.000
L=0.000 H=9999.688
K=0.000 k11=0.000 k12=0.000 k22=0.000 eta=0.000
eta>0 a2=0.014
a2=0.014
a1=0.326
b1=2.333 b2=2.333
b=2.333 alpha-bound(1) = False

Update error cache


E[0]=-0.667
E[1]=0.000
E[2]=-0.667
E[3]=0.000

Update alphas
a1[1]=0.326 a2[3]=0.014 return 1

Examine example - return 1


i = 3, numChanged = 4

Examine example

Examine example - not in if - return 0

Examine example
r2 < -epsilon && alpha2 < C2) || (r2 > epsilon && alpha2 > 0)
i2 = 2, a2 = 0.313, E2 = -0.667, r2 = -0.667, alphaNonBounded = 3

Find max error: imax=1 Emax=5.402e-008

Take step: i1=1 i2=2

153
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

a1=0.326 p1=2.000 y1=-1 E1=0.000


a2=0.313 p2=4.000 y2=1 E2=-0.667
L=0.000 H=9999.986
K=0.000 k11=0.000 k12=0.000 k22=0.000 eta=0.000
eta>0 a2=0.479
a2=0.479
a1=0.493
b1=3.000 b2=3.000
b=3.000 alpha-bound(1) = False

Update error cache


E[0]=-1.000
E[1]=-0.000
E[2]=-0.000
E[3]=1.000

Update alphas
a1[1]=0.493 a2[2]=0.479 return 1

Examine example - return 1

Examine example
r2 < -epsilon && alpha2 < C2) || (r2 > epsilon && alpha2 > 0)
i2 = 3, a2 = 0.014, E2 = 1.000, r2 = 1.000, alphaNonBounded = 3

Find min error: imin=2 Emin=-1.192e-007

Take step: i1=2 i2=3


a1=0.479 p1=4.000 y1=1 E1=-0.000
a2=0.014 p2=5.000 y2=1 E2=1.000
L=0.000 H=0.493
K=0.000 k11=0.000 k12=0.000 k22=0.000 eta=0.000
eta>0 a2=0.000
a2=0.000
a1=0.493
b1=2.944 b2=3.931
b=2.944 alpha-bound(1) = False

Update error cache


E[0]=-0.958

154
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 7. Algoritmul SMO

E[1]=0.028
E[2]=0.000
E[3]=0.986

Update alphas
a1[2]=0.493 a2[3]=0.000 return 1

Examine example - return 1

Examine example
r2 < -epsilon && alpha2 < C2) || (r2 > epsilon && alpha2 > 0)
i2 = 1, a2 = 0.493, E2 = 0.028, r2 = -0.028, alphaNonBounded = 2

Find min error: imin=2 Emin=1.118e-008

Take step: i1=2 i2=1


a1=0.493 p1=4.000 y1=1 E1=0.000
a2=0.493 p2=2.000 y2=-1 E2=0.028
L=0.000 H=10000.000
K=0.000 k11=0.000 k12=0.000 k22=0.000 eta=0.000
eta>0 a2=0.500
a2=0.500
a1=0.500
b1=3.000 b2=3.000
b=3.000 alpha-bound(1) = False

Update error cache


E[0]=-1.000
E[1]=0.000
E[2]=0.000
E[3]=1.000

Update alphas
a1[2]=0.500 a2[1]=0.500 return 1

Examine example - return 1

Examine example

Examine example - not in if - return 0

155
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Examine example
Examine example - not in if - return 0

Examine example

Examine example - not in if - return 0

Examine example

Examine example - not in if - return 0


i = 0, numChanged = 0

Examine example

Examine example - not in if - return 0


i = 1, numChanged = 0

Examine example

Examine example - not in if - return 0


i = 2, numChanged = 0

Examine example

Examine example - not in if - return 0


i = 3, numChanged = 0

Rezultatele obţinute în final, prezentate în tabelul 7.2, sunt cele


aşteptate, cu 2 vectori suport în instanţele 2 şi 4 şi un punct de separare în 3.

Tabelul 7.2. Rezultatele modelului SVM


x α (w · x) + b fd(x) y
1 0 –2 –1 –1
2 –0,5 –1 –1 –1
4 0,5 1 1 1
5 0 2 1 1

156
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 8

Extensii

8.1. Probleme de regresie

Pentru o problemă de regresie, valoarea care trebuie învăţată nu mai


este binară, ci reală. Această valoare trebuie aproximată cât mai bine de
model, cu o eroare maximă admisă ε. De aceea, utilizarea SVM pentru
regresie se mai numeşte ε-SVR (engl. “ε-Support Vector Regression”).
Ideea de bază este determinarea funcţiei de decizie:

(8.1)

astfel încât:

. (8.2)

Trebuie subliniat faptul că în expresia lui fdr lipseşte funcţia semn


utilizată în ecuaţia 3.3 corespunzătoare funcţiei de decizie fd pentru maşinile
cu vectori suport destinate clasificării.
De asemenea, pentru a preveni supra-potrivirea, fdr trebuie să fie cât
mai netedă. Figura 8.1 (Statnikov et al., 2009) ilustrează principiul metodei.

Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Figura 8.1. Principiul metodei de regresie

Atunci când se permit erori mai mari, echivalentul marginii flexibile,


doar punctele din exteriorul benzii ε sunt penalizate iar problema de
optimizare este:

(8.3)

astfel încât:

(8.4)

ξi ≥ 0. (8.5)

cu i = 1..N.
Această situaţie este reprezentată în figura 8.2 (Statnikov et al.,
2009).

158
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 8. Extensii

Figura 8.2. Margine flexibilă pentru regresie

În cazul neliniar, se va utiliza şi aici o funcţie de transformare φ(x),


echivalentă cu aplicarea unui nucleu, ca în figura 8.3 (după Statnikov et al.,
2009).

Figura 8.3. Utilizarea unui nucleu pentru o problemă de regresie

159
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

8.2. Probleme de clasificare cu clase multiple

Multe probleme de clasificare nu sunt binare, ci implică mai multe


valori pentru clasă. De exemplu, clasificarea florilor de iris sau stânjenel
(Fisher, 1936) este un exemplu tipic de problemă cu o structură simplă dar
nu foarte uşor de rezolvat. Mulţimea de date conţine 3 clase cu 50 de
instanţe fiecare, iar fiecare clasă reprezintă un tip de iris: setosa, versicolor
şi virginica. Clasa setosa este separabilă liniar de celelalte două, dar acestea
la rândul lor nu sunt separabile liniar între ele. Există 4 atribute numerice:
lungimea petalelor, lăţimea petalelor, lungimea sepalelor şi lăţimea
sepalelor, toate exprimate în centimetri.
Un alt exemplu este o problemă de clasificare a textelor, în care un
document poate aparţine unui număr mare de clase, acestea reprezentând
tematica (politică, economie, sport etc.)
Metodele pe care le vom prezenta în continuare sunt generale şi pot
fi aplicate pentru orice clasificator binar, nu doar pentru maşinile cu vectori
suport. Există multe metode specifice SVM, mult mai complexe, pe care le
vom aminti la finalul acestei secţiuni, însă este discutabil dacă aplicarea lor
se justifică din punct de vedere practic.

8.2.1. Abordarea „una versus toate”

O metodă clasică de tratare a problemelor cu clase multiple este aşa-


numita una versus toate (engl. “one versus all”), care construieşte k modele,
unde k este numărul de clase (Bottou et al., 1994; Hsu & Lin, 2002).
Modelul i este antrenat cu toate instanţele din clasa i ca exemple pozitive
(y = 1) şi toate instanţele din celelalte clase, ca exemple negative (y = –1).

160
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 8. Extensii

După construirea celor k modele, rezultă k funcţii de decizie:


. În final, o instanţă x este clasificată în clasa
corespunzătoare modelului cu valoarea maximă a funcţiei de decizie:

. (8.6)

Această metodă este potrivită şi pentru cazul în care clasele nu sunt


mutual exclusive, adică o instanţă poate aparţine simultan mai multor clase
(Statnikov et al., 2009). De exemplu, într-o problemă de clasificare a
documentelor, un document poate aparţine atât clasei ştirilor politice, cât şi
clasei corespunzătoare Italiei. Alt document poate aparţine clasei Italiei dar
şi categoriei sport.
Deoarece numărul de instanţe de antrenare din fiecare problemă este
egal cu numărul total de instanţe N, metoda rezolvă k probleme de
optimizare cuadratică cu N variabile.

8.2.2. Abordarea „toate versus toate”

O altă metodă foarte des folosită este cea denumită toate versus toate
(engl. “all versus all”), care construieşte k · (k – 1) / 2 modele, fiecare fiind
antrenat doar cu instanţele a 2 clase (Knerr, Personnaz & Dreyfus, 1990;
Kreßel, 1999). Pentru a clasifica o instanţă x, se folosesc toţi aceşti
clasificatori şi fiecare dă un vot asupra apartenenţei lui x la o anumită clasă:
dacă indică apartenenţa lui x la clasa i, atunci numărul
de voturi corespunzător clasei i este incrementat. În final, se alege clasa cu
cele mai multe voturi. Dacă două clase au acelaşi număr de voturi, se poate
alege în mod arbitrar prima clasă, în ordine lexicografică (Hsu & Lin, 2002).

161
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Această metodă presupune rezolvarea a k · (k – 1) / 2 probleme de


optimizare cu 2N / k variabile, deoarece fiecare clasă are în medie N / k
instanţe. În acest caz, antrenarea poate fi mai rapidă deoarece mulţimile de
antrenare sunt mai mici decât în cazul metodei precedente (Manning,
Raghavan & Schütze, 2008).
Există multe metode de tratare a claselor multiple care încearcă să
rezolve o singură problemă, de exemplu (Weston & Watkins, 1999; Platt,
Cristianini & Shawe-Taylor, 2000; Crammer & Singer, 2001; Bordes et al.,
2007; Lauer & Guermeur, 2011) ş.a., dar abordarea „toate versus toate” este
probabil mai eficientă din punct de vedere practic.

8.3. Exemple

În această secţiune, vom considera o variantă simplificată a


problemei florilor de iris, cu 2 dimensiuni în loc de 4, dar cu aceeaşi natură:
clasa setosa este separabilă liniar de celelalte două clase, iar la graniţa dintre
clasele versicolor şi virginica există instanţe intercalate. Mulţimea de
antrenare este prezentată în tabelul 8.1 iar reprezentarea grafică a problemei
este realizată în figura 8.4.
În toate experimentele de mai jos se foloseşte nucleul polinomial de
gradul 2, deoarece clasele versicolor şi virginica nu sunt separabile liniar.
Valoarea parametrului de cost este C = 10000.

162
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 8. Extensii

Tabelul 8.1. Mulţimea de antrenare


x1 x2 Clasa
1,1 0,1 setosa
1,3 0,2 setosa
1,5 0,2 setosa
1,3 0,3 setosa
1,6 0,6 setosa
3,3 1 versicolor
4,7 1,6 versicolor
5,1 1,6 versicolor
5 1,7 versicolor
4,8 1,8 versicolor
5,6 1,4 virginica
5 1,5 virginica
5,1 1,5 virginica
5,8 1,6 virginica
6,1 2,5 virginica

2.5

1.5

0.5

0
0 1 2 3 4 5 6 7

Figura 8.4. Versiune simplificată bidimensională a problemei florilor de iris

163
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

8.3.1. Abordarea „una versus toate”

Pentru această abordare, trebuie să realizăm 3 modele: setosa vs.


rest, versicolor vs. rest şi virginica vs. rest. În fiecare model, instanţelor
clasei de referinţă le corespunde valoarea 1 pentru clasă, iar restului de
instanţe, valoarea –1.
Tabelele 8.2, 8.3, respectiv 8.4 prezintă rezultatele obţinute cu cele 3
modele pentru toate instanţele din mulţimea de antrenare, valorile calculate
ale pragurilor fiind: –1,736, 47,796, respectiv 30,624.

Tabelul 8.2. Modelul setosa vs. rest


Instanţa y ∙ α ((w ∙ x) + b)
1,1 0,1 setosa 0 1,404
1,3 0,2 setosa 0 1,278
1,5 0,2 setosa 0 1,151
1,3 0,3 setosa 0 1,261
1,6 0,6 setosa 0,023 1,000
3,3 1 versicolor –0,023 –1,000
4,7 1,6 versicolor 0 –3,747
5,1 1,6 versicolor 0 –4,599
5 1,7 versicolor 0 –4,441
4,8 1,8 versicolor 0 –4,071
5,6 1,4 virginica 0 –5,618
5 1,5 virginica 0 –4,320
5,1 1,5 virginica 0 –4,538
5,8 1,6 virginica 0 –6,238
6,1 2,5 virginica 0 –7,661

164
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 8. Extensii

Tabelul 8.3. Modelul versicolor vs. rest


Instanţa y∙α ((w ∙ x) + b)
1,1 0,1 setosa 0 –27,580
1,3 0,2 setosa 0 –20,994
1,5 0,2 setosa 0 –20,500
1,3 0,3 setosa 0 –15,809
1,6 0,6 setosa –0,807 –0,998
3,3 1 versicolor 0 11,487
4,7 1,6 versicolor 0 12,000
5,1 1,6 versicolor 1214,394 1,007
5 1,7 versicolor 0 8,363
4,8 1,8 versicolor 0 16,656
5,6 1,4 virginica 0 –30,017
5 1,5 virginica –1110,934 –0,980
5,1 1,5 virginica 0 –4,215
5,8 1,6 virginica 0 –24,980
6,1 2,5 virginica –102,654 –0,935

Tabelul 8.4. Modelul virginica vs. rest


Instanţa y∙α ((w ∙ x) + b)
1,1 0,1 setosa 0 –42,222
1,3 0,2 setosa 0 –46,911
1,5 0,2 setosa 0 –44,434
1,3 0,3 setosa 0 –53,001
1,6 0,6 setosa 0 –67,043
3,3 1 versicolor 0 –51,998
4,7 1,6 versicolor 0 –27,217
5,1 1,6 versicolor –1186,969 –1,006
5 1,7 versicolor 0 –16,310
4,8 1,8 versicolor 0 –36,061
5,6 1,4 virginica 0 59,539
5 1,5 virginica 1087,702 0,981
5,1 1,5 virginica 0 8,211
5,8 1,6 virginica 0 55,043
6,1 2,5 virginica 99,268 0,936

165
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Tabelul 8.5 prezintă rezultate obţinute prin combinarea celor 3


modele. Pe fiecare linie, valoarea maximă este marcată cu litere aldine.
Coloana corespunzătoare indică clasa furnizată ca răspuns. Se vede că toate
instanţele sunt clasificate corect.

Tabelul 8.5. Rezultatele obţinute prin combinarea modelelor


((w ∙ x) + b) ((w ∙ x) + b) ((w ∙ x) + b)
Instanţa
setosa versicolor virginica
1,1 0,1 setosa 1,404 –27,580 –42,222
1,3 0,2 setosa 1,278 –20,994 –46,911
1,5 0,2 setosa 1,151 –20,500 –44,434
1,3 0,3 setosa 1,261 –15,809 –53,001
1,6 0,6 setosa 1,000 –0,998 –67,043
3,3 1 versicolor –1,000 11,487 –51,998
4,7 1,6 versicolor –3,747 12,000 –27,217
5,1 1,6 versicolor –4,599 1,007 –1,006
5 1,7 versicolor –4,441 8,363 –16,310
4,8 1,8 versicolor –4,071 16,656 –36,061
5,6 1,4 virginica –5,618 –30,017 59,539
5 1,5 virginica –4,320 –0,980 0,981
5,1 1,5 virginica –4,538 –4,215 8,211
5,8 1,6 virginica –6,238 –24,980 55,043
6,1 2,5 virginica –7,661 –0,935 0,936

8.3.2. Abordarea „toate versus toate”

Pentru această abordare, trebuie să realizăm 3 modele: setosa vs.


versicolor, setosa vs. virginica şi versicolor vs. virginica. În fiecare model,
instanţelor primei clase le corespunde y = 1, iar instanţelor din a doua clasă,
y = –1.
Tabelele 8.6, 8.7, respectiv 8.8 prezintă rezultatele obţinute cu cele 3
modele doar pentru instanţele din perechile de clase considerate, valorile
calculate ale pragurilor fiind acum: –1,736, –1,268, respectiv 30,624.

166
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 8. Extensii

Tabelul 8.6. Modelul setosa vs. versicolor


Instanţa y ∙ α ((w ∙ x) + b)
1,1 0,1 setosa 0 1,404
1,3 0,2 setosa 0 1,278
1,5 0,2 setosa 0 1,151
1,3 0,3 setosa 0 1,261
1,6 0,6 setosa 0,023 1,000
3,3 1 versicolor –0,023 –1,000
4,7 1,6 versicolor 0 –3,747
5,1 1,6 versicolor 0 –4,599
5 1,7 versicolor 0 –4,441
4,8 1,8 versicolor 0 –4,071

Tabelul 8.7. Modelul setosa vs. virginica


Instanţa y ∙ α ((w ∙ x) + b)
1,1 0,1 setosa 0 1,150
1,3 0,2 setosa 0 1,104
1,5 0,2 setosa 0 1,057
1,3 0,3 setosa 0 1,097
1,6 0,6 setosa 0,003 1,000
5,6 1,4 virginica 0 –1,488
5 1,5 virginica –0,003 –1,000
5,1 1,5 virginica 0 –1,082
5,8 1,6 virginica 0 –1,724
6,1 2,5 virginica 0 –2,270

Tabelul 8.8. Modelul versicolor vs. virginica


Instanţa y∙α ((w ∙ x) + b)
3,3 1 versicolor 0 51,998
4,7 1,6 versicolor 0 27,217
5,1 1,6 versicolor 1186,969 1,006
5 1,7 versicolor 0 16,310
4,8 1,8 versicolor 0 36,061
5,6 1,4 virginica 0 –59,539
5 1,5 virginica –1087,702 –0,981
5,1 1,5 virginica 0 –8,211
5,8 1,6 virginica 0 –55,043
6,1 2,5 virginica –99,268 –0,936

167
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Tabelul 8.9 prezintă un exemplu de combinare a rezultatelor oferite


de modelele parţiale pentru instanţa cea mai mică din clasa versicolor
(3,3 , 1). În modelul setosa vs. virginica, această instanţă este clasificată
drept setosa, deoarece instanţa este foarte apropiată de dreapta de separare:
w · x) + b) = 0,252.
((w

Tabelul 8.9. Rezultatul obţinut prin combinarea modelelor


pentru instanţa versicolor (3,3 , 1)
Model Rezultat
setosa vs. versicolor versicolor
setosa vs. virginica setosa
versicolor vs. virginica versicolor
Vot majoritar versicolor

În consecinţă, instanţa este clasificată drept versicolor, deoarece are


2 voturi din 3 în acest sens.

8.4. Concluzii

Maşinile cu vectori suport sunt foarte des utilizate pentru probleme


de clasificare, regresie, dar şi pentru alte tipuri de probleme precum
selectarea trăsăturilor (engl. “feature selection”) de exemplu (Brank et al.,
2002; Alonso-Atienza et al., 2012) sau clasificări cu o singură clasă (engl.
“one-class classification”), de exemplu (Manevitz & Yousef, 2001).
Metoda se bazează pe o fundamentare matematică riguroasă, iar
problema de optimizare a cărei rezolvare o presupune este cuadratică, deci
fără optime locale. Transformând formularea primară în formularea duală,
optimizarea nu mai depinde de dimensiunea spaţiului iniţial al problemei,
ceea ce este foarte avantajos în cazul în care există multe atribute, de

168
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Capitolul 8. Extensii

exemplu la clasificarea textelor. Numărul de parametri care trebuie ales de


utilizator este relativ mic. De asemenea, maşinile cu vectori suport
demonstrează o capacitate foarte bună de generalizare.
Pe de altă parte, alegerea tipului de nucleu, a valorilor parametrilor
acestuia şi a parametrului de cost depinde mult de experienţa utilizatorului şi
se face de multe ori prin încercare şi eroare. Proiectarea optimă a
clasificatorilor cu clase multiple este încă o problemă deschisă. Din punct de
vedere practic, timpul de calcul şi necesarul de memorie necesare sunt
factori semnificativi, care trebuie luaţi în considerare mai ales pentru
probleme de dimensiuni mari (Sullivan, 2008).

169
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Referinţe

[1] Aaronson, S. (2008a) Automata, Computability, and Complexity,


MIT OpenCourseWare, Massachusetts Institute of Technology,
lecture notes of “Probably approximately correct (PAC)
learning”, http://ocw.mit.edu/courses/electrical-engineering-and-
computer-science/6-045j-automata-computability-and-
complexity-spring-2011/lecture-notes/MIT6_045JS11_lec19.pdf
[2] Aaronson, S. (2008b) Automata, Computability, and Complexity,
MIT OpenCourseWare, Massachusetts Institute of Technology,
lecture notes of “More PAC learning”, http://ocw.mit.edu/
courses/electrical-engineering-and-computer-science/6-045j-
automata-computability-and-complexity-spring-2011/lecture-
notes/MIT6_045JS11_lec20.pdf
[3] Alonso-Atienza, F., Rojo-Álvarez, J. L., Rosado-Muñoz, A.,
Vinagre, J. J., García-Alberola, A. & Camps-Valls, G. (2012)
Feature selection using support vector machines and bootstrap
methods for ventricular fibrillation detection, Expert Systems
with Applications, vol. 39, pp. 1956-1967, http://www.uv.es/
gcamps/papers/science.pdf
[4] Berwick, R. (2003) An Idiot’s guide to Support vector machines
(SVMs), http://www.cs.ucf.edu/courses/cap6412/fall2009/papers/
Berwick2003.pdf
[5] Blumer, A., Ehrenfeucht, A., Haussler, D. & Warmuth, M. K.
(1989) Learnability and the Vapnik-Chervonenkis dimension,

Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport


Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

Journal of the ACM, vol. 36, issue 4, pp. 929-965, doi:


10.1145/76359.76371
[6] Bordes, A., Bottou, L., Gallinari, P. & Weston, J. (2007) Solving
MultiClass Support Vector Machines with LaRank,
http://www.machinelearning.org/proceedings/icml2007/papers/
381.pdf
[7] Bottou, L. (2012) Stochastic Gradient Descent Tricks,
http://research.microsoft.com/pubs/192769/tricks-2012.pdf
[8] Bottou, L., Cortes, C., Denker, J., Drucker, H., Guyon, I., Jackel,
L., LeCun, Y., Muller, U., Sackinger, E., Simard, P. & Vapnik,
V. (1994) Comparison of classifier methods: A case study in
handwriting digit recognition, Proceedings of the 12th
International Conference on Pattern Recognition, pp. 77-78
[9] Boyd, S. & Vandenberghe, L. (2004) Convex Optimization,
Cambridge University Press
[10] Brank, J., Grobelnik, M., Milić-Frayling, N. & Mladenić, C.
(2002) Feature Selection Using Linear Support Vector Machines,
Technical Report MSR-TR-2002-63, http://research.microsoft.
com/pubs/69946/tr-2002-63.pdf
[11] Burges, C. J. C. (1998) A tutorial on support vector machines for
pattern recognition, Data Mining and Knowledge Discovery,
vol. 2, pp. 121-167, http://research.microsoft.com/pubs/67119/
svmtutorial.pdf
[12] Byrne, J. H. (2014) Neuroscience Online, chapter “Introduction
to Neurons and Neuronal Networks”, http://neuroscience.uth.tmc.
edu/s1/introduction.html
[13] Carrington, A., Fieguth, P. & Chen, H. H. (2014) A New Mercer
Sigmoid Kernel for Clinical Data Classification, 36th Annual

172
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Referinţe

International Conference of the IEEE Engineering in Medicine


and Biology Society (EMBC’14), Chicago,
http://vip.uwaterloo.ca/files/publications/Carrington%20et%20al
%20-%20A%20New%20 Mercer%20Sigmoid%20Kernel.pdf
[14] Champandard, A. J. (2003) AI Game Development: Synthetic
Creatures with Learning and Reactive Behaviors, New Riders
Games, chapter “Perceptrons”, http://flylib.com/books/en/
2.71.1.130/1/
[15] Chang, Y. W., Hsieh, C. J., Chang, K. W., Ringgaard, M. & Lin,
C. J. (2010) Training and testing low-degree polynomial data
mappings via linear SVM, Journal of Machine Learning
Research, vol. 11, pp. 1471-1490
[16] Chudler, E. H. (2014) Brain Facts and Figures,
https://faculty.washington.edu/chudler/facts.html
[17] Crammer, K. & Singer, Y. (2001) On the Algorithmic
Implementation of Multi-class SVMs, Journal of Machine
Learning Research, vol. 2, pp. 265-292
[18] Cristianini, N. (2001) Support Vector and Kernel Machines,
tutorial for the 18th International Conference on Machine
Learning, Berkshires, Massachusetts, http://www.support-
vector.net/icml-tutorial.pdf
[19] De Doná, J. (2004) Lagrangian Duality, http://www.eng.
newcastle.edu.au/eecs/cdsc/books/cce/Slides/Duality.pdf
[20] Doidge, N. (2007) The Brain That Changes Itself, Viking Press,
United States
[21] Droual, R. (2011) Nerve Cells and Electric Signaling,
http://droualb.faculty.mjc.edu/Course%20Materials/Physiology%

173
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

20101/Chapter%20Notes/Fall%202011/chapter_7%20Fall%2020
11.htm
[22] Fisher, R. A. (1936) The use of multiple measurements in
taxonomic problems, Annual Eugenics, vol. 7, part II, pp. 179-
188
[23] Freudenrich, C. (2007) How Nerves Work, HowStuffWorks.com,
http://health.howstuffworks.com/human-body/systems/nervous-
system/nerve5.htm/printable
[24] Georgiou, G. M. (1997) Single-layer networks, in Fiesler, E. &
Beale, R. (eds.), “Handbook of Neural Computation”, IOP
Publishing Ltd and Oxford University Press
[25] Gibbs, P. & Sugihara, H. (1997) What is Occam’s Razor?,
http://math.ucr.edu/home/baez/physics/General/occam.html
[26] Gregory, M. J. (2014) The Nervous System: Neurons,
http://faculty.clintoncc.suny.edu/faculty/michael.gregory/files/
bio%20102/bio%20102%20lectures/nervous%20system/
neurons.htm
[27] Groves, P. M. & Rebec, G. V. (1988) Introduction to Biological
Psychology, 3rd edition, W. C. Brown Publishers, Dubuque, Iowa
[28] Guestrin, C. (2005) PAC-learning, VC Dimension and Margin-
based Bounds, http://www.cs.cmu.edu/~guestrin/Class/10701-
S05/slides/pac-vc.pdf
[29] Gutierrez-Osuna, R. (2010) Support vector machines,
http://research.cs.tamu.edu/prism/lectures/pr/pr_l21.pdf
[30] Hastie, T., Tibshirani, R. & Friedman, J. (2001) Elements of
Statistical Learning: Data Mining, Inference and Prediction,
Springer-Verlag, New York

174
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Referinţe

[31] Hazewinkel, M., ed. (2001) Mercer theorem, Encyclopedia of


Mathematics, Springer
[32] Hebb, D. O. (1949) The Organization of Behavior, Wiley &
Sons, New York
[33] Herculano-Houzel, S. (2009) The Human Brain in Numbers: A
Linearly Scaled-up Primate Brain, Frontiers in Human
Neuroscience, vol. 3, no. 31, doi: 10.3389/neuro.09.031.2009,
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2776484/
[34] Hinton, G. (2008) Support Vector Machines, https://www.cs.
toronto.edu/~hinton/csc2515/notes/lec10svm.ppt
[35] Hsu, C. W. & Lin, C. J. (2002) A Comparison of Methods for
Multiclass Support Vector Machines, IEEE Transactions on
Neural Networks, vol. 13, no. 2, pp. 415-425,
http://cs.ecs.baylor.edu/~hamerly/courses/5325_11s/papers/svm/
hsu2001multiclass.pdf
[36] Hsu, C. W., Chang, C. C. & Lin, C. J. (2010) A Practical Guide
to Support Vector Classification, http://www.csie.ntu.edu.tw/
~cjlin/papers/guide/guide.pdf
[37] Huanga, X., Shib, L. & Suykensa, J. A. K. (2014) Sequential
minimal optimization for SVM with pinball loss,
Neurocomputing, vol. 149, part C, pp. 1596-1603,
doi:10.1016/j.neucom.2014.08.033
[38] Hume, D. (1888) Hume’s Treatise of Human Nature, edited by L.
A. Selby Bigge, Oxford, Clarendon Press, originally published
1739-40
[39] Huson, D. (2007) SVMs and Kernel Functions, http://ab.inf.uni-
tuebingen.de/teaching/ss07/albi2/script/svm.pdf

175
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

[40] Iyer, A. & Ghose, A. (2013) Why does the RBF (radial basis
function) kernel map into infinite dimensional space?,
http://www.quora.com/Why-does-the-RBF-radial-basis-function-
kernel-map-into-infinite-dimensional-space
[41] Kearns, M. & Vazirani, U. (1994) An Introduction to
Computational Learning Theory, MIT Press, Cambridge,
Massachusetts
[42] Kecman, V. (2001) Learning and Soft Computing: Support
Vector Machines, Neural Networks, and Fuzzy Logic Models,
The MIT Press, Cambridge, Massachusetts
[43] Keerthi, S. S., Shevade, S. K., Bhattacharyya, C. & Murthy, K. R.
K. (2001) Improvements to Platt’s SMO Algorithm for SVM
Classifier Design, Neural Computation, vol. 13, no. 3, pp. 637-
649, doi: 10.1162/089976601300014493
[44] Klivans, A. (2005) The PAC Learning Model,
http://www.cs.utexas.edu/~klivans/f06lec2.pdf
[45] Knerr, S., Personnaz, L. & Dreyfus, G. (1990) Single-layer
learning revisited: a stepwise procedure for building and training
a neural network, in Fogelman, J. (ed.), „Neurocomputing:
Algorithms, Architectures and Applications”, Springer-Verlag
[46] Kreßel, U. (1999) Pairwise classification and support vector
machines, in Schölkopf, B., Burges, C. J. C. & Smola, A. J.
(eds.), “Advances in Kernel Methods – Support Vector
Learning”, pp. 255-268, MIT Press, Cambridge, Massachusetts
[47] Kröse, B. & van der Smagt, P. (1996) An Introduction to Neural
Networks, University of Amsterdam

176
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Referinţe

[48] Lauer, F. & Guermeur, Y. (2011) MSVMpack: a Multi-Class


Support Vector Machine Package, Journal of Machine Learning
Research, vol. 12, pp. 2269-2272
[49] Leon, F. (2012) Inteligenţă artificială: raţionament probabilistic,
tehnici de clasificare, Tehnopress, Iaşi
[50] Leslie, C. (2004) String Kernels and Cluster Kernels for Protein
Classification, http://www.cs.columbia.edu/~cleslie/cs4761/
papers/string-kernel-slides.pdf
[51] Lin, C. J. (2012) Machine learning software: design and
practical use, http://www.csie.ntu.edu.tw/~cjlin/talks/
mlss_kyoto.pdf
[52] Lin, H. T. & Lin, C. J. (2003) A Study on Sigmoid Kernels for
SVM and the Training of non-PSD Kernels by SMO-type
Methods, http://home.caltech.edu/~htlin/publication/doc/tanh.pdf
[53] Malmivuo, J. & Plonsey, R. (1995) Bioelectromagnetism -
Principles and Applications of Bioelectric and Biomagnetic
Fields, Oxford University Press, New York, chapter “Synapses,
Receptor Cells, and Brain”, http://www.bem.fi/book/05/ 05.htm
[54] Manevitz, L. M. & Yousef, M. (2001) One-Class SVMs for
Document Classification, Journal of Machine Learning Research,
vol. 2, pp. 139-154, http://www.jmlr.org/papers/volume2/
manevitz01a/manevitz01a.pdf
[55] Manning, C. D., Raghavan, P. & Schütze, H. (2008) Introduction
to Information Retrieval, Cambridge University Press,
http://nlp.stanford.edu/IR-book/html/htmledition/irbook.html
[56] Mastin, L. (2010) Neurons & Synapses, http://www.human-
memory.net/brain_neurons.html

177
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

[57] McCulloch, W. S. & Pitts, W. (1943) A logical calculus of the


ideas immanent in nervous activity, Bulletin of Mathematical
Biophysics, vol. 5, pp. 115-133
[58] Mercer, J. (1909) Functions of positive and negative type and
their connection with the theory of integral equations,
Philosophical Transactions of the Royal Society A, vol. 209, pp.
415-446, doi:10.1098/rsta.1909.0016
[59] Minsky, M. L. & Papert, S. A. (1969) Perceptrons, MIT Press,
Cambridge, Massachusetts
[60] Monoyios, K. (2011) 5 Reasons Your Camera Won’t Steal My
Job, Scientific American Blogs, http://blogs.scientificamerican.
com/symbiartic/2011/07/12/5-reasons-your-camera-won%E2
%80%99t-steal-my-job/
[61] Moore, A. W. (2001a) PAC-learning, http://www.autonlab.org/
tutorials/pac05.pdf
[62] Moore, A. W. (2001b) VC-dimension for characterizing
classifiers, http://www.autonlab.org/tutorials/vcdim08.pdf
[63] Murphy, K. (2006) Learning theory, http://www.cs.ubc.ca/
~murphyk/Teaching/CS340-Fall06/lectures/L4pac.pdf
[64] Ng, A. (2007) Support Vector Machines, http://see.stanford.edu/
materials/aimlcs229/cs229-notes3.pdf
[65] Ngom, A. (2010) The Perceptron, http://angom.myweb.cs.
uwindsor.ca/teaching/cs574/le2.pdf
[66] Nilsson, N. J. (1998) Introduction to Machine Learning,
http://ai.stanford.edu/~nilsson/MLBOOK.pdf
[67] Osborne, M. J. (2003) Optimization with an equality constraint:
interpretation of Lagrange multiplier, https://www.economics.
utoronto.ca/osborne/MathTutorial/ILMF.HTM

178
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Referinţe

[68] Osuna, E. E., Freund, R. & Girosi, F. (1997a) Support Vector


Machines: Training and Applications, A. I. Memo No. 1602, C.
B. C. L. Paper No. 144, MIT, Artificial Intelligence Laboratory,
ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-1602.pdf
[69] Osuna, E. E., Freund, R. & Girosi, F. (1997b) Improved training
algorithm for support vector machines, Proceedings of the IEEE
Workshop on Neural Networks in Signal Processing, pp. 276-285
[70] Pakkenberg, B. & Gundersen, H. J. G. (1997) Neocortical neuron
number in humans: effect of sex and age, Journal of Comparative
Neurology, vol. 384, pp. 312-320
[71] Pakkenberg, B., Pelvig, D., Marner, L., Bundgaard, M. J.,
Gundersen, H. J. G., Nyengaard, J. R. & Regeur, L. (2003) Aging
and the human neocortex, Experimental Gerontology, vol. 38, pp.
95-99
[72] Pitts, W. & McCulloch, W. S. (1947) How we know universals:
The perception of auditory and visual forms, Bulletin of
Mathematical Biophysics, vol. 9, pp. 127-147
[73] Platt, J. C. (1998) Sequential Minimal Optimization: A Fast
Algorithm for Training Support Vector Machines, Technical
report MSR-TR-98-14, http://research.microsoft.com/pubs/
69644/tr-98-14.pdf
[74] Platt, J. C. (1999a) Fast training of Support Vector Machines
using sequential minimal optimization, in Schölkopf, B., Burges,
C. J. C. & Smola, A. J. (eds.), “Advances in Kernel Methods –
Support Vector Learning”, pp. 185-208, MIT Press, Cambridge,
Massachusetts, http://research.microsoft.com/pubs/68391/smo-
book. pdf
[75] Platt, J. C. (1999b) Using Analytic QP and Sparseness to Speed
Training of Support Vector Machines, in Kearns, S., Solla, S. A.

179
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

& Cohn, D. A. (eds.), “Advances in Neural Information


Processing Systems”, MIT Press, Cambridge, Massachusetts,
http://research.microsoft.com/en-us/um/people/jplatt/smo-
nips.pdf
[76] Platt, J. C., Cristianini, N. & Shawe-Taylor, J. (2000) Large
Margin DAGs for Multiclass Classification, in Solla, S. A., Leen,
T. K. & Müller, K. R. (eds.), “Advances in Neural Information
Processing Systems”, pp. 547-553, MIT Press, Cambridge,
Massachusetts, http://research.microsoft.com/pubs/68541/
dagsvm.pdf
[77] Quine, W. V. O. (1960) Word and Object, MIT Press,
Cambridge, Massachusetts
[78] Quinlan, J. R. (1986) Induction of Decision Trees, Machine
Learning, vol. 1, pp. 81-106
[79] Ramirez-Padron, R. (2007) A Roadmap to SVM Sequential
Minimal Optimization for Classification, http://nshorter.com/
ResearchPapers/MachineLearning/A_Roadmap_to_SVM_SMO.
pdf
[80] Ribrault, C., Sekimoto, K. & Triller, A. (2011) From the
stochasticity of molecular processes to the variability of synaptic
transmission, Nature Reviews Neuroscience, vol. 12, pp. 375-
387, doi:10.1038/nrn3025, http://www.nature.com/nrn/journal/
v12/n7/box/nrn3025_BX2.html
[81] Rosenblatt, F. (1957) The Perceptron – a perceiving and
recognizing automaton, Report 85-460-1, Cornell Aeronautical
Laboratory
[82] Rosenblatt, F. (1958) The perceptron: A probabilistic model for
information storage and organization in the brain, Psychological

180
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Referinţe

Review, vol 65, no. 6, pp. 386-408, http://dx.doi.org/10.1037/


h0042519
[83] Rosenblatt, F. (1962) Principles of Neurodynamics, Spartan
Books, Washington, DC
[84] Rossius, R., Zenker, G., Ittner, A. & Dilger, W. (1998) A short
note about the application of polynomial kernels with fractional
degree in Support Vector Learning, Lecture Notes in Computer
Science, vol. 1398, , pp 143-148
[85] Russell, S. J. & Norvig, P. (2002) Artificial Intelligence: A
Modern Approach, Prentice Hall, 2nd Edition
[86] Schapire, R. E. (1990) The Strength of Weak Learnability,
Machine Learning, vol. 5, no. 2, pp. 197-227,
doi:10.1007/bf00116037
[87] Sewell, M. (2014) VC Dimension, http://www.svms.org/vc-
dimension/
[88] Shao, X., Wu, K. & Liao, B. (2013) Single Directional SMO
Algorithm for Least Squares Support Vector Machines,
Computational Intelligence and Neuroscience, vol. 2013, Article
ID 968438, 7 pages, http://dx.doi.org/10.1155/2013/968438
[89] Shatz, C. (1992) The developing brain, Scientific American, vol.
267, no. 3, pp. 60-67
[90] Shawe-Taylor, J. & Cristianini, N. (2000) Support Vector
Machines and other kernel-based learning methods, Cambridge
University Press
[91] Shawe-Taylor, J., Anthony, M. & Biggs, N. L. (1993) Bounding
sample size with the Vapnik-Chervonenkis dimension, Discrete
Applied Mathematics, vol. 42, issue 1, pp. 65-73,
doi:10.1016/0166-218X(93)90179-R

181
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

[92] Shevade, S. K., Keerthi, S. S., Bhattacharyya, C. & Murthy, K. R.


K. (2000) Improvements to the SMO Algorithm for SVM
Regression, IEEE Transactions on Neural Networks, vol. 11, no.
5, pp. 1188-1193
[93] Statnikov, A., Hardin, D., Guyon, I. & Aliferis, C. F. (2009) A
Gentle Introduction to Support Vector Machines in Biomedicine,
AMIA 2009 San Francisco, http://www.nyuinformatics.org/files/
chibi/user-content/Final.pdf
[94] Sullivan, J. (2008) Support Vector Machines, http://www.csc.kth.
se/utbildning/kth/kurser/DD2427/bik08/LectureNotes/Lecture10.
pdf
[95] Tamarkin, D. A. (2011) Anatomy and Physiology, STCC
Foundation Press, chapter “Synapses”, http://faculty.stcc.edu/
AandP/AP/AP1pages/nervssys/unit11/synapses.htm
[96] Terashima, S. (2012) Sequential Minimal Optimization,
http://web.cecs.pdx.edu/~landeckw/aml-spring-2012/slides/
smo-presentation.pdf
[97] Valiant, L. (1984) A theory of the learnable, Communications of
the ACM, vol. 27, issue 11, pp. 1134-1142
[98] Vapnik, V. & Chervonenkis A. (1968) On the uniform
convergence of relative frequencies of events to their
probabilities, Doklady Akademii Nauk, vol. 181, no. 4, URSS
[99] Vapnik, V. & Chervonenkis A. (1971) On the uniform
convergence of relative frequencies of events to their
probabilities, Theory of Probability and its Applications, vol. 16,
no. 2, pp. 264-280
[100] Vapnik, V. (1982) Estimation of Dependences Based on
Empirical Data, Springer-Verlag

182
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Referinţe

[101] Vapnik, V. (1995) The Nature of Statistical Learning Theory,


Springer-Verlag, New York
[102] Vasconcelos, N. (2009) The Karush-Kuhn-Tucker conditions and
duality, http://www.svcl.ucsd.edu/courses/ece271B-F09/
handouts/KKT.pdf
[103] Vuduc, R. (1999) SMO implementation, http://www.cs.berkeley.
edu/~richie/stat242b/project/src/smo/smo.c
[104] Ware, D. (2013) Neurons that Fire Together Wire Together,
http://www.dailyshoring.com/neurons-that-fire-together-wire-
together/
[105] Welling, M. (2005) Essentials of Convex Optimization,
http://www.ics.uci.edu/~welling/classnotes/papers_class/
Convex-Opt.pdf
[106] Weston, J. & Watkins, C. (1999) Support vector machines for
multi-class pattern recognition, Proceedings of 7th European
Symposium on Artificial Neural Networks (ESANN’99), pp.
219-224
[107] Widrow, B. & Hoff, M. E. (1960) Adaptive Switching Circuits,
IRE WESCON Convention Record, vol. 4, pp. 96-104
[108] Widrow, B. (1960) An Adaptive “Adaline” Neuron Using
Chemical “Memistors”, Stanford Electronics Laboratories
Technical Report 1553-2
[109] Wikimedia Commons (2014a) Action potential,
http://commons.wikimedia.org/wiki/File:Action_potential.svg
[110] Wikimedia Commons (2014b) Convex Function,
http://commons.wikimedia.org/wiki/File:ConvexFunction.svg
[111] Wikimedia Commons (2014c) SVM Polinomial,
http://commons.wikimedia.org/wiki/File:Svm_8_polinomial.JPG

183
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com
Inteligenţă artificială: maşini cu vectori suport

[112] Wortman Vaughan, J. (2011) Infinite Function Classes and VC


Dimension, http://www.jennwv.com/courses/F11/lecture5.pdf
[113] Zhang, T. (2004) Solving large scale linear prediction problems
using stochastic gradient descent algorithms, Proceedings of the
21st International Conference on Machine Learning, Banff,
Canada, pp. 116-123, http://stat.rutgers.edu/home/tzhang/papers/
icml04-stograd.pdf
[114] Zisserman, A. (2014) SVM dual, kernels and multiple classes,
http://www.robots.ox.ac.uk/~az/lectures/ml/lect3.pdf

184
Florin Leon (2014). Inteligenţă artificială: maşini cu vectori suport
Tehnopress, Iaşi, ISBN 978-606-687-155-6, http://florinleon.byethost24.com