Sunteți pe pagina 1din 186

Cuprins

Capitolul 1. Reele 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 nvare a perceptronului ..................................... 19
1.3. Adaline. Regula delta ................................................................................ 30
Capitolul 2. Noiuni de teoria nvrii
2.1. Probleme de filosofia nvrii ............................................................. 35
2.2. nvarea 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 ctre mainile cu vectori suport.. 74

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, 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 mainile cu vectori suport ..................... 96
Capitolul 5. Nuclee
5.1. Transformarea n trsturi ................................................................. 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 diferenial a unei funcii........................................... 133
7.2. Rezolvarea problemei duale pentru maini 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: maini cu vectori suport
Tehnopress, Iai, 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
Referine .................................................................................................................... 171

5
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1

Reele neuronale cu un singur strat


1.1. Neuronii biologici
Neuronii sunt componentele fundamentale ale sistemului nervos, a
crui 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, nsemnnd tendon, adic un fascicul subire i rezistent cu
ajutorul cruia se fixeaz muchii pe oase. S-a considerat c nervii au
aspectul unor tendoane. Neuronii mai sunt numii uneori i celule nervoase,
dei muli neuroni nu formeaz nervi iar nervii includ i alte celule dect
neuroni. Diametrul unui neuron este de 4-100 microni iar greutatea sa nu
depete 10-6 grame (Groves & Rebec, 1988; Chudler, 2014).
Simplificnd puin lucrurile, un neuron este alctuit din corpul
celular, dendrite (din gr. , copac), terminaii cu aspect arborescent
care primesc impulsuri de la ali neuroni i un axon (din gr. , ax), care
trimite impulsuri electrice ctre ali neuroni, dup cum se poate vedea n
figura 1.2 (adaptat dup Droual, 2011).
Neuronii sunt conectai prin sinapse (din gr. , cu, mpreun i
, a prinde, a fixa cu derivatul , legtur). n scoara cerebral
exist 150 de trilioane de sinapse (Pakkenberg & Gundersen, 1997;
Pakkenberg et al., 2003; Chudler, 2014). Un neuron se conecteaz cu ali
1000-10000 de neuroni, n medie 7000.

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Figura 1.1. Neuron biologic real

Dendrite
Corp celular
Nucleu

Butoni terminali
Direcia semnalului

Con de emergen
Axon
Neuron presinaptic
Sinaps
Dendrite

Buton terminal

Neuron postsinaptic

Neurotransmitori
Butoni terminali
Axon

Figura 1.2. Structura neuronilor. Sinaps chimic

8
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

Att n interiorul ct i n exteriorul celulelor neuronale se gsesc


ioni pozitivi i negativi. Schimbrile de concentraie ale acestora determin
apariia unor cureni electrici sau impulsuri nervoase. Transmiterea de la un
neuron la altul a acestor impulsuri se face prin intermediul sinapselor,
unidirecional de la axoni la dendrite (dei exist i alte combinaii 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
substane chimice i nu prin cureni electrici. Acesta este cel mai des ntlnit
tip de sinaps, numit sinaps chimic.
Atunci cnd impulsul electric ajunge ntr-un buton terminal al
axonului presinaptic, acesta atrage ioni pozitivi de calciu care determin
vrsarea n fanta sinaptic a unor neurotransmitori. Acetia activeaz
unii receptori n partea postsinaptic i determin depolarizarea neuronului
postsinaptic, adic potenialul 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 neurotransmitori, dimpotriv, fac
ca neuronul postsinaptic s se hiperpolarizeze, adic potenialul 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, potenialul sinaptic este excitator; n al doilea caz, este
inhibitor.
n scurt timp dup eliberarea n fanta sinaptic, neurotransmitorii
sunt dizolvai de enzime sau reabsorbii n butonii presinaptici, iar
concentraia de ioni revine la valoarea iniial. Imediat dup generarea unui
impuls urmeaz o aa numit perioad refractar, n care neuronul se

9
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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 potenialul creat este mai
mic dect acest prag, neuronul postsinaptic nu se activeaz. Potenialul creat
de o sinaps excitatoare este mult mai mic dect pragul de depolarizare, prin
urmare un impuls poate fi generat doar prin efectul combinat al mai multor
sinapse. Dintre miile de terminaii sinaptice care sunt conectate la un
neuron, cteva sute sunt active simultan sau la intervale de timp suficient de
apropiate ca efectele lor s se poat nsuma. Potenialul membranar al
neuronului postsinaptic este n fiecare moment rezultanta activitii tuturor
sinapselor active n acel moment.
n figura 1.2 se poate observa formaiunea denumit con de
emergen al axonului. Acesta este ultimul loc din corpul celular unde
potenialele din intrrile sinaptice se sumeaz nainte de a fi transmise
axonului.
Neuronul respect principiul totul sau nimic. Dac depolarizarea nu
este suficient de puternic pentru a depi pragul, canalele de ioni nu se
deschid. Dac depolarizarea depete pragul, canalele se deschid i se
genereaz un impuls electric. Acesta este ntotdeuna la fel de mare, de
exemplu 40 mV, fr valori intermediare. Intensitatea unui stimul este dat
de frecvena impulsurilor. Unui stimul mai puternic i corespunde o
frecven mai mare. De exemplu, un stimul de durere puternic poate avea o
frecven de pn 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

un chibrit cu o temperatur mai mare dect 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 curenilor propriu-zii i ale
pragului.

e
rizar

Prag

la
Repo

Depo
lariza
re

Tensiune (mV)

Impuls

Iniieri
euate

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


nvare numit nvare hebbian (Hebb, 1949) este acela c dac un
neuron activeaz n mod repetat alt neuron, apar modificri fizice care cresc
eficiena acestei interaciuni. 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 ntrete iar impulsurile se transmit mai uor. De aceea, dac
repetm de suficient de multe ori o aciune, ajungem s o realizm n mod
automat (Ware, 2013).

11
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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

Ieirea este binar: neuronul este activat (1) sau nu (0), ceea ce l
face echivalent cu o propoziie logic, care poate fi adevrat sau fals.
Intrrile sunt excitatoare (ai) sau inhibitoare (bj). Aceste intrri sunt sumate
direct i neuronul se activeaz dac suma depete un prag fix. De
asemenea, neuronul se activeaz doar dac nu exist intrri inhibitoare.
Funcia de activare este urmtoarea:

(1.1)

12
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

Orice problem care poate fi reprezentat sub forma unei funcii


logice poate fi modelat de o reea de neuroni McCulloch-Pitts deoarece
orice funcie boolean poate fi implementat folosind doar operaiile SAU, I
i NEGAIE. n figura 1.5 (dup Ngom, 2010) sunt prezentate aceste funcii
logice elementare.

Figura 1.5. Funcii logice elementare implementate ca neuroni McCulloch-Pitts

Dificultatea principal a modelului const n faptul c i lipsete


capacitatea de nvare; pragurile sunt determinate analitic. Pentru funcii
complexe, dimensiunea reelei corespunztoare 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 nva, o calitate esenial a
reelelor 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 nite conexiuni cu valori aleatorii, rezultnd
13
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

nite trsturi sintetice ale imaginii. Aceste trsturi erau conectate la ieire,
prin modelul standard pe care l vom discuta n seciunea urmtoare.
Antrennd perceptronul cu o mulime de imagini i ieirile corespunztoare,
sistemul putea nva s clasifice imaginile (Krse & van der Smagt, 1996;
Champandard, 2003).

Figura 1.6. Perceptronul originar al lui Rosenblatt

Problema principal a acestui model este c nu s-a reuit gsirea unei


modaliti de determinare a parametrilor conexiunilor dintre imagine
(echivalentul n model al retinei) i stratul intermediar corespunztor
trsturilor, ci doar dintre acesta i ieire. Este ceea ce vom prezenta n
continuare.

1.2.3. Perceptronul standard

Perceptronul este un neuron cu mai multe intrri xi, fiecare


conexiune de intrare avnd o valoare numit pondere wi (engl. weight),

14
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

care este o msur a importanei acelei intrri, un prag i o funcie de


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

x1
w1
x2

w2

wixi -

wn
xn

Figura 1.7. Structura general a perceptronului

Se poate vedea analogia cu modul de funcionare al unui neuron


biologic, n care semnalele de intrare sunt sumate iar neuronul genereaz un
semnal doar dac suma depete pragul.
Ieirea perceptronului este dat de urmtoarea ecuaie:

(1.2)

unde F este funcia semn:

(1.3)

sau funcia treapt:

15
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

(1.4)

Scopul perceptronului este rezolvarea problemelor de clasificare


binar. Se d o mulime de vectori de antrenare, care conin valori pentru
cele n intrri i valoarea ieirii dorite. Se dorete determinarea ponderilor i
pragului astfel nct modelul s clasifice corect toi vectorii de antrenare
ntr-una din cele 2 clase, adic ieirea perceptronului pentru un vector de
intrare s fie egal cu ieirea dorit.
Pentru a nelege semnificaia parametrilor, s considerm un
perceptron cu o singur intrare. n ecuaiile 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 ecuaia:

(1.5)

Exemplu

S considerm urmtoarea situaie:

reprezentat n figura 1.8a. Pentru x < 2, rspunsul va fi clasa 1/0 iar


pentru x >= 2, rspunsul perceptronului va fi clasa 1.

16
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

Mai nti s vedem ce se ntmpl cnd pragul rmne constant i se


modific ponderea. Fie urmtoarea situaie, n care ponderea s-a schimbat de
la 0,5 la 2:
.
Comparnd 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 intersecie cu ordonata a rmas 1, valoare dat de prag, ns datorit
schimbrii ponderii, punctul de separare s-a schimbat din 2 n 0,5.

Figura 1.8. Reprezentri geometrice ale unor decizii unidimensionale

Acum s considerm din nou prima situaie, meninnd ponderea la


valoarea 0,5, dar modificnd pragul de la 1 la 1:
.
Comparnd figurile 1.8a i 1.8c, se vede c pragul a translat dreapta
n sus, panta rmnnd aceeai. Punctul de separare s-a mutat n 2.

17
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

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


conform ecuaiei 1.5:

(1.6)

n continuare, s considerm un perceptron cu 2 intrri. Separarea


celor 2 clase este dat de o dreapt cu ecuaia:

(1.7)

care poate fi rescris astfel:

(1.8)

Ecuaia este reprezentat n figura 1.9 (dup Krse & 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele 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, distana de la un punct la o dreapt este :

(1.9)

iar n cazul nostru distana de la origine la dreapta de separare este:

(1.10)

O observaie important pe baza figurilor 1.8 i 1.9 este c


perceptronul poate nva s separe doar clase ale cror instane 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 intrri, ar fi existat o
suprafa de separare care ar fi mprit spaiul n 2 regiuni. n cazul general
n-dimensional, perceptronul definete un hiperplan de separare.

1.2.4. Regula de nvare a perceptronului

n ecuaia 1.2 apar att ponderile ct i pragul. De fapt, aceti


parametri pot fi tratai unitar, deoarece intrarea total a neuronului
reprezint pn la urm o sum. De aceea, pentru a simplifica modelul de
calcul, se consider c pragul definete nc o intrare a neuronului:

19
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

(1.11)

Considernd aceast intrare suplimentar ca fiind 1 n loc de 1,


pragul va fi valoarea negat a ponderii conexiunii respective. n acest mod,
algoritmul de nvare are ca scop doar determinarea unor ponderi.
Arhitectura perceptronului dup aceste transformri este prezentat n figura
1.10.

x1
w1
x2

w2

wn

wixi

xn
1

Figura 1.10. Perceptronul. Pragul poate fi considerat


ponderea unei conexiuni suplimentare

Astfel, ieirea este:

(1.12)

Pentru a descrie regula de nvare a perceptronului, vom utiliza


urmtoarele notaii. Fie x = (x1, , xn) un vector de intrare. Mulimea de
20
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

antrenare conine N astfel de vectori. Pentru vectorul x, y este ieirea


calculat de perceptron iar yd este ieirea dorit (corect, cunoscut). Fie
w = (w1, , wn, wn+1) vectorul de ponderi. Conform celor discutate anterior,
wn+1 = .
nvarea are loc prin modificarea valorilor ponderilor pentru a
reduce diferena dintre ieirile reale i ieirile dorite, pentru toate datele de
antrenare. Instanele de antrenare se prezint la intrarea reelei succesiv,
calculndu-se ieirea reelei i eroarea. Pe baza erorii se ajusteaz ponderile.
Prezentarea instanelor se face iterativ, pn se termin toat mulimea de
antrenare. Prezentarea tuturor instanelor reprezint o epoc de antrenare.
Apoi, dac mai exist erori, procesul poate rencepe cu o nou epoc i
continu pn cnd ieirea perceptronului este egal cu ieirea dorit pentru
toate instanele de antrenare.
Dac dup prezentarea instanei i ieirea real este yi iar ieirea
dorit este ydi, atunci eroarea este:
.

(1.13)

Dac eroarea este pozitiv, trebuie s cretem ieirea perceptronului


yi. Dac eroarea este negativ, trebuie s micorm ieirea yi.

Exemplu

S considerm problema de clasificare bidimensional definit de


mulimea de antrenare din tabelul 1.1, care ne va ajuta s nelegem
algoritmul de antrenare.

21
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Tabelul 1.1. Mulime de antrenare


Intrri Ieire dorit
11
1
1 1
0

Vom folosi pentru perceptron funcia treapt, ns dac problema era


definit cu valori ale clasei de 1 n loc de 0, se putea folosi funcia semn
fr alte modificri.
De asemenea, pentru a simplifica i mai mult lucrurile, vom ignora
pragul. n aceast situaie, gsirea perechii de ponderi se rezum la a gsi
orientarea potrivit a unei drepte care se poate roti n jurul originii.
Dac vectorul de ponderi este w = (0,2, 0,1), ieirile perceptronului
pentru cei doi vectori vor fi:

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


este e = 1. Situaia este reprezentat n figura 1.11.

1.5

0.5

-0.5

-1

-1.5
-1.5

-1

-0.5

0.5

1.5

Figura 1.11. Procesul de nvare: ajustarea ponderilor (cazul 1)


22
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

Se vede c ambele puncte sunt sub dreapta de separare. Ecuaia


dreptei este:

(1.14)

echivalent cu:

(1.15)

deci panta dreptei este w1 / w2.


Am dori s scdem panta dreptei, astfel nct s treac printre cele
dou puncte. ntruct eroarea apare la primul vector, cel de sus, trebuie
modificat w1. Prin urmare, trebuie mrit w1, de exemplu la valoarea
w1 = 0,05, rezultnd situaia din figura 1.12.

1.5

0.5

-0.5

-1

-1.5
-1.5

-1

-0.5

0.5

1.5

Figura 1.12. Procesul de nvare: ajustarea ponderilor (cazul 2)

Acum ieirile perceptronului vor fi:

23
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

care sunt rspunsurile corecte.


Analog, dac vectorul de ponderi este w = (0,2, 0,1), ieirile
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 mrit w2, s spunem pn la w2 = 0,4.
Ieirile perceptronului vor fi:

i corespund rspunsurilor corecte.


S sintetizm rezultatele. n primul caz, e1 > 0, x1 > 0 i diferena cu
care am actualizat ponderea,

. n al doilea caz, e2 < 0, x2 < 0 i

.
Acum s considerm exemplul rotit cu 180 n jurul originii,
definind problema urmtoare 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

Tabelul 1.2. Mulime de antrenare


Intrri Ieire dorit
1 1
0
1 1
1
1.5

0.5

-0.5

-1

-1.5
-1.5

-1

-0.5

0.5

1.5

Figura 1.13. Procesul de nvare: ajustarea ponderilor (cazul 3)

Ieirile perceptronului pentru cei doi vectori vor fi:

Vectorul 2 are eroarea e2 = 1 0 > 0. Acum am dori s scdem panta


dreptei w1 / w2, astfel nct cele dou puncte s fie separate, modificnd w2.
Ponderea w2 trebuie s scad. Pentru w2 = 0,3, vom avea:

ceea ce reprezint o clasificare corect.

25
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

n aceast situaie avem e2 > 0, x2 < 0 i

La fel putem gsi o configuraie n care e < 0, x > 0 i

ntruct dorim s determinm modul n care se schimb ponderile,


vom sumariza cele 4 cazuri n tabelul 1.3.

Tabelul 1.3. Schimbarea ponderilor n funcie de semnele erorii i intrrii

e
>0
<0
>0
<0

x
>0
<0
<0
>0

w
>0
>0
<0
<0

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

Cantitatea cu care trebuie s modificm vectorul w poate fi mai


mare sau mai mic. n general, netiind care este valoarea exact a
diferenei, folosim succesiv o serie de pai mici, pn este ndeplinit
condiia de eroare. n acest sens, se utilizeaz un numr (0, 1] numit
rat de antrenare, care indic mrimea pailor fcui pentru gsirea soluiei.
Pentru modificarea ponderilor se utilizeaz ecuaia:

(1.16)

Aceasta este relaia fundamental care caracterizeaz regula de


nvare a perceptronului.
Pseudocodul algoritmului este urmtorul.

26
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

se iniializeaz toate ponderile wi cu 0 sau cu valori aleatorii din intervalul [0,5, 0,5]
se iniializeaz rata de nvare eta cu o valoare din intervalul (0, 1], de exemplu 0,1
se iniializeaz numrul maxim de epoci P, de exemplu 100
p = 0 // numrul epocii curente
erori = true // un flag care indic existena erorilor de antrenare
repet ct 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 nvare a perceptronului


(Rosenblatt, 1962) arat c dac o problem poate fi rezolvat (dac este
separabil liniar), atunci algoritmul converge spre o soluie ntr-un numr
finit de pai.
Perceptronul este cea mai simpl form de reea neuronal cu
propagare nainte (engl. feed forward), n care semnalele se propag doar
de la intrri spre ieiri, fr bucle de reacie.
El poate nva tot ce poate reprezenta, dar nu poate reprezenta foarte
mult (Russell & Norvig, 2002). ntruct majoritatea problemelor interesante
din viaa real nu sunt separabile liniar, aceasta este o deficien major a
27
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

modelului (Minsky & Papert, 1969), care a condus la scderea interesului


cercetrii n domeniul reelelor neuronale n anii 70, pn cnd a fost
propus o nou arhitectur, perceptronul multistrat, cu un algoritm de
nvare eficient, bazat pe retropropagarea erorii (engl. backpropagation).

1.5

0.5

-0.5
-0.5

0.5

1.5

Figura 1.14. Soluie pentru problema logic I

1.5

0.5

-0.5
-0.5

0.5

1.5

Figura 1.15. Soluie pentru problema logic SAU


28
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

De exemplu, este uor ca perceptronul s nvee operaii logice


precum I (figura 1.14) sau SAU (figura 1.15), ntruct acestea sunt
separabile liniar.
Este de asemenea important de spus faptul c soluia nu este unic,
de exemplu pentru problema I o soluie alternativ este cea din figura 1.16.

1.5

0.5

-0.5
-0.5

0.5

1.5

Figura 1.16. Soluie alternativ pentru problema logic I

Vom discuta ideea de a gsi cea mai bun soluie n capitolul 3, n


care ncepe descrierea mainilor cu vectori suport.
ns nu exist nicio dreapt care poate separa clasele operaiei
SAU-EXCLUSIV (engl. XOR); aceast problem nu este separabil liniar
(figura 1.17).
Cnd clasele nu sunt separabile liniar, ponderile se modific
permanent pe parcursul antrenrii, ntr-o manier aparent aleatorie. n
general, este dificil determinarea apriori a separabilitii liniare a unei

29
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

probleme, pentru a ti dac perceptronul va putea nva funcia


corespunztoare.

1.5

0.5

-0.5
-0.5

0.5

1.5

Figura 1.17. Problema logic SAU-EXCLUSIV

Totui, exist i funcii complexe separabile linear, de exemplu


funcia majoritate cu n intrri, a crei valoare este 1 dac mai mult de
jumtate din intrri sunt 1 i 1 / 0 altfel. Perceptronul este un model foarte
simplu care poate rezolva aceast problem, pe cnd un arbore de decizie ar
necesita O(2n) noduri pentru nvarea sa.

1.3. Adaline. Regula delta


La scurt timp dup apariia perceptronului, Widrow i Hoff (1960)
au prezentat modelul adaline (abreviere de la ADAptive LInear NEuron i
mai trziu, dup scderea popularitii reelelor neuronale, de la ADAptive
LINear Element).
30
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

Ca structur, adaline este similar cu perceptronul, diferena fiind


lipsa funciei treapt sau semn; adaline are o funcie de activare liniar:

(1.17)

Avantajul folosirii funciei liniare este pe de o parte posibilitatea de a


avea ieiri continue i deci o putere de reprezentare mai mare i pe de alta,
faptul c se pot utiliza metode difereniale pentru nvarea valorilor
ponderilor.
Obiectivul algoritmului de nvare este minimizarea erorii medii
ptratice (engl. Mean Square Error, MSE), care este o msur a diferenei
dintre ieirile dorite i ieirile reale ale reelei.
Eroarea corespunztoare unui vector de antrenare este:

(1.18)

Eroarea pentru toat mulimea de antrenare este media tuturor


acestor erori:

(1.19)

Scopul final este minimizarea erorii totale E.


S-ar putea pune ntrebarea de ce se folosete aceast msur ptratic
a diferenei i nu alta, de exemplu valoarea sa absolut:

31
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Un motiv simplu este c aceast cantitate va fi derivat pentru


obinerea unei formule de actualizare a ponderilor. Fiind o funcie
cuadratic, este uor de minimizat, iar puterea 2 se simplific cu coeficientul
1/2, aceasta fiind explicaia pentru includerea sa.
Un alt motiv, mai complicat, se refer la unele proprieti statistice
ale datelor, care sunt puse n eviden de ptratul diferenelor, n condiiile
n care se presupune c aceste diferene respect o distribuie gaussian.
De asemenea, ptratul diferenelor ne face s privim eroarea ca pe o
distan euclidian ntre valorile dorite i valorile reale furnizate de reea.
Folosirea valorilor absolute ale diferenelor ar fi echivalent cu aplicarea
distanei Manhattan (Leon, 2012). Ambele variante ar putea fi utilizate, ns
distana euclidian poate fi considerat mai intuitiv.
n cazul modelului adaline, dorim minimizarea erorii n raport cu
ponderile, adic gsirea iterativ a valorilor ponderilor care conduc la o
eroare minim.
Dup prezentarea unui vector de antrenare i, n conformitate cu
mrimea erorii, va trebui s aplicm o corecie tuturor ponderilor j,
proporional cu contribuia fiecrei ponderi la apariia acelei erori:

(1.20)

unde este rata de nvare.


ns ponderile nu acioneaz direct asupra erorii, de aceea putem
scrie derivata sub urmtoarea form, lund n calcul i ieirea reelei:

(1.21)

32
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 1. Reele neuronale cu un singur strat

Pentru calcularea primului factor, derivm ecuaia 1.18:


.

(1.22)

Pentru calcularea celui de al doilea factor, inem cont c funcia de


activare este liniar (ecuaia 1.17) i vom avea:

(1.23)

Prin urmare:
.

(1.24)

Aceast ecuaie poart numele de regula delta.


Numele vine de la notaia alternativ care folosete simbolul delta
pentru diferena dintre ieirea real i ieirea dorit.
Se observ c formula 1.24 este identic cu formula 1.16 de la
perceptron. Acest lucru nu este surprinztor, ntruct suprafaa de separare
este aceeai. Modul de derivare a regulii de nvare este ns diferit i
necesit ca funcia de activare s fie derivabil, ceea ce nu este cazul la
perceptron, deoarece funciile treapt sau semn sunt discontinue. De
asemenea, metoda se poate folosi cu orice alt funcie derivabil, de
exemplu pentru funciile sigmoide n cazul antrenrii reelelor de tip
perceptron multistrat.
Pseudocodul algoritmului de nvare pentru adaline, foarte
asemntor cu algoritmul de nvare pentru perceptron, este urmtorul.

33
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

se iniializeaz toate ponderile wi cu valori aleatorii din intervalul [0,5, 0,5]


se iniializeaz rata de nvare eta cu o valoare din intervalul (0, 1], de exemplu 0,1
se iniializeaz numrul maxim de epoci P, de exemplu 100
se iniializeaz eroarea maxim admis Emax, de exemplu 0,001
p = 0 // numrul epocii curente
mse = 0 // eroarea ptratic medie a epocii curente
repet ct 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 ctre o soluie bun.


Dezavantajul principal este faptul c, spre deosebire de perceptron,
convergena nu este garantat i algoritmul poate s nu convearg chiar dac
clasele sunt separabile liniar. Antrenarea perceptronului se oprete imediat
ce vectorii de antrenare sunt clasificai corect, chiar dac unii se gsesc la
grania suprafeei de separare. Regula delta, prin minimizarea erorii medii
ptratice, conduce la soluii n care vectorii de antrenare sunt mai deprtai
de suprafaa de separare (Georgiou, 1997).

34
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2

Noiuni de teoria nvrii


2.1. Probleme de filosofia nvrii
nainte de a trece la descrierea mainilor cu vectori suport, vom
prezenta contextul tiinific i filosofic n care au aprut ideile lor
fundamentale. n mare, aceste rezultate din teoria nvrii ncearc s ofere
nite garanii pentru capacitatea de generalizare a unui model inductiv o
limit a erorii pentru mulimea de test, mpreun cu o serie de condiii care
trebuie ndeplinite n acest scop, privind de exemplu numrul instanelor de
antrenare sau natura modelului de nvare. Este interesant c aceste metode
pun problema unor garanii privind performanele algoritmilor pentru nite
date de fapt necunoscute. Iar pentru a nelege mai bine aceste concepte,
vom aminti mai nti cteva chestiuni legate de filosofia nvrii.
Una din problemele profunde ale nvrii este posibilitatea realizrii
induciei, identificat de Hume (1888): n ce msur putem trage concluzii
privind experienele viitoare, bazndu-ne pe experiena acumulat pn n
prezent. ntrebrile sale se refer la valabilitatea principiilor tiinei
experiementale i la msura n care aceste rezultate sunt justificabile. De
exemplu, dac toate lebedele pe care le-am vzut pn acum au fost albe,
putem trage concluzia c toate lebedele sunt albe. ns acest lucru este
adevrat doar pn cnd descoperim c exist lebede negre.
De asemenea, putem presupune c unele evenimente din viitor vor
avea loc la fel cum s-a ntmplat n trecut. De exemplu, s considerm

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

urmtoarele ipoteze: 1. Luna se nvrte n jurul Pmntului; 2. Luna se


nvrte n jurul Pmntului pn mine, cnd va disprea n hiperspaiu.
Ambele ipoteze sunt perfect compatibile cu experiena de pn n prezent.
Cei mai muli oameni vor prefera desigur prima ipotez, invocnd
continuitatea legilor fizicii, ns nu exist de fapt un argument solid care s
garanteze continuitatea acestor legi n viitor.
Un alt exemplu privind dificultatea nvrii conceptelor este dat de
Quine (1960). Un lingvist ncearc s nvee limba unui trib izolat. Unul din
membrii tribului i arat un iepure i spune gavagai. Se poate trage
concluzia c acest cuvnt nseamn iepure? Poate nsemna alb (culoarea
sa), mncare, sau vreau arcul i sgeile. Prin discuii repetate cu
membrii tribului, unele din aceste posibiliti pot fi eliminate, dar
ntotdeauna vor exista altele. De exemplu, cuvntul ar putea nsemna
iepure ziua i oarece noaptea.
Aceste exemple nu demonstreaz imposibilitatea nvrii; oamenii
nva i aplic noiunile nvate. ns strategia cheie este alegerea
ipotezelor mai simple, aa cum indic briciul lui Occam (principiu explicat
de exemplu de Gibbs & Sugihara, 1997): cnd mai multe ipoteze pot explica
observaiile, este de preferat alegerea ipotezei celei mai simple. Este mai
plauzibil c Luna va continua s se nvrt n jurul Pmntului dect c va
disprea n hiperspaiu i c gavagai nseamn iepure ntotdeauna dect
c nseamn iepure ziua i oarece noaptea. Se pare c oamenii ignor
ipotezele mai complexe pn n momentul cnd sunt forai de evidene s le
adopte. Mecanica newtonian era ipoteza general acceptat pn la apariia
dovezilor privind teoria relativitii i mecanica cuantic.
Dac ipotezele mai simple sunt mai plauzibile, nseamn c exist o
strns analogie ntre nvarea unui model compact care descrie

36
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

observaiile i compresia datelor. Unul din scopurile nvrii este aadar


descoperirea unor ipoteze mai simple dect datele pe care le modeleaz
(Aaronson, 2008a). O descriere succint a observaiilor din trecut este foarte
important pentru prezicerea evenimentelor viitoare.
La nivelul anilor 60-70, s-au conturat dou curente filosofice privind
nvarea (Vapnik, 1995). Filosofia analizei aplicative a proceselor de
nvare pleca de la premisa c minimizarea erorilor de antrenare este
singura cauz care poate determina o probabilitate mic a erorilor pentru
mulimea de test. De exemplu, pentru a utiliza modelul perceptronului lui
Rosenblatt, problema practic era gsirea unor metode de determinare a
parametrilor acestuia (ponderile i pragul) necesari pentru a obine un numr
mic de erori de clasificare pentru mulimea de antrenare. Filosofia analizei
teoretice a proceselor de nvare considera c acest principiu nu este
evident. Problema era determinarea unui alt principiu de inducie care s
maximizeze capacitatea de generalizare i construirea unor algoritmi care
s-l implementeze.
n cele ce urmeaz, vom analiza rspunsurile la urmtoarele
ntrebri: ce caracteristici trebuie s aib ipotezele pentru a fi capabile s
nvee i ce garanii putem avea asupra capacitii lor de generalizare.

2.2. nvarea probabil aproximativ corect


nvarea

probabil

aproximativ

corect

(engl.

Probably

Approximately Correct, PAC), propus de Valiant (1984), presupune c


modelului i se prezint nite instane selectate aleatoriu conform unei
distribuii de probabilitate sub forma (x
x, f(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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

corespunztoare instanei x care trebuie nvat (clasa). Pe baza acestor


instane de antrenare (sau exemple), modelul trebuie s gseasc o funcieipotez h care s coincid cu f sau cel puin s o aproximeze suficient de
bine. De asemenea, se permite o mic probabilitate ca modelul s eueze.
De exemplu, dac instanele de antrenare nu au o diversitate suficient
pentru a reflecta subtilitile conceptului f, acesta nu va putea fi nvat
corect. De aceea, PAC ncearc s stabileasc o limit inferioar pentru
numrul instanelor de antrenare necesare pentru ca probabilitatea de a nu
putea nva corect conceptul f s fie suficient de mic. Altfel spus, PAC
stabilete o limit inferioar pentru numrul necesar de instane de antrenare
i o limit superioar pentru probabilitatea de a grei.
Fie

eroarea maxim admis n

aproximarea lui

f i

probabilitatea maxim de a grei, adic de a depi aceast eroare


maxim admis. Fie D distribuia de probabilitate definit pe domeniul de
n
intrare X = {0, 1} . Se presupune c toate instanele prezentate modelului

sunt extrase sau generate numai din aceast distribuie 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 funciona pentru


orice distribuie. Singura restricie este ca probabilitatea erorii pentru
instanele de test s fie calculat pentru aceeai distribuie D creia i aparin
instanele de antrenare (Klivans, 2005).
Fie H o clas de funcii binare

. Spunem c H

este nvabil PAC dac exist un algoritm L astfel nct


38
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

distribuie de probabilitate,

i o mulime de

instane de antrenare aleatorii alese din D, L gsete ipoteza h care respect


relaia:

(2.2)

Prin urmare, problema PAC este de a gsi o ipotez h care


aproximeaz conceptul f cu o probabilitate de cel puin 1 ca eroarea
dintre h i f s fie cel mult .
n definiia de mai sus, este mai mic dect 1 / 2, deoarece nu ne
intereseaz modelele n care rezultatul este inferior sau egal cu alegerea unei
ieiri n mod aleatoriu, cum ar fi prin aruncarea unui ban (Valiant, 1984;
Kearns & Vazirani, 1994).
Exist o distincie ntre noiunea de nvare PAC puternic (engl.
strong PAC learning), definit ca mai sus, n care relaia trebuie s se
respecte pentru orice valoare a lui (adic eroarea s fie arbitrar de mic) i
noiunea de nvare PAC slab (engl. weak PAC learning), n care relaia
trebuie s se respecte pentru mcar o valoare a lui . Chiar dac primul
criteriu pare mult mai puternic, s-a demonstrat c orice algoritm de nvare
slab poate fi transformat ntr-unul puternic, prin metoda numit boosting
(Schapire, 1990).
Ne mai intereseaz ca algoritmii de nvare s fie utilizabili din
punct de vedere practic, adic s nvee n timp polinomial. Acest lucru este
posibil doar pentru anumite clase de funcii; de exemplu, dac avem un
numr exponenial de ipoteze, testarea lor va necesita un timp exponenial.
Se spune c o mulime de ipoteze H este nvabil PAC n timp
polinomial dac exist un algoritm de complexitate de timp polinomial n

39
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

numrul de instane necesare N, n dimensiunea problemei n, n 1/ i n


1/, care poate nva funciile din H (Nilsson, 1998).
O clas de ipoteze se mai numete main. De aici vine i denumirea
mainilor cu vectori suport.
Notm cu ea eroarea pe mulimea de antrenare i cu et eroarea pe
mulimea de test. Numim ipotez consistent o ipotez care modeleaz
perfect mulimea de antrenare, adic ea = 0.
Chiar dac eroarea este 0 pentru mulimea de antrenare, ipoteza
poate avea erori pentru mulimea de test i atunci:

(2.3)

iar pentru a avea acest rezultat, numrul de instane de antrenare trebuie s


fie:

(2.4)

Formulele de mai sus, precum i cele din continuare, pot prea


oarecum bizare la prima vedere. Pentru a explica modul de gndire care a
condus la deducerea lor, vom prezenta n cele ce urmeaz demonstraia
relaiei 2.4.

40
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

Demonstraie

Dorim s aflm care este numrul minim de instane de antrenare


care s garanteze c

. Ne dorim ca eroarea pe mulimea de

test s fie ct mai mic, de exemplu = 0,1 i probabilitatea de a obine


aceast eroare s fie ct mai mare, de exemplu = 0,05.
Considerm o ipotez nepotrivit (engl. bad) o ipotez care nu
respect relaia et < .
Se presupune c mulimea de antrenare nu este afectat de zgomot.
Numrul de instane de antrenare este n general mic n comparaie
cu numrul tuturor instanelor posibile extrase din distribuia D. Cu ct
numrul instanelor de antrenare este mai mare, cu att performanele
ipotezei pe mulimea de antrenare se vor apropia de performanele pentru
toate instanele distribuiei, conform legii numerelor mari. Pentru un numr
mic de instane de antrenare, o ipotez nepotrivit ne-ar putea pcli
deoarece le-ar putea modela perfect pe acestea, ns ar avea performane
slabe la generalizare.
Deoarece problema de clasificare este binar, ipoteza va da
rspunsuri egale sau diferite de valoarea adevrat a funciei care trebuie
nvat. Eroarea este aici procentul de instane clasificate greit din
numrul total de instane considerate, deci este echivalent cu o
probabilitate: probabilitatea de a clasifica n mod greit o instan arbitrar
extras din distribuia D. Prin urmare, pentru o ipotez nepotrivit hn:
(2.5)

41
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

ceea ce este echivalent cu:

Considernd

c instanele de

(2.6)

antrenare sunt

independente,

probabilitatea ca o ipotez nepotrivit s modeleze perfect N instane este:

(2.7)

S considerm acum c exist mai multe ipoteze nepotrivite i fie


HN mulimea lor. Atunci, probabilitatea c exist o ipotez nepotrivit dar
consistent este mrginit astfel:

. (2.8)

Ultima inegalitate este evident deoarece

Se folosete n continuare urmtorul rezultat:

.
. Atunci,

vom avea:

(2.9)

Conform principiului nvrii PAC, dorim o probabilitate mare,


1 , de a avea o ipotez potrivit, deci o probabilitate mic s se ntmple
ecuaia 2.8, adic s fim pclii de o ipotez nepotrivit, dar consistent:

(2.10)

42
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

n continuare, se logaritmeaz relaia 2.10 i se determin expresia


pentru N:

(2.11)

Folosind acelai mod de gndire, se calculeaz probabilitatea de


generalizare corect i numrul minim de instane de antrenare pentru
situaia n care exist erori chiar pe mulimea de antrenare, adic ea 0
(Guestrin, 2005):

(2.12)

(2.13)

Exemple

Pentru a calcula Pmin i Nmin, trebuie determinat mai nti numrul de


ipoteze |H| pentru o anumit clas de ipoteze H.
Ca prim exemplu, fie H1 mulimea funciilor booleene pentru care
ipotezele sunt toate tabelele de adevr care atribuie combinaiilor de intrare
valori de adevrat 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

n general, pentru k atribute vor fi

ipoteze posibile. Acest

numr nu este polinomial, prin urmare rezultatele obinute n acest caz


aplicnd teoria nvrii PAC nu vor fi relevante din punct de vedere practic,
dup cum vom vedea n continuare.

Tabelul 2.1. Ipotezele de tip funcie logic pentru 2 variabile


x1

x2

h1

h2

h3

h4

h5

h6

h7

h8

h9 h10 h11 h12 h13 h14 h15 h16

0
0
1
1

0
1
0
1

0
0
0
0

0
0
0
1

0
0
1
0

0
0
1
1

0
1
0
0

0
1
0
1

0
1
1
0

0
1
1
1

1
0
0
0

1
0
0
1

1
0
1
0

1
0
1
1

1
1
0
0

1
1
0
1

1
1
1
0

1
1
1
1

Fie acum H2 mulimea ipotezelor de forma conjunciilor de variabile


booleene. Ipotezele constau n propoziii logice cu variabilele x1, ..., xk i
negaiile 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 adevrat, care
este element neutru pentru operaia I).
Tabelul 2.2. Ipotezele de tip conjucie boolean pentru 2 variabile
h1
h2
h3
h4
h5
h6
h7
h8
h9

x1
A
A
A







x2
A


A


A



Formula
A



 
 

 
 

44
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

n general, pentru k atribute de tipul variabilelor booleene,


dimensiunea mulimii tuturor ipotezelor va fi

S considerm acum o problem cu 10 atribute. Mulimea tuturor


combinaiilor posibile are 1024 de elemente. Presupunem c nu avem erori
pe mulimea 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 funcie de numrul instanelor de antrenare.
Pentru mulimea de ipoteze a funciilor booleene i 100 de instane
de antrenare (N = 100), avem:

Mai exact, avem situaia urmtoare:

Cu 1000 de instane de antrenare, expresia este:

S ne amintim c funciile sunt binare, prin urmare eroarea


corespunde procentului de instane clasificate greit. O valoare de peste 1 nu
aduce n acest context nicio informaie (este evident c eroarea va fi cel mult
1 n cel mai ru caz). i valoarea de 0,71 este prea mare, ntruct ne
interseaz erori mai mici de 0,5, adic modele mai bune dect nite
rspunsuri aleatorii. De asemenea, 1024 este numrul maxim de instane

45
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

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


c teoria nvrii 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 conjunciilor booleene, cu 100
de instane de antrenare, avem:

i deci:

n acest caz, rezultatul privind eroarea ateptat la generalizare de


14% este o informaie relevant.
Conform ecuaiei 2.4, putem estima numrul minim de instane 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 funcii logice N 7128 iar pentru ipotezele de
tip conjuncii booleene N 140.
n primul caz, spaiul ipotezelor este mult prea mare iar limitele
teoriei nvrii PAC nu sunt de niciun folos. Conjunciile booleene sunt
ipoteze destul de simple, iar n acest caz limitele PAC ne pot da o idee
despre ordinul de mrime al erorii ateptate i al numrului necesar de
instane de antrenare.
S considerm acum o situaie n care avem o eroare de 10% pe
mulimea de antrenare, pentru ipotezele de tip conjuncii booleene, cu
N = 100. Atunci:
46
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

Figura 2.1 ilustreaz modul n care depinde eroarea maxim de


numrul de instane N, pentru ipotezele de tip conjuncii booleene, n
cazurile n care ea = 0, respectiv ea = 0,1, cu acelai = 0,05.

Figura 2.1. Eroarea de test maxim n funcie


de numrul de instane de antrenare

Dac ea = 0,1 i dorim o eroare mai mic de 15% pe mulimea de


test, adic = 0,15, avem nevoie de N 311. Dac dorim o eroare mai mic
de 20%, pe mulimea de test, atunci N 175.
Figura 2.2 ilustreaz dependena numrului de instane de antrenare
necesare de eroarea maxim dorit, n cazul cnd ea = 0, respectiv ea = 0,1,
cu = 0,05.

47
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Figura 2.2. Numrul de instane de antrenare necesare


n funcie 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 convergena i pentru a estima
limitele superioare ale erorilor ateptate.

2.3. Dimensiunea Vapnik-Chervonenkis


S considerm o problem de clasificare binar bidimensional cu o
suprafa de separare liniar. Avem cteva date de antrenare, puncte de
coordonate aleatorii din spaiul de intrare, etichetate cu clasa creia i aparin
(dup Aaronson, 2008a). Dup ce am vzut 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

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 separaie

Capacitatea de a distinge cele dou clase este dat i de distribuia


punctelor de antrenare. De exemplu, dac toate punctele ar fi fost n partea
din stnga sus a ptratului, nu am fi putut aprecia orientarea dreptei de
separare.
Dac n loc de o dreapt de separare am avea o linie curb arbitrar,
situaia 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
eantionate, dar niciuna din aceste linii nu poate oferi garanii privind
aproximarea suprafeei reale din figura 2.4a. De exemplu, ipoteza din figura
2.5b este perfect consistent cu eantioanele din figura 2.4a.

Problema

20 de puncte

100 de puncte

Figura 2.4. Problem definit de o curb arbitrar de separaie


49
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Cazul 2

Cazul 1

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 eantionate, ca n figura 2.5a, toate vor fi
destul de apropiate de suprafaa de decizie real (figura 2.3a).
Teoria nvrii statistice ncearc s formalizeze din punct de vedere
matematic diferenele dintre aceste dou situaii i s identifice
caracteristicile claselor de ipoteze nvabile sau ne-nvabile.
Ideea fundamental care a condus la dezvoltarea iniial a mainilor
cu vectori suport este determinarea unui echilibru ntre eroarea obinut
pentru mulimea de antrenare i capacitatea metodei de nvare de a modela
orice mulime de antrenare. O metod cu o capacitate mic este ca un
polinom de grad mic care nu poate aproxima o funcie 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 eantionate
ale funciei, ns are variaii mari n zonele intermediare i deci probabil c
nu va interpola bine punctele (Leon, 2012), fenomen denumit suprapotrivire (engl. overfitting). Un alt exemplu intuitiv (Burges, 1998) pentru
o metod cu o capacitate mare este analogia cu un botanist cu memorie
fotografic care cunoate foarte muli arbori, ns atunci cnd i se arat un
nou arbore, ajunge la concluzia c nu este de fapt arbore deoarece are un
numr de frunze diferit de cel al arborilor pe care i-a vzut anterior. O

50
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

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 nvrii statistice studiaz ce ipoteze pot fi nvate i dac
da, cum afecteaz natura modelului capacitatea de generalizare.
Ecuaia 2.4 se poate aplica doar cnd |H | este finit. Se pune problema
formalizrii rezultatului prezentat n mod intuitiv mai sus, conform cruia
mulimea ipotezelor definite de linii drepte poate fi nvat, ns mulimea
ipotezelor definite de curbe arbitrare nu. Pentru o linie dreapt, dac tim
c nite puncte sunt de o parte i de alta a ei, ne putem face o idee despre
poziia sa. ns oricte puncte am cunoate de o parte i de alta a unei curbe
arbitrare, nu putem aprecia forma acelei curbe. Att numrul liniilor drepte
posibile ct i cel al liniilor curbe posibile este infinit. Diferena dintre cele
dou situaii a fost explicat cu ajutorul conceptului de dimensiune VapnikChervonenkis (Vapnik & Chervonenkis, 1968; 1971).
Spunem c o mulime de puncte x1, ..., xn este sfrmat (engl.
shattered) de o clas de ipoteze H dac pentru toate 2n configuraii
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, mulimea de puncte este sfrmat 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 maini) H este numrul maxim de puncte care pot fi
aranjate astfel nct H s le poat sfrma (Moore, 2001b).

51
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Numrul maxim de puncte este acelai cu numrul maxim de


instane de antrenare care pot fi nvate de main fr eroare. Trebuie
subliniat faptul c nu este obligatoriu ca pentru o dimensiune VC egal cu d,
toate mulimile de d puncte s poat fi sfrmate. Este suficient s existe
o singur mulime de puncte care s poat fi sfrmat (Sewell, 2014).

Exemplu

S considerm 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 aparinnd celor dou clase, dup cum se poate
vedea n figura 2.6 (Kecman, 2001), configuraiile 1-8.

Figura 2.6. Exemple de configuraii pentru calcularea dimensiunii VC

52
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

n toate aceste cazuri, exist o linie dreapt care poate despri cele
3 puncte, astfel nct 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 configuraii (9 i 10) care nu pot fi
separate de o linie dreapt. Totui, pentru calculul dimensiunii VC este
necesar s existe cel puin o situaie n care clasa de ipoteze s clasifice
corect punctele. Pentru 3 puncte, o astfel de situaie este cea prezentat n
configuraiile 1-8.
Dac pentru aceeai clas de ipoteze vom considera o problem
similar cu N = 4 puncte dispuse arbitrar, se poate vedea c exist cel puin
2 configuraii (11 i 12) n care nicio linie dreapt nu poate separa corect
cele dou clase. Este problema tipic a funciei binare SAU-EXCLUSIV (XOR),
care nu este separabil liniar i care nu poate fi nvat de un perceptron cu
un singur strat. Mai mult, nu exist nicio mulime de 4 puncte pentru care o
linie dreapt s poat realiza toate cele 16 clasificri necesare. Punctele pot
forma un patrulater, n care colurile opuse aparin aceleiai clase, pot forma
un triunghi cu un punct interior care s aib o clas diferit de vrfurile
triunghiului sau pot exista 3 puncte coliniare n clase diferite (Aaronson,
2008b). Niciuna din aceste situaii 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
funciilor cuadratice pentru configuraiile 9-12, care pot clasifica punctele
corect i prin urmare au o dimensiune VC mai mare.

53
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

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


ipoteze este cel puin d, trebuie doar s gsim o mulime potrivit de
dimensiune d. Pentru a demonstra c dimensiunea VC este cel mult d,
trebuie s artm c nu exist nicio mulime de dimensiune d + 1 care s
poat fi sfrmat. Al doilea caz este de obicei mult mai dificil dect primul
(Kearns & Vazirani, 1994).
S-a demonstrat c dimensiunea VC a unui clasificator liniar
n-dimensional, aa cum este perceptronul, este n + 1.
Dac exist o mulime finit de puncte, orict de mare, care poate fi
sfrmat de o clas de ipoteze, atunci dimensiunea VC a acesteia este
infinit.

Exemplu

O clas de ipoteze cu dimensiune VC infinit este familia de funcii


(sin(x)) (Vapnik, 1995). Prin alegerea convenabil a lui , orice mulime
de puncte unidimensionale poate fi sfrmat.
Funcia este funcia indicator sau treapt (ecuaia 1.4), des utilizat
de Vapnik, deoarece permite lucrul cu dou clase.
Pentru a demonstra c dimensiunea VC a acestui model este infinit,
s considerm N puncte (N fiind orict de mare), cu o etichetare a claselor
arbitrar.
Atunci putem alege poziionarea celor N puncte ca fiind xi = 10i i:

54
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

astfel nct funcia (sin(x)) le separ perfect.


Dou exemple de etichetare diferit a 5 puncte sunt prezentate n
figurile 2.7 i 2.8. Modificnd perioada funciei sinusoidale, clasele celor
5 puncte pot fi separate.

Figura 2.7. Funcie sinusoidal de separare (cazul 1)

Figura 2.8. Funcie sinusoidal de separare (cazul 2)

Dei cu aceast familie de funcii putem separa un numr orict de


mare de puncte, exist de asemenea o mulime mic de puncte care nu poate
fi sfrmat, de exemplu 4 puncte situate la distane egale, ca n figura 2.9
(Burges, 1998).
55
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Figura 2.9. Mulime de 4 puncte care nu poate fi sfrmat de


clasa de ipoteze sinusoidale, n ciuda dimensiunii VC infinite

Revenind la formalizarea posibilitii unei clase de ipoteze de a fi


nvate, prezentm dou teoreme n cele ce urmeaz.
O clas de ipoteze H poate fi nvat PAC doar dac dimensiunea
Vapnik-Chervonenkis a acesteia, dVC , este finit (Blumer et al., 1989).
Limita inferioar a numrului de instane pe care trebuie s le
examineze orice algoritm de nvare PAC este (Shawe-Taylor, Anthony &
Biggs, 1993):

(2.14)

Dimensiunea VC msoar capacitatea unui spaiu de ipoteze.


Capacitatea este un indicator al complexitii unei mulimi de funcii care se
reflect n puterea de expresie sau flexibilitatea acesteia ct de ondulai
pot fi membrii ei. Capacitatea este strns legat de performanele de
generalizare. Pentru a generaliza bine, clasa de ipoteze trebuie s aib o
dimensiune VC ct mai mic. Acest rezultat este de fapt o formulare
alternativ a principiului briciului lui Occam.
Dimensiunea mulimii 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

intuitiv este c pentru a avea aceleai performane la generalizare, ipotezele


mai simple necesit mai puine date de antrenare.
Dac o familie de funcii are o capacitate mic (funciile sunt simple)
dar modeleaz bine mulimea de antrenare, exist o probabilitate mare c
vor funciona bine i pe date noi, din aceeai distribuie.
n cazul unui separator liniar n-dimensional, exist urmtoarea
relaie (Wortman Vaughan, 2011):

(2.15)

Dei exist o corelaie ntre dimensiunea VC a unei mulimi de


funcii i numrul de parametri liberi ai funciilor (de exemplu cazul
separatoarelor n-dimensionale), n general cele dou valori nu coincid.
Dimensiunea VC este infinit n cazul funciilor sin(x) care au un singur
parametru, . Dar se pot defini funcii cu un numr foarte mare de parametri
care generalizeaz bine deoarece au o dimensiune VC mic (Vapnik, 1995),
aa cum vom vedea n cazul mainilor cu vectori suport.
Dimensiunea VC a unui model de nvare nu este uor de
determinat. Chiar i stabilirea unor limite poate fi dificil. Cu toate acestea,
dimensiunea VC a fost calculat pentru numeroase modele, precum funcii
booleene, reele neuronale sau arbori de decizie. Dimensiunea VC a
clasificatorului bazat pe cel mai apropiat vecin este infinit de vreme ce
orice mulime de puncte etichetate arbitrar poate fi nvat perfect, ct
vreme nu exist puncte identice cu etichete de clas diferite. ns n acest
caz dimensiunea infinit nu conduce automat la performane slabe,
dimpotriv, acest clasificator are n multe situaii o bun capacitate de
generalizare.
57
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

2.4. Riscul empiric i riscul structural


S considerm o clas de probleme de clasificare binar pentru care
ieirea este

iar

valorile 0 sau 1), unde

o mulime de funcii indicator (care iau doar


reprezint parametrii abstraci ai funciilor, de

exemplu parametrii unor hiperplane de separare, structura i ponderile unei


reele neuronale etc. Se cunosc instanele de antrenare

care

aparin unei distribuii de probabilitate necunoscute D.


n teoria nvrii statistice, se utilizeaz noiunea de risc pentru a
indica eroarea la generalizare, adic performanele modelului de nvare
pentru toate datele necunoscute, care aparin ns aceleiai distribuii ca i
datele de antrenare.
Se dorete gsirea modelului de nvare optim

care

minimizeaz riscul ateptat:

(2.16)

De vreme ce distribuia D este necunoscut, riscul ateptat nu poate


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

(2.17)

58
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

n acest caz, problema fiind binar, suma calculeaz numrul de


instane pentru care clasificatorul greete. Prin urmare, expresia riscului
empiric d procentul de instane clasificate greit.
Pentru o problem de regresie, riscul empiric ia forma erorii
calculate prin metoda celor mai mici ptrate sau eroarea ptratic medie,
folosit i pentru reelele neuronale, dup cum am vzut n seciunea 1.3,
sau pentru alte modele inductive cu ieire real:

(2.18)

Conform legii numerelor mari, dac mulimea de date de antrenare


este suficient de mare, riscul empiric se apropie de riscul ateptat real. De
cele mai multe ori ns, aceast mulime este mic n comparaie cu ntreg
spaiul problemei.
Vapnik i Chervonenkis (1968; 1971) au determinat o relaie ntre
riscul real R i riscul empiric Re, lund n considerare dimensiunea VC a
modelului de nvare

, care se respect cu probabilitatea 1 :

(2.19)

Aceast relaie arat faptul c pentru a avea un risc mic, adic


performane bune de generalizare, att eroarea pe mulimea de antrenare ct
i raportul dintre dimensiunea VC i numrul de instane de antrenare
trebuie s fie mici. Acest raport este cu att mai mic cu ct dimensiunea VC
este mai mic i numrul de instane de antrenare este mai mare. De obicei,
59
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

riscul empiric scade cnd modelul devine mai complex, adic odat cu
creterea dimensiunii VC.
Numrul de instane 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 gsit un
echilibru ntre complexitatea modelului i performanele la antrenare, o
formalizare a ideii briciului lui Occam: gsirea celui mai simplu model cu
performane bune la antrenare (Osuna, Freund & Girosi, 1997a).
Primul termen din sum, riscul empiric, depinde de o funcie anume,
pe cnd al doilea (radicalul), denumit ncredere VC, depinde de dimensiunea
VC a ntregii mulimi de funcii.
Principiul minimizrii riscului structural definete compromisul
ntre calitatea aproximrii datelor de antrenare i complexitatea funciei de
aproximare (Vapnik, 1995). Principiul presupune construirea unei structuri
imbricate de modele de nvare
nedescresctoare

, unde

cu dimensiuni VC
, ca n figura 2.10.

Modul n care folosesc acest principiu mainile cu vectori suport va


fi prezentat n seciunea 3.4.

60
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 2. Noiuni de teoria nvrii

Limita riscului real


ncrederea VC

Sub-potrivire

Supra-potrivire
Riscul empiric

d1

dX

d*

H1

H*

dVC

HX

Figura 2.10. Limita riscului real

61
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 3

Probleme separabile liniar


3.1. Introducere
Mainile cu vectori suport (engl. Support Vector Machines, SVM)
reprezint o metod de nvare de nou generaie (Shawe-Taylor &
Cristianini, 2000), cu o fundamentare matematic riguroas, bazat pe
conceptul de maximizare a marginii care separ instanele din dou clase
diferite, iar maximizarea este rezolvat analitic, nu empiric.
Datorit acestei fundamentri, mainile cu vectori suport au
demonstrat performane foarte bune pentru probleme reale cum ar fi
clasificarea textelor, recunoaterea caracterelor scrise de mn, 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 considerm mai nti o problem de clasificare binar cu clase


separabile liniar (figura 3.1).
Un perceptron cu un singur strat poate mpri planul cu o dreapt n
dou suprafee i prin urmare poate rezolva corect aceast problem. n
procesul de antrenare al perceptronului se pornete ns de la o configuraie

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

aleatorie a ponderilor i pragului. n funcie de valorile rezultate prin


antrenare, dreapta separatoare poate avea parametri diferii, dup cum se
arat n figura 3.2. Toate aceste drepte rezolv problema de clasificare
considerat.

0
0

Figura 3.1. Problem de clasificare cu clase separabile liniar

Avnd mai multe opiuni la dispoziie, 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 instane noi.
Odat gsit o dreapt de separare ntre instanele de antrenare,
putem spune c este destul de probabil ca o nou instan (1, 2) s aparin
clasei ptratelor iar una (7, 7) s aparin clasei cercurilor. Probleme vor
aprea n zona de demarcaie 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 ptrat.
64
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 3. Probleme separabile liniar


7

0
0

Figura 3.2. Drepte de separare posibile

0
0

Figura 3.3. Drepte de separare diferite pot determina rezultate diferite

65
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport


7

0
0

Figura 3.4. Marginile generate de dou drepte de separare diferite

Una din ideile de baz ale mainilor 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 demarcaie
ntre clase. Marginea este distana dintre dreptele paralele cu dreapta de
separare care ating cel puin una din instanele fiecrei 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 dect cellalt.
n cazul de fa, problema de clasificare are 2 atribute

suprafaa de separare este o dreapt care mparte planul n 2 semiplane.


Dac problema ar fi avut 3 atribute, suprafaa de separare ar fi fost un plan
care mparte n dou spaiul tridimensional. n general, hiperspaiul nD
corespunztor unei probleme cu n atribute este mprit n dou de ctre un
hiperplan (n 1)D.

66
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 3. Probleme separabile liniar

Pentru a formaliza aceast descriere, s considerm c o suprafa de


separare este descris de urmtoarea ecuaie:

(3.1)

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


este produsul scalar al celor doi vectori, adic:

(3.2)

unde n este dimensiunea lor.

Exemplu

4
3.5
3
2.5
2
1.5
1
0.5
0
0

10

Figura 3.5. Drepte cu diferite ecuaii

n figura 3.5, ecuaia primei drepte este:

67
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Considerm aici c numele axelor sunt x1, x2 etc., ntruct y are o


semnificaie deosebit, utilizat n continuare, indicnd clasa unei instane i
nu un atribut (corespunztor unei axe de coordonate).
Analog, ecuaiile urmtoarelor dou drepte sunt:

,
respectiv:
.

n aceste cazuri, w = (1, 1) iar b difer. Dreptele cu aceeai


orientare w sunt paralele iar translaia 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 corespunztoare sau, n
general, pe suprafaa de separare considerat.

Reprezentarea problemei pentru SVM presupune ca ecuaiile


suprafeelor de separare s fie normalizate, astfel nct n limitele care trec
prin vectorii suport ai celor dou clase s fie

respectiv

(figura 3.6). Instanele de pe aceste dou suprafee se numesc


vectori suport, care dau i numele metodei.

68
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 3. Probleme separabile liniar


7

w
5

Vectori suport
3

(w x) + b = 1

(w x) + b = 0
(w x) + b = -1

0
0

Figura 3.6. Vectorii suport i ilustrarea noiunilor 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 funciei
discriminant:

(3.3)

unde:
.

(3.4)

Se poate constata analogia ntre parametrii w i b ai unei maini cu


vectori suport i ponderile i pragul unui perceptron cu un singur strat. De
altfel, notaiile urmeaz direct numele acestora n limba englez: weights
i bias.

69
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Fie yi clasa instanei i. Odat determinai parametrii w i b,


urmtoarele relaii trebuie respectate:

(3.5)

(3.6)

De exemplu, pentru clasa 1, instanele de pe dreapta-grani a


egal strict cu 1, fiind vectori

marginii vor avea cantitatea

suport, iar celelalte instane din aceeai clas, mai deprtate de margine, vor
avea cantitatea respectiv mai mare strict dect 1.
Mai compact, constrngerile de mai sus (ecuaiile 3.5 i 3.6) pot fi
scrise astfel:

(3.7)

-1

-2
-2

-1

Figura 3.7. Ilustrarea modalitii de calcul al marginii

70
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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 proiecia


distanei dintre oricare doi vectori suport x1 i x2 pe direcia vectorului w.
Prin urmare, valoarea lui m se poate obine de exemplu scznd
ecuaiile vectorilor x1 i x2:

(3.8)

unde este norma euclidian, adic lungimea vectorului considerat:

(3.9)

Exemplu

n situaia din figura 3.7, marginea m este n mod evident distana


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

ns aceeai valoare se obine proiectnd distana dintre


pe direcia

, conform ecuaiei 3.8:

71
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

De fapt, distana dintre oricare 2 puncte situate pe cele 2 drepte


paralele proiectat pe direcia lui w poate fi utilizat pentru a ajunge la
iar a doua

acelai rezultat. Prima dreapt d1 are ecuaia:


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 mprit la lungimea lui w, adic

Dac vom normaliza ecuaiile celor dou drepte pentru a fi egale cu


1, respectiv 1, indicnd cele dou clase, va trebui s rezolvm un sistem de
ecuaii de tipul:

adic:

ceea ce conduce la soluiile:

i b = 2.

Pentru a respecta constrngerile problemei SVM de a avea o singur


valoare pentru parametrul b, vectorul w trebuie s fie de fapt

72
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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
este vectorul unitate (de lungime 1):

ns nu se modific, deoarece

3.3. Problema de optimizare


Dup cum am artat n seciunea anterioar, rezolvarea problemei de
clasificare cu SVM se reduce la determinarea parametrilor w i b astfel nct
marginea

s fie maxim pentru toate instanele

din

mulimea 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
expresiei

, deoarece

deci minimizarea lui

. Putem considera n schimb minimizarea


, funcia radical este o funcie monoton,

este echivalent cu minimizarea lui a, iar

este un rezultat simplu i dezirabil, avnd 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

(3.11)

respectnd constrngerile:

(3.12)

unde N este numrul de instane din mulimea de antrenare.

3.4. Minimizarea riscului structural de ctre


mainile cu vectori suport
n cazul mainilor cu vectori suport, dimensiunea VC

a unui

hiperplan de separare cu marginea m este limitat astfel:

(3.13)

unde n este dimensionalitatea spaiului de intrare iar R este raza celei mai
mici sfere care conine toi 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 (separnd corect toate instanele de antrenare),
maximizarea marginii va minimiza i limita superioar a riscului ateptat
(Gutierrez-Osuna, 2000). De asemenea, dimensiunea VC depinde de
lungimea vectorului de ponderi w i este independent de numrul de
atribute al problemei. Aceasta nseamn c eroarea real a unui hiperplan de

74
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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 spaii multidimensionale, dac vectorul ponderilor este mic.

75
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4

Dualitatea Lagrange
4.1. Problema primar
Pentru a nelege mai bine modalitatea de optimizare prezentat n
acest capitol, vom ncepe cu un exemplu. S presupunem c avem de
minimizat funcia

. n mod normal, fr nicio alt

constrngere, minimul funciei este 0,25, obinut pentru x = 0,5, dup


cum se poate vedea n figura 4.1.

12

10

-2
-3

-2

-1

Figura 4.1. Minimul funciei       n absena constrngerilor

Dac avem ns o constrngere privind valorile posibile ale lui x, de


exemplu x = 1 sau x 1, acest minim se modific, aducnd o penalizare,

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

ceea ce provoac creterea valorii minimului fa de valoarea n cazul fr


constrngeri.
Problema pare mai simpl n cazul constrngerilor de tip egalitate. n
cazul de fa, dac x = 1, este clar c putem determina direct minimul
funciei, care este

. Pentru inegaliti 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 inegalitile pot fi tratate n mod similar
egalitilor. De exemplu, pentru cazul nostru, x 1 este de fapt echivalent
cu x = 1, deoarece pentru valori mai mici dect 1, valoarea funciei
crete.
Dac am fi avut inegalitatea x 1, minimul funciei ar fi fost egal cu
acela din cazul fr constrngeri, adic 0,25. Inegalitatea nu ar fi avut
niciun efect.
Pentru a trata unitar toate aceste situaii, putem considera fr a
restrnge generalitatea c toate constrngerile sunt mai mici sau egale cu 0.
n cazul de mai sus, x 1 este echivalent cu funcia:

Penalizarea de care aminteam anterior este ntr-un fel proporional


cu constrngerea. Pentru a nu mai opera cu inegaliti, combinm funcia
iniial i constrngerea ntr-o expresie nou, pe care dorim s o minimizm.
Construim deci funcia:

78
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

cu 0. Aceast funcie se numete lagrangianul problemei iar este un


multiplicator lagrangian.
Numrul poate lua orice valoare. Prin urmare, putem considera
o familie de funcii n care variaz, dup cum se vede n figura
4.2.

10

=4
8

=1
2

-2

-4
-3

-2.5

-2

-1.5

-1

-0.5

0.5

Figura 4.2. Familie de funcii lagrangiene pentru funcia f


i constrngerea   1 0

Cu negru este marcat funcia f. Cu nuane mai deschise sunt


marcate funciile

pentru valorile 1, 2, 3 i 4 pentru . Dac este

pozitiv, observm c atunci cnd constrngerea este satisfcut, valoarea


maxim pentru un x dat este cea a funciei f. Cnd constrngerea nu este
satisfcut, valoarea maxim pentru un x dat va tinde la infinit cnd tinde
la infinit. Cerculeul marcheaz minimul funciei f n prezena
constrngerilor.
Fie numrul:

79
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

(4.1)

n zonele n care nu se respect constrngerea, P este infinit. Acolo


unde se respect constrngerea, P este egal cu f. Prin urmare, minimizarea
funciei f respectnd constrngerea este echivalent cu minimizarea lui P:

(4.2)

Aceasta se numete problema primar (de acolo vine indicele P)


deoarece este echivalent cu problema iniial.
Dac am fi avut

, graficul familiei de funcii

lagrangiene ar fi fost cel din figura 4.3. Cerculeul marcheaz tot minimul
funciei f n prezena constrngerilor, care este n acest caz egal cu minimul
funciei f neconstrnse. Aici constrngerile nu sunt active.

10

f
=1

-2

=4
-4

-6

-8

-10
-2

-1.5

-1

-0.5

0.5

1.5

Figura 4.3. Familie de funcii lagrangiene pentru funcia f


i constrngerea  1 0

80
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

S considerm acum alt funcie, cu mai multe constrngeri, care


stabilesc ca x s aparin intervalului [1, 2].

Acum vor exista 2 parametri , cte unul pentru fiecare


constrngere. Figura 4.4 prezint graficul funciei f, precum i familia de
: (1, 0), (0, 1),

funcii lagrangiene pentru urmtoarele perechi


(1, 1) i (2, 2).

14

12

10

-2

-4

-6
-3

-2

-1

Figura 4.4. Familie de funcii lagrangiene


pentru cazul unor constrngeri multiple

81
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Acelai principiu se aplic i n cazul funciilor cu mai multe


argumente, de exemplu:

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


cu nuane mai deschise.

Figura 4.5. Lagrangianul unei funcii cu 2 argumente

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


constrngerea. Deci minimul este pe elipsa de intersecie a suprafeelor
determinate de cele dou funcii. Aceast elips se poate vedea mai clar n
proiecia din figura 4.6.

82
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

Figura 4.6. Elipsa pe care se gsete minimul funciei constrnse

4.2. Problema dual


S considerm acum numrul:

(4.3)

Acesta reprezint minimul tuturor funciilor

. De exemplu,

, dac = 0, atunci D = 0,25, egal cu minimul

pentru

funciei f fr constrngeri. Dac = 4, atunci D = 2,25, obinut pentru


x = 2,5.
Ne intereseaz cel mai mare astfel de minim:

83
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

(4.4)

Inteligen artificial: maini 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 funciei f iniiale.
Conform inegalitii min-max (Boyd & Vandenberghe, 2004),
pentru orice funcie

cu

este adevrat

urmtoarea relaie:

(4.5)

n cazul nostru, deoarece nu conteaz ordinea argumentelor funciei,


putem scrie:

(4.6)

n ecuaia 4.6, dac n loc de inegalitate avem egalitate, soluia


problemei duale este i soluia problemei primare i n acest caz se spune c
avem de-a face cu o dualitate puternic:

. (4.7)

O funcie real este convex dac segmentul de dreapt dintre oricare


2 puncte de pe graficul funciei se gsete deasupra graficului, ntr-un spaiu
euclidian cu cel puin 2 dimensiuni.
Mai formal, o funcie
i

cu

este convex dac

, se respect relaia:

.
84
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

(4.8)

Capitolul 4. Dualitatea Lagrange

Aceast condiie este ilustrat n figura 4.7 (Wikimedia Commons,


2014b).

Figura 4.7. Funcie convex

Un alt exemplu simplu de funcie convex este

O funcie concav este negativul unei funcii convexe.


Avem o dualitate puternic atunci cnd problema primar este
convex (funcia de minimizat i funciile care reprezint constrngerile de
inegalitate sunt convexe) iar constrngerile de egalitate sunt afine
(sunt de forma

) i, n plus, constrngerile de inegalitate

sunt strict fezabile, adic

Cnd exist o dualitate puternic, max min = min max. Ordinea


acestor operaii conteaz n cazul unor funcii arbitrare, ns nu i n cazul
funciilor convexe. S ne imaginm o funcie de forma unei vi, ca n figura
4.8, unde este reprezentat

pentru

. Dac

minimizm n direcia x pstrnd constant direcia y i apoi maximizm n


direcia

y,

ajungem

mai

nti

ntr-un

punct

oarecare

85
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

unde

Inteligen artificial: maini cu vectori suport

x = 0, ntre cei doi perei cuadratici i apoi mergem n sus, pe fundul vii,
spre punctul (0, 2). Dac inversm ordinea, ajungem mai nti ntr-un punct
de pe un perete unde y = 2 i apoi coborm pe perete spre acelai punct
(0, 2) (dup Welling, 2005).

Figura 4.8. Graficul funciei ,     

Motivul pentru care transformm problema primar n problema


dual este faptul c problema dual este n general mai uor de rezolvat.

Exemple

Vom considera acum prima problem prezentat n seciunea 4.1:

86
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

Lagrangianul are urmtoarea expresie:

Trebuie s calculm

. Mai nti determinm

. Minimul se obine acolo unde derivata parial a lui L n raport


cu x este 0:

Acum putem rescrie expresia lui L doar ca o funcie de :

n continuare, determinm maximul acestei expresii n raport cu ,


n acelai mod, egalnd cu 0 derivata lui Lx:

Am obinut 0, iar pentru x = 1 valoarea funciei f(x) = 0.


Cnd > 0, spunem c respectiva constrngere este activ.
S vedem ce s-ar ntmpla dac am folosi o alt constrngere:

87
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Atunci langrangianul ar fi:

Calculele se efectueaz n mod analog:

Acum nu se mai respect condiia 0. Considernd = 0, obinem


x = 0,5 pentru care f(x) = 0,25, la fel ca atunci cnd lipsete
constrngerea. n acest caz, constrngerea este inactiv.
Prin urmare, constrngerile inactive nu au niciun rol iar
constrngerile active sunt echivalente cu nite egaliti.

4.3. Perspectiva geometic


Dincolo de abordarea analitic, este interesant i perspectiva
geometic asupra acestei metode de optimizare. ntruct lucrm cu o funcie
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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

valoare x dintr-un domeniu de interes, reprezentm n noul grafic un punct


(De Don, 2004; Vasconcelos, 2009).
n cazul constrngerii active din exemplul precedent, adic:

vom avea situaia din figura 4.9.

3.5

2.5

1.5

0.5

-0.5

-1

-3

-2

-1

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


a situaiei unei constrngeri active

Pe lng regiunea delimitat de funcie se traseaz linii tangente care


o intersecteaz n zona g 0. Punctul maxim de intersecie de pe axa g = 0
este soluia iar panta este . La noi = 1, ceea ce este echivalent cu o
pant de 45. Cnd constrngerea este activ, > 0 iar intersecia cu

89
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

funcia are loc n punctul n care abscisa este 0. Valoarea de pe ordonat


reprezint minimul funciei, n acest caz 0.
Este doar o coinciden c intersecia apare n punctul (0, 0). Putem
considera o alt problem, doar puin diferit:

Procednd ca n seciunea 4.3, determinm = 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

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


a unei alte probleme cu o constrngere activ

90
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange


4

3.5

2.5

1.5

0.5

-0.5

-1

-3

-2

-1

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


a situaiei unei constrngeri inactive

f
panta =
x

(g(x), f(x))

g
C ()

Figura 4.12. Reprezentarea cazului general pentru o constrngere activ

91
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

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


pe ordonat corespunztoare interseciei cu tangenta este 2,5, adic exact
minimul funciei.
S considerm i cazul unei constrngeri inactive:

Acum = 0 iar intersecia cu funcia are loc ntr-un punct n care


abscisa este strict negativ, dup cum se poate vedea n figura 4.11.
n general, cazul unei constrngeri active este cel din figura 4.12. Ne
intereseaz semiplanul n care g 0. Dac exist mai multe constrngeri,
reprezentarea devine multidimensional. O dreapt tangent la funcia
reprezentat n planul (g, f), cu panta , intersecteaz axa f n punctul
. Scopul este determinarea pantei (de fapt a multiplicatorului
lagrangian) astfel nct

s fie maxim. n figura 4.12, poate scdea

astfel nct punctul de intersecie cu ordonata s creasc de la valoarea din


punctul C la valoarea din punctul A. Intersecia are loc n g = 0. Minimul
funciei f n problema iniial corespunde valorii de pe ordonat a punctului A.
Cazul general pentru o constrngere inactiv este ilustrat n figura
4.13. Aici se poate scdea astfel nct s se ajung de la dreapta BC la
dreapta AD. Teoretic, ar putea scdea n continuare, deoarece se poate
identifica o dreapt tangent la funcia reprezentat a crei intersecie cu axa
f s fie mai sus de punctul D. ns trebuie s respectm condiia 0. Prin
urmare, nu putem s scdem mai mult valoarea lui . Rezultatul este = 0
iar intersecia are loc acum ntr-un punct unde g < 0. i aici, minimul
funciei f n problema iniial corespunde valorii de pe ordonat a punctului A.
92
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

f
x

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

D
g

Figura 4.13. Reprezentarea cazului general pentru o constrngere inactiv

Diferena
de dualitate

Figura 4.14. Diferena de dualitate pentru o funcie neconvex

93
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

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


este 0, deci se respect relaia: g = 0.
Atunci cnd funcia nu este convex, putem avea situaia din figura
4.14. Punctul A corespunde soluiei problemei primare iar B corespunde
soluiei problemei duale, utiliznd aceeai metod a dreptei tangente. Din
cauza concavitii, exist aici o diferen ntre valorile lui f n cele dou
puncte, numit diferen de dualitate (engl. duality gap). n aceast
situaie, dei problema dual are o soluie, aceasta nu este o soluie corect
i pentru problema primar.

4.4. Formalizarea problemei de optimizare


n aceast seciune vom da o descriere complet i formal a pailor
de rezolvare ai problemei de optimizare. n cazul general avem funcia
obiectiv f, o mulime de constrngeri de inegalitate gi i o mulime de
constrngeri de egalitate hj.
Problema primar este:
,

(4.9)

astfel nct:
(4.10)
.

(4.11)

Se definete lagrangianul:

94
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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 nct:
.

(4.15)

Cnd nu exist diferena de dualitate:

(4.16)

Pe lng constrngerile 4.10, 4.11 i 4.15, trebuie ndeplinite i o


serie de condiii necesare, numite condiiile Karush-Kuhn-Tucker:

(4.17)

(4.18)

95
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Ecuaia 4.17 genereaz n ecuaii, cte una pentru fiecare dimensiune


a problemei.
Astfel se determin multiplicatorii lagrangieni i i j.
Valoarea unui multiplicator lagrangian corespunztoare soluiei
problemei este egal cu rata modificrii valorii maxime a funciei obiectiv f
atunci cnd constrngerea aferent este relaxat. Aceast interpretare este de
multe ori folosit n context economic, unde funcia de optimizat reprezint
profitul iar constrngerile se aplic resurselor utilizate. Astfel, valoarea unui
multiplicator

lagrangian

semnific

creterea

constrngere ar fi relaxat puin, de exemplu

profitului

dac

acea

n loc de

, cu

> 0 (Osborne, 2003).

4.5. Particularizarea pentru mainile cu vectori suport


Dup cum am vzut n capitolul 3, pentru mainile cu vectori suport
nu avem egaliti, ci doar inegaliti. Prin urmare lagrangianul are forma
urmtoare:

(4.19)

iar constrngerile i condiiile sunt:

(4.20)
(4.21)

96
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

(4.22)

(4.23)
Pentru SVM, w* este soluia problemei primare i * este soluia
problemei duale.
Problema primar este urmtoarea (ecuaia 3.11):

(4.24)
astfel nct (ecuaia 3.12):

(4.25)

Pentru a respecta notaia introdus n acest capitol, constrngerile


anterioare pot fi scrise astfel:

(4.26)

Introducem ecuaiile 4.24 i 4.26 n expresia lagrangianului:

(4.27)

n continuare, se rezolv ecuaiile date de condiiile Karush-KuhnTucker, pentru a gsi minimul lui L:

97
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

(4.28)

(4.29)

nlocuind aceste rezultate n expresia problemei duale, vom obine


urmtoarea formulare pentru o main cu vectori suport liniar:

(4.30)

respectnd constrngerile:

(4.31)
.

(4.32)

Conform condiiei:

(4.33)

rezult c i > 0 doar pentru vectorii suport, care corespund constrngerilor


active (unde g = 0), i i = 0 pentru celelalte instane, unde constrngerile
sunt inactive (g 0).
Avantajul rezolvrii problemei duale este c numrul vectorilor Nvs
suport este mult mai mic dect numrul instanelor de antrenare N:

98
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

(4.34)

De exemplu, n experimentele fcute de Vapnik (1995) privind


recunoaterea cifrelor scrise de mn, s-a constat c numrul vectorilor
suport era de 3-5% din numrul instanelor de antrenare.
n acest capitol nu ne vom opri asupra modalitii concrete de
rezolvare a problemei duale. Exist pachete software specializate n acest
sens i algoritmi dedicai rezolvrii problemei pentru mainile cu vectori
suport. Vom prezenta un astfel de algoritm mai trziu, n capitolul 7.
Dup rezolvarea problemei i gsirea multiplicatorilor i, parametrii
problemei primare vor fi determinai astfel:

(4.35)

(4.36)

unde S este mulimea vectorilor suport iar |S | este numrul lor.


Pentru o problem cu clase liniar separabile, exist formule mai
simple pentru calcularea valorii lui b. De exemplu, este suficient verificarea
ecuaiei hiperplanului care trece printr-un vector suport, ca n exemplul
urmtor. Ecuaia 4.36 este ns util n cazul general, atunci cnd clasele nu
sunt liniar separabile, cnd se permit erori de clasificare sau cnd se aplic
funcii pentru transformarea datelor, dup cum vom vedea n capitolele
urmtoare.
Ecuaia hiperplanului de separare,

, se poate rescrie

sub forma:
99
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

. (4.36)

Exemplu

Pentru a nelege mai bine modalitatea de calcul, s considerm mai


nti o problem unidimensional cu 3 instane de antrenare, prezentat n
figura 4.15.

0.5

-0.5

-1

0.5

1.5

2.5

3.5

4.5

Figura 4.15. Problem de clasificare unidimensional

Particulariznd ecuaia 4.30, problema de optimizare este:

(4.37)
cu constrngerile:
i 0

(4.38)
.

(4.39)

100
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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 (ecuaia 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

n fereastra instrumentului Solver, se introduc constrngerile ca


multiplicatorii din celulele A:C s fie nenegative i suma din A s fie 0.
Se seteaz funcia obiectiv de maximizat ca fiind expresia din celula A,
dup cum se indic n figura 4.18.

Figura 4.18. Setarea funciei obiectiv i a constrngerilor

Figura 4.19. Rezultatele

102
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

Dup rezolvare, rezultatele vor fi afiate 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 ecuaiei 4.35:

Apoi obinem valoarea pragului pe baza ecuaiilor dreptelor care trec


prin vectorii suport, la noi acestea fiind instanele 1 i 2. Rezultatele sunt
identice, avnd n vedere c b este unic:
n instana 1:

n instana 3:

Prin urmare, suprafaa de separare este dreapta

adic

x = 2, aflat la distane egale de vectorii suport (instana 1 i instana 2).


n continuare, vom rezolva o problem bidimensional puin mai
complex, ilustrat n figura 3.1 i repetat aici pentru comoditate. Mulimea
de antrenare este prezentat n tabelul 4.1.

Tabelul 4.1. Instanele 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport


7

Figura 4.20. Problem de clasificare bidimensional

Expresia care trebuie maximizat este urmtoarea (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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 4. Dualitatea Lagrange

Celelalte constrngeri sunt:

i condiia ca multiplicatorii s aib valori nenegative: i 0.


i aceast problem poate fi rezolvat n Microsoft Excel.
Multiplicatorii lagrangieni ai instanelor sunt prezentai n tabelul 4.2.

Tabelul 4.2. Multiplicatorii lagrangieni ai instanelor


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 urmtoarea ecuaie:

sau echivalent:

Rezultatul este prezentat n figura 4.21.

105
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport


7

Figura 4.21. Dreapta de separare i vectorii suport

n faza de predicie, noile instane vor fi clasificate conform ecuaiei


3.3:

. De exemplu:

(prin convenia din ecuaia 3.4)

Pentru unele probleme pot exista foarte muli vectori suport, iar n
acest caz programele generale de optimizare pot fi mai puin eficiente. De
aceea, pentru SVM se folosesc n general algoritmi speciali de optimizare,
precum algoritmul de optimizare secvenial minimal (engl. Sequential
Minimal Optimization, SMO), descris n capitolul 7.

106
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 5

Nuclee
5.1. Transformarea n trsturi
Exist multe situaii n care datele nu sunt separabile liniar pentru a
folosi direct metodele de calcul prezentate pn acum. De exemplu, s
considerm

problema

unidimensional

din

figura

5.1.

Instanele

corespunztoare punctelor 1 i 6 aparin unei clase, iar instanele


corespunztoare punctelor 3 i 4 aparin celeilalte clase.

1
0.5

0
-0.5

-1
0

Figura 5.1. Instane n spaiul atributelor

O idee ingenioas, pentru a putea aplica totui separarea liniar, este


transformarea datelor din spaiul iniial al problemei, numit spaiul
atributelor, ntr-un spaiu cu (mult) mai multe dimensiuni, numit spaiul
trsturilor, n care clasele devin separabile liniar. Transformarea se face cu
ajutorul unei funcii care realizeaz transformarea n trsturi (engl.
feature mapping), dup cum se poate vedea n figura 5.2 (adaptat dup
Wikimedia Commons, 2014c).

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

(x)
x
(o)

(x)

o
o

(x)

(o)

o
(x)
(o)
x

(o)

spaiul atributelor

spaiul trsturilor

Figura 5.2. Transformarea n trsturi

De exemplu, s considerm problema de mai sus i o funcie


, care transform spaiul unidimensional din figura 5.1 n
spaiul bidimensional din figura 5.3.

40

35

30

25

20

15

10

0
1

Figura 5.3. Instane n spaiul trsturilor

108
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 5. Nuclee

Acum instanele din spaiul bidimensional sunt punctele (1, 1),


(3, 9), (4, 16) i (6, 36) care pot fi separate de o dreapt.
Din ecuaiile 3.1 i 4.35, nlocuind x cu (x), vom obine
urmtoarea expresie pentru ecuaia hiperplanului de separare:

(5.1)

Se observ c toate calculele ce privesc instanele se fac n perechi,


intrnd n produse scalare ale funciilor de transformare n trsturi.
Numim acest produs scalar nucleu (engl. kernel):

(5.2)

n acest caz, ecuaia 5.1 devine:

Exemplu

Fie nucleul:

109
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

(5.3)

Inteligen artificial: maini cu vectori suport

Dac avem o problem bidimensional, cu

, atunci:

unde funcia (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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 5. Nuclee

5.2. Teorema lui Mercer


Nu orice funcie cu 2 argumente vectoriale este un nucleu valid. O
astfel de funcie trebuie s satisfac n general ecuaia 5.2. n cele ce
urmeaz (Ng, 2007), vom prezenta condiiile pe care trebuie s le
ndeplineasc o funcie K pentru a fi un nucleu valid, adic pentru a avea
garania c exist o transformare (a crei expresie putem s nu o
cunoatem explicit), astfel nct s se respecte ecuaia 5.2.
Fie o mulime de N instane xi (nu neaprat instanele din mulimea
de antrenare) i o matrice K ale crei elemente sunt:

Matricea K se numete matricea nucleului.


Dac funcia K este un nucleu valid, atunci:

(5.4)

Prin urmare, matricea K trebuie s fie simetric.


n al doilea rnd, notnd cu k(x) valoarea coordonatei k a vectorului
(x), pentru orice vector z vom avea:

ceea ce nseamn c matricea K este pozitiv semidefinit.

111
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

(5.5)

Inteligen artificial: maini cu vectori suport

S-a demonstrat c aceste dou condiii sunt nu numai necesare, ci i


suficiente pentru valididatea nucleului K. Aceasta este teorema lui Mercer
(Mercer, 1909; Hazewinkel, 2001):
O funcie

este un nucleu valid dac i numai dac

oricare ar fi mulimea

cu

matricea nucleului

corespunztoare lui K este simetric i pozitiv semidefinit.

5.3. Tipuri de nuclee


Exist mai multe clase de funcii care pot servi drept nuclee pentru
transformarea datelor. Nucleele folosite n mod uzual pentru mainile cu
vectori suport sunt:

nucleul liniar:

nucleul polinomial:

nucleul gaussian sau cu funcii de baz radial (engl. radial basis

functions, RBF):

nucleul sigmoid:

5.3.1. Nucleul polinomial

n expresia

, parametrii utilizai sunt:

> 0, r i, foarte important, numrul (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 transformri. Nici mcar dimensionalitatea spaiului
trsturilor nu este fix. De exemplu, am vzut mai sus c pentru o
112
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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 funcia

, care transform

spaiul atributelor ntr-un spaiu cu 4 dimensiuni.


ns exist i:

care transform spaiul bidimensional al atributelor ntr-un spaiu cu


3 dimensiuni.
Un nucleu polinomial de forma:

poate fi echivalent cu utilizarea att a funciei:

cu 6 dimensiuni, ct i a funciei:

cu 9 dimensiuni.
Cnd se aleg diferite nuclee care satisfac teorema lui Mercer, chiar
apropiate din punct de vedere al parametrilor, pot exista salturi mari n
dimensionalitatea spaiului trsturilor.
Pentru acelai nucleu dar cu o problem tridimensional, adic
x = (x1, x2, x3), vom avea o transformare ntr-un spaiu cu 13 dimensiuni:
113
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

n general, gradul polinomului d este un numr ntreg pozitiv, ns


au fost ncercate i valori fracionare (Rossius et al., 1998) pentru un control
mai fin al numrului de dimensiuni n care sunt proiectate instanele
problemei.
Nucleul polinomial este des utilizat pentru probleme de prelucrare a
limbajului natural. n general se folosete 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


instanelor sunt cei din tabelul 5.1, obinui cu aceeai metod de calcul,
prezentat n capitolul 4, dar nlocuind n ecuaia 4.30 produsul scalar
cu nucleul

. Folosim nucleul

Tabelul 5.1. Multiplicatorii lagrangieni ai instanelor


xi Clasa (yi)
1
1
3
1
4
1
6
1

i
1,0461
1,2304
0,1862
0,3706

Funcia discriminant este:

114
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 5. Nuclee

nlocuind valorile din tabelul 5.1, se obine funcia:

Valoarea parametrului b se poate calula rezolvnd oricare din


ecuaiile f(xi) = yi pentru vectorii suport, adic: f(1) = 1, f(3) = 1 etc.
Rezultatul este b = 3. Prin urmare, funcia discriminant este urmtoarea
funcie cuadratic, capabil s separe datele unidimensionale:

i al crei grafic este ilustrat n figura 5.4. Rdcinile funciei sunt:


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

Figura 5.4. Graficul funciei discriminant

Suprafaa de decizie n spaiul iniial unidimensional este prezentat


n figura 5.5.

115
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport


1

0.5

-0.5

-1
0

Figura 5.5. Suprafaa de decizie n spaiul atributelor

5.3.2. Nucleul gaussian

, avem doar parametrul > 0, care

n expresia
are semnificaia 1 / 22.

Figura 5.6 (Berwick, 2003) ilustreaz suprafaa 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 funcii, n care valoarea nucleului este mare


(1 dac = 1) cnd argumentele sunt apropiate i tinde la 0 cnd distana
dintre ele este mare, putem nelege nucleul ca o msur a similaritii dintre

116
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 5. Nuclee

cele dou argumente. i produsul scalar din nucleul polinomial are aceeai
semnificaie.
Folosind aceast interpretare, se pot gsi funcii nucleu pentru
probleme cu formulri diferite de cele ale clasificrii clasice. De exemplu,
fie problema clasificrii 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
relaiile dintre structur i funcionalitate. S presupunem c (x) reprezint
numrul de apariii al fiecrui subir de lungime k n irul x. Pentru 20 de
aminoacizi standard, problema presupune lucrul ntr-un spaiu 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 nct se va lucra

implicit n spaiul cu 20k dimensiuni, fr ns a calcula vectorii trsturilor


n acest spaiu (Leslie, 2004; Ng, 2007).
Este de asemenea important de precizat c nucleul gaussian
proiecteaz spaiul atributelor ntr-un spaiu infinit dimensional.
Vom da n continuare un exemplu intuitiv asupra modului n care se
poate demonstra acest rezultat (Iyer & Ghose, 2013). S considerm cazul
unei probleme bidimensionale, n = 2. Presupunnd c = 1, putem exprima
ecuaia nucleului gaussian astfel:

Descompunnd aceast expresie n serie Taylor, conform regulii:

117
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

vom obine:

Se poate observa c numrtorul argumentului sumei este un nucleu


polinomial de ordin n. Nucleul gaussian este deci o combinaie a tuturor
nucleelor polinomiale de grad n 0. De vreme ce un nucleu polinomial de
ordin n transform datele ntr-un spaiu cu mai mult de n dimensiuni, putem
spune c nucleul gaussian transform spaiul atributelor ntr-un spaiu al
trsturilor infinit dimensional.
Chiar dac vectorii corespunztori (x) sunt infinii, acest lucru nu
nseamn c similaritatea ntre 2 vectori nu se poate calcula. Produsul lor
scalar este o sum care converge la un numr real i acest numr 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 asemntor funciei 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: maini cu vectori suport
Tehnopress, Iai, 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, 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 spaiu cu mai multe dimensiuni. n alte situaii, datele
prezint valori extreme (engl. outliers) care influeneaz marginea optim.
De exemplu, n figura 6.1 prezena unor valori extreme scade mrimea
marginii dintre cele dou clase.

Figura 6.1. Prezena unor valori extreme afecteaz calitatea modelului

Soluia este de a permite existena 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: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport


7

w
5

(w x) + b = 1
1

(w x) + b = 0
(w x) + b = -1

0
0

Figura 6.2. Variabile de decalaj i margine flexibil

Problema de optimizare devine:

(6.1)

astfel nct:
(6.2)
i 0

(6.3)

cu i = 1..N.
Parametrul de cost C este o msur a erorii admise n clasificare. El
controleaz compromisul dintre a permite erori pe mulimea de antrenare i
a fora margini stricte. Creterea valorii lui C mrete costul clasificrii
greite a instanelor 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: maini cu vectori suport
Tehnopress, Iai, 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 ncercri repetate, unii autori
propunnd secvene exponeniale, precum: 105, 103, 0,1, 1, 10, 100, 103,
105. De asemenea, se pot ncerca mai multe combinaii de perechi de valori
pentru parametri (Hsu, Chang & Lin, 2010), de exemplu, dac se folosete
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 condiiile ca derivatele sale pariale n raport cu argumentele


s fie 0.
Se obine astfel problema dual:

(6.5)

astfel nct:
0 i C, i = 1..N.

(6.6)

Celelalte constrngeri sunt la fel ca n situaia marginii inflexibile:

123
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

(6.7)
(6.8)

Oarecum surprinztor, termenii i nu apar n problema dual.


Conteaz numai parametrul C care limiteaz multiplicatorii i. Pentru
instanele neclasificabile, multiplicatorii ar crete foarte mult i ar determina
i apariia unor vectori suport suplimentari, cu i > 0.

6.2. Exemple
S considerm mai nti tot o problem unidimensional (figura 6.3),
pentru care vom aplica o main cu vectori suport liniar. Este clar c nu se
pot separa cele dou clase.

1
0.5
0
-0.5
-1
0

Figura 6.3. Problem neseparabil liniar unidimensional

Fr C, toate instanele au valori mari pentru multiplicatorii i, dup


cum se vede n tabelul 6.1. De asemenea, se poate observa cum scderea
valorii lui C limiteaz i valorile multiplicatorilor i.

124
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 6. Probleme neseparabile liniar

Tabelul 6.1. Multiplicatorii lagrangieni ai instanelor


xi Clasa (yi) i (fr 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 instana 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 (introducnd parametrul C, pentru o
formulare cu margine flexibil), sau dac dorete o clasificare precis, cu o
margine mai mic, ntre 10 i 12 (fr C, cu formularea exact a problemei
de optimizare).

1
0
-1
0

10

12

14

16

Figura 6.4. Problem cu o valoare extrem

Tabelul 6.2 prezint multiplicatorii lagrangieni ai instanelor, pentru


diferite valori ale lui C.

125
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Tabelul 6.2. Multiplicatorii lagrangieni ai instanelor


xi Clasa (yi) i (fr 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

Fr C se reuete clasificarea perfect, cu punctul de separare 11.


Cu un C mai mic, se permit erori i apar mai muli 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 stnga, depind instana problematic 10.
S considerm 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 6. Probleme neseparabile liniar

Suprafeele 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. Suprafaa de decizie pentru = 1/2 i C =

Figura 6.7. Suprafaa de decizie pentru = 1/2 i C = 100

127
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Figura 6.8. Suprafaa de decizie pentru = 1/2 i C = 10

Figura 6.9. Suprafaa 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 funcie de
condiiile meteorologice dac se poate juca sau nu golf. Instanele problemei
sunt prezentate n tabelul 6.3.

128
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 6. Probleme neseparabile liniar

Figura 6.10. Suprafaa de decizie pentru = 50 i C =

Tabelul 6.3. Problem de clasificare cu atribute mixte


Nr. instan Starea vremii Temperatur Umiditate
Vnt
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

ntruct atributele Temperatur i Umiditate sunt numerice, acestea


se normalizeaz n ntervalul [0, 1]. Vnt 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, transformndu-se n

129
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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 intrri (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 corespunztoare 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 Vnt 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 mulimea de date din tabelul 6.4 i


nucleul gaussian

. Multiplicatorii i valorile funciei

discriminant sunt prezentate n tabelul 6.6, n condiiile n care b = 0,699.

130
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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 Vnt 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14

2,028
5,486
3,325
1,578
0
1,696
0
2,691
1,721
0
1,460
9,684
0
6,594

(w x) + b
1
1
1
1
1,040
1
1
1
1
1,392
1
1
1,402
1

fd(x)
1
1
1
1
1
1
1
1
1
1
1
1
1
1

Joc
1
1
1
1
1
1
1
1
1
1
1
1
1
1

131
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 7

Algoritmul SMO
7.1. Optimizarea diferenial a unei funcii
n cazul general al unei funcii de n variabile, f(x1, ..., xn), o
modalitate de maximizare este de a considera pe rnd fiecare variabil i de
a-i gsi acesteia valoarea care maximizeaz funcia, n condiiile n care
celelalte variabile rmn 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 funciei  ,       


2


Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Figura 7.2. Proiecie bidimensional a graficul funciei


 ,       
2


S presupunem c ncepem procesul de optimizare din punctul


(5, 5), unde f(5, 5) = 5 + 5 + 25 50 25 = 40. Realizm mai nti
optimizarea dup x1, considernd 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), realizm optimizarea dup x2, considernd
fix pe x1:

134
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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:
.

Repetnd procesul vom obine succesiv:

Se vede c x1 i x2 converg la valorile care maximizeaz funcia:


f(0,43 , 0,71) = 0,57. Din punct de vedere grafic, procesul se desfoar ca
n figura 7.3.

Figura 7.3. Procesul de optimizare diferenial iterativ

135
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

7.2. Rezolvarea problemei duale pentru maini cu


vectori suport
Dup cum am vzut n capitolele anterioare, problema de optimizare
pentru o main cu vectori suport presupune maximizarea funciei D():

(7.1)

astfel nct:

0 i C, i = 1..N

(7.2)
(7.3)
.

(7.4)

Rezolvnd problema de determinare a multiplicatorilor optimi, sunt


satisfcute urmtoarele condiii de optimalitate:

(7.5)

Avnd n vedere ecuaia 7.3, nu putem optimiza funcia din ecuaia


7.1 cu o singur variabil, ca n seciunea 7.1. Pentru a pstra suma
constant, trebuie s modificm cel puin 2 multiplicatori simultan.

136
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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 partiionrii (engl. chunking, Vapnik,
1982) se bazeaz pe faptul c nlturarea instanelor de antrenare cu
multiplicatori nuli nu modific soluia. Ideea de baz este mprirea
problemei de optimizare n subprobleme mai mici, pentru a identifica
multiplicatorii nenuli. O subproblem conine multiplicatorii nenuli gsii
prin rezolvarea subproblemei precedente la care se adaug instanele care
violeaz cel mai mult condiiile 7.5. n ultimul pas, se rezolv problema
complet, n care s-au determinat toi multiplicatorii nenuli.
O alt metod este cea a decompoziiei (Osuna, Freund & Girosi,
1997b), cu acelai principiu de mprire n subprobleme mai mici, ns de
dimensiune fix, ceea ce permite rezolvarea unor probleme cu mulimi de
antrenare foarte mari.
Algoritmul de optimizare secvenial minimal (engl. Sequential
Minimal Optimization, SMO), propus de Platt (1998), descompune i el
problema de programare cuadratic n subprobleme de dimensiune fix,
rezolvnd 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 optimizai mpreun, pn cnd este
rezolvat problema global. Din punct de vedere practic, procedura se repet
pn la satisfacerea unui criteriu de convergen, adic aproximarea corect
a mulimii de antrenare cu o eroare maxim permis , de exemplu = 103
(Terashima, 2012).
Considernd multiplicatorii i i j , pe baza ecuaiei 7.3 putem
scrie:

(7.6)
137
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

unde

, dup cum clasele corespunztoare instanelor celor

2 multiplicatori sunt diferite sau egale, respectiv.


Prin

urmare, putem

optimiza la un moment

dat

funcia

doar dup multiplicatorul i , meninnd


ceilali multiplicatori constani.
Algoritmul SMO are trei componente principale (Platt, 1998;
Ramirez-Padron, 2007):

o metod analitic de optimizare a celor doi multiplicatori alei;

o euristic pentru alegerea multiplicatorilor care vor fi optimizai


mpreun la un moment dat;

o metod pentru calcularea pragului b.

7.3. Optimizarea comun a unei perechi de


multiplicatori
Pentru a uura nelegerea, vom nota, ca i Platt, primul multiplicator
ales cu 1 i pe cel de-al doilea cu 2. De asemenea, notm cu
valorile vechi dinaintea procesului de optimizare i cu

i
valorile

noi, optimizate.
tim c suma

trebuie s rmn constant dup

optimizarea lui 1 i 2. Aceast condiie poate fi scris astfel:


(7.7)

unde s = y1y2.

138
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 7. Algoritmul SMO

Ecuaiile 7.7 i 7.2 impun ca valorile actualizate ale multiplicatorilor


s rmn pe un segment de dreapt precum cele din figura 7.4 (Platt,
1999a).

Figura 7.4. Restriciile de la actualizarea unei perechi de multiplicatori

Paii urmai sunt urmtorii:

rezolvarea problemei de optimizare n 2 respectnd relaia


;

readucerea, dac este cazul, a valorii noi a lui 2 ntr-un interval


acceptabil [L, H] astfel nct n final

calcularea noii valori pentru 1.

Folosind ecuaia 7.7, dac y1 y2, 2 trebuie s se ncadreze n


urmtoarele limite:

(7.8)
.

Dac y1 = y2, aceste limite vor fi:

139
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

(7.9)

Inteligen artificial: maini cu vectori suport

(7.10)
.

(7.11)

Platt propune o expresie general pentru L i H, evitnd testul dup


valorile claselor, y1 i y2:

(7.12)

(7.13)

n continuare, funcia de maximizat se consider a fi

ceilali multiplicatori fiind tratai ca nite constante. Substituind 1 cu o


funcie de 2, vom avea de optimizat

, rezolvnd:

Nu vom include aici expresia lui

(7.14)

, deoarece este destul de

complex i considerm c aceste calcule matematice nu sunt eseniale


pentru nelegerea algoritmului. Este suficient s menionm c

este

o funcie cuadratic n 2:
,

unde

(7.15)

. Prin urmare, este uor de optimizat.

140
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 7. Algoritmul SMO

Derivata a doua a unei funcii 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)

este eroarea curent pentru instana de antrenare i.

unde

indic funcia de decizie cu mulimea veche de multiplicatori lagrangieni.


Dup calcularea valorii optime a lui 2, aceasta este adus n
intervalul

pentru a respecta condiiile de limit:

(7.18)

Apoi este calculat noua valoare a lui 1:

141
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

(7.19)

n cazul n care avem mai multe instane de antrenare duplicat, este


posibil ca s fie 0. Pot exista dou situaii:

, atunci D(2) este o linie iar

Dac

fi ori 0 ori C, valoarea care maximizeaz D.

va

se obine tot din

ecuaia 7.19;

, atunci D este o constant, nu se

Dac

mai pot face progrese n optimizarea multiplicatorilor cureni i


trebuie gsit o alt pereche.

7.4.

Determinarea

multiplicatorilor

pentru

optimizare
Principala problem a algoritmului SMO este alegerea unei perechi
potrivite de multiplicatori n fiecare iteraie. n acest scop, se utilizeaz
cteva euristici (Platt, 1999a; Platt, 1999b; Ramirez-Padron, 2007).
Algoritmul are dou bucle de cutare. n bucla exterioar se caut un
multiplicator care nu respect condiiile 7.5, cu o anumit eroare admisibil .
Prima dat bucla exterioar itereaz dup toate instanele de
antrenare. Dup prima iteraie, bucla exterioar alterneaz cutarea dup o
singur trecere prin toate instanele de antrenare i iteraii multiple dup
instanele cu multiplicatori care nu sunt nici 0 i C, adic

. n

timpul execuiei algoritmului, multiplicatorii care au valori limit, probabil


i le vor pstra, iar ceilali i le vor schimba n decursul optimizrilor.

142
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 7. Algoritmul SMO

Algoritmul se termin cnd toate instanele de antrenare respect condiiile


7.5 cu eroarea admisibil .
De fiecare dat cnd bucla exterioar determin un prim
multiplicator, bucla inferioar itereaz dup restul multiplicatorilor pentru
a-l gsi pe cel de-al doilea. Este ales acela ca maximizeaz pasul de
actualizare din ecuaia 7.17. Evalurile funciei nucleu K sunt consumatoare
de timp, aa nct SMO aproximeaz pasul prin valoarea absolut a
numrtorului: |E1 E2 |. Algoritmul pstreaz o valoare de rezerv (engl.
cached) a erorii pentru fiecare instan al crei multiplicator nu are o
valoare limit i apoi alege o eroare care maximizeaz n mod aproximativ
mrimea 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 situaii, de exemplu cnd ambele instane au acelai
vector de antrenare (x1 = x2), folosirea metodei de mai sus nu conduce la
progresul algoritmului, adic la un pas nenul n ecuaia 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 gsesc astfel de multiplicatori, algoritmul itereaz


dup toate instanele de antrenare, cutnd una care s conduc
la progres.

143
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

n ambele situaii, cutarea multiplicatorilor pornete din poziii


aleatorii, pentru a nu da importan mai mare instanelor de la nceputul
mulimii 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 instanele de antrenare s satisfac toate
condiiile 7.5.
Platt utilizeaz o mic modificare a ecuaiei suprafeei de separare,
cu b n loc de b. Din punct de vedere practic, nu are nicio importan cum
considerm semnul lui b. n continuare vom urma ns formularea lui Platt.
Cnd

nu are valori limit, urmtoarea formul foreaz ieirea

SVM s fie y1 pentru intrarea x1:


. (7.20)

Analog, cnd

nu are valori limit, urmtoarea formul foreaz

ieirea 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 7. Algoritmul SMO

. (7.22)

Primii doi termeni de dup Ei actualizeaz ieirea real a modelului


fd cu noile valori ale lui 1 i 2. Ultimul termen ndeprteaz pragul vechi
din funcia de decizie. Astfel, ecuaia 7.22 este adevrat cnd
multiplicatorii lagrangieni nu au valori limit. n acest caz, pragurile

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 condiiilor 7.5. n

acest caz, se alege valoarea:

(7.23)

Utilizarea ecuaiilor 7.20 i 7.21 are avantajul rapiditii calculelor,


deoarece erorile pot fi memorate pentru toate instanele ai cror
multiplicatori nu sunt nici 0 nici C. Cnd un multiplicator care nu are o
valoare limit este implicat ntr-o optimizare, valoarea de rezerv a erorii
sale devine 0. Pentru ceilali multiplicatori fr valori limit, care nu sunt
implicai ntr-o optimizare, erorile sunt actualizate astfel:

.(7.24)

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


evalua eroarea calculnd funcia de decizie determinat de multiplicatorii
cureni.
Avantajul principal al algoritmului SMO este consumul relativ
sczut de resurse. Spaiul necesar este liniar n numrul de instane de
145
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

antrenare. Complexitatea de timp este O(k n) unde n este numrul de


instane de antrenare iar k este numrul mediu de candidai ai vectorilor
suport n timpul iteraiilor. De fapt, complexitatea de timp este n general
ntre O(n) i O(n2) (Ramirez-Padron, 2007).
n ultimii ani, au aprut numeroi algoritmi derivai 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 abordri mai simple i mai rapide, dar
aproximative, pentru rezolvarea problemei de optimizare, att n forma
primar ct 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 ieiri dorite


point = matricea vectorilor de antrenare
main
{
Se iniializeaz elementele vectorului alpha cu 0
Se iniializeaz pragul cu 0
3
Se iniializeaz epsilon cu o valoare mic, de exemplu 10
numChanged = 0
examineAll = true
146
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 7. Algoritmul SMO


while (numChanged > 0 or examineAll)
{
numChanged = 0
if (examineAll)
{
// iteraie dup toi vectorii de antrenare
loop i
numChanged += ExamineExample(i)
}
else
{
// iteraie dup toi vectorii de antrenare cu alpha diferii 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 = (ieirea curent a SVM pentru instana de antrenare i2) y2
// dac alpha2 violeaz condiiile de optimalitate, caut un alpha1 potrivit
r2 = E2 * y2
if ((r2 < epsilon && alpha2 < C) or (r2 > epsilon && alpha2 > 0))
{
if ((numrul 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport


if (TakeStep(i1, i2))
return 1
}
// iteraie dup toi alpha diferii de 0 i de C, ncepnd cu un index aleatoriu
loop i1
{
if (TakeStep(i1, i2))
return 1
}
// iteraie dup toi alpha, ncepnd 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 = (ieirea curent a SVM pentru instana 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: maini cu vectori suport
Tehnopress, Iai, 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 schimbrile multiplicatorilor

149
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport


Se actualizeaz vectorul de ponderi pentru a reflecta schimbrile 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 considerm problema simpl din tabelul 7.1. Avnd n vedere
complexitatea algoritmului SMO, chiar i pentru aceast problem se vor
face numeroase prelucrri.
Tabelul 7.1. Mulimea de antrenare
x y
1 1
2 1
4 1
5 1

n continuare, se prezint modul de execuie, pas cu pas, evideniind


numele procedurilor din pseudocod mpreun cu valorile argumentelor i
rezultatele calculelor. Pentru a urmri funcionarea algoritmului, s-a folosit
o variant modificat a implementrii 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: maini cu vectori suport
Tehnopress, Iai, 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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: maini cu vectori suport
Tehnopress, Iai, 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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: maini cu vectori suport
Tehnopress, Iai, 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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 obinute n final, prezentate n tabelul 7.2, sunt cele


ateptate, cu 2 vectori suport n instanele 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: maini cu vectori suport
Tehnopress, Iai, 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 nvat nu mai
este binar, ci real. Aceast valoare trebuie aproximat ct mai bine de
model, cu o eroare maxim admis . De aceea, utilizarea SVM pentru
regresie se mai numete -SVR (engl. -Support Vector Regression).
Ideea de baz este determinarea funciei de decizie:

(8.1)
astfel nct:
.

(8.2)

Trebuie subliniat faptul c n expresia lui fdr lipsete funcia semn


utilizat n ecuaia 3.3 corespunztoare funciei de decizie fd pentru mainile
cu vectori suport destinate clasificrii.
De asemenea, pentru a preveni supra-potrivirea, fdr trebuie s fie ct
mai neted. Figura 8.1 (Statnikov et al., 2009) ilustreaz principiul metodei.

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Figura 8.1. Principiul metodei de regresie

Atunci cnd se permit erori mai mari, echivalentul marginii flexibile,


doar punctele din exteriorul benzii sunt penalizate iar problema de
optimizare este:

(8.3)

astfel nct:
(8.4)

i 0.

(8.5)

cu i = 1..N.
Aceast situaie este reprezentat n figura 8.2 (Statnikov et al.,
2009).

158
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, 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 funcie 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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 stnjenel
(Fisher, 1936) este un exemplu tipic de problem cu o structur simpl dar
nu foarte uor de rezolvat. Mulimea de date conine 3 clase cu 50 de
instane fiecare, iar fiecare clas reprezint un tip de iris: setosa, versicolor
i virginica. Clasa setosa este separabil liniar de celelalte dou, dar acestea
la rndul lor nu sunt separabile liniar ntre ele. Exist 4 atribute numerice:
lungimea petalelor, limea petalelor, lungimea sepalelor i limea
sepalelor, toate exprimate n centimetri.
Un alt exemplu este o problem de clasificare a textelor, n care un
document poate aparine unui numr mare de clase, acestea reprezentnd
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 mainile cu vectori
suport. Exist multe metode specifice SVM, mult mai complexe, pe care le
vom aminti la finalul acestei seciuni, 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 aanumita una versus toate (engl. one versus all), care construiete k modele,
unde k este numrul de clase (Bottou et al., 1994; Hsu & Lin, 2002).
Modelul i este antrenat cu toate instanele din clasa i ca exemple pozitive
(y = 1) i toate instanele din celelalte clase, ca exemple negative (y = 1).
160
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 8. Extensii

Dup construirea celor k modele, rezult k funcii de decizie:


. n final, o instan x este clasificat n clasa
corespunztoare modelului cu valoarea maxim a funciei de decizie:

(8.6)

Aceast metod este potrivit i pentru cazul n care clasele nu sunt


mutual exclusive, adic o instan poate aparine simultan mai multor clase
(Statnikov et al., 2009). De exemplu, ntr-o problem de clasificare a
documentelor, un document poate aparine att clasei tirilor politice, ct i
clasei corespunztoare Italiei. Alt document poate aparine clasei Italiei dar
i categoriei sport.
Deoarece numrul de instane de antrenare din fiecare problem este
egal cu numrul total de instane 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 construiete k (k 1) / 2 modele, fiecare fiind
antrenat doar cu instanele a 2 clase (Knerr, Personnaz & Dreyfus, 1990;
Kreel, 1999). Pentru a clasifica o instan x, se folosesc toi aceti
clasificatori i fiecare d un vot asupra apartenenei lui x la o anumit clas:
dac

indic apartenena lui x la clasa i, atunci numrul

de voturi corespunztor clasei i este incrementat. n final, se alege clasa cu


cele mai multe voturi. Dac dou clase au acelai numr de voturi, se poate
alege n mod arbitrar prima clas, n ordine lexicografic (Hsu & Lin, 2002).
161
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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
instane. n acest caz, antrenarea poate fi mai rapid deoarece mulimile de
antrenare sunt mai mici dect n cazul metodei precedente (Manning,
Raghavan & Schtze, 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 seciune, vom considera o variant simplificat a
problemei florilor de iris, cu 2 dimensiuni n loc de 4, dar cu aceeai natur:
clasa setosa este separabil liniar de celelalte dou clase, iar la grania dintre
clasele versicolor i virginica exist instane intercalate. Mulimea 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 folosete 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 8. Extensii

Tabelul 8.1. Mulimea de antrenare


x1
1,1
1,3
1,5
1,3
1,6
3,3
4,7
5,1
5
4,8
5,6
5
5,1
5,8
6,1

x2
0,1
0,2
0,2
0,3
0,6
1
1,6
1,6
1,7
1,8
1,4
1,5
1,5
1,6
2,5

Clasa
setosa
setosa
setosa
setosa
setosa
versicolor
versicolor
versicolor
versicolor
versicolor
virginica
virginica
virginica
virginica
virginica

2.5

1.5

0.5

0
0

Figura 8.4. Versiune simplificat bidimensional a problemei florilor de iris

163
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

8.3.1. Abordarea una versus toate


Pentru aceast abordare, trebuie s realizm 3 modele: setosa vs.
rest, versicolor vs. rest i virginica vs. rest. n fiecare model, instanelor
clasei de referin le corespunde valoarea 1 pentru clas, iar restului de
instane, valoarea 1.
Tabelele 8.2, 8.3, respectiv 8.4 prezint rezultatele obinute cu cele 3
modele pentru toate instanele din mulimea de antrenare, valorile calculate
ale pragurilor fiind: 1,736, 47,796, respectiv 30,624.
Tabelul 8.2. Modelul setosa vs. rest
1,1
1,3
1,5
1,3
1,6
3,3
4,7
5,1
5
4,8
5,6
5
5,1
5,8
6,1

Instana
y ((w x) + b)
0,1
setosa
0
1,404
0,2
setosa
0
1,278
0,2
setosa
0
1,151
0,3
setosa
0
1,261
0,6
setosa
0,023
1,000
1 versicolor 0,023
1,000
1,6 versicolor
0
3,747
1,6 versicolor
0
4,599
1,7 versicolor
0
4,441
1,8 versicolor
0
4,071
1,4 virginica
0
5,618
1,5 virginica
0
4,320
1,5 virginica
0
4,538
1,6 virginica
0
6,238
2,5 virginica
0
7,661

164
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 8. Extensii

Tabelul 8.3. Modelul versicolor vs. rest


1,1
1,3
1,5
1,3
1,6
3,3
4,7
5,1
5
4,8
5,6
5
5,1
5,8
6,1

Instana
y
((w x) + b)
0,1
setosa
0
27,580
0,2
setosa
0
20,994
0,2
setosa
0
20,500
0,3
setosa
0
15,809
0,6
setosa
0,807
0,998
1 versicolor
0
11,487
1,6 versicolor
0
12,000
1,6 versicolor 1214,394
1,007
1,7 versicolor
0
8,363
1,8 versicolor
0
16,656
1,4 virginica
0
30,017
1,5 virginica 1110,934
0,980
1,5 virginica
0
4,215
1,6 virginica
0
24,980
2,5 virginica
102,654
0,935

Tabelul 8.4. Modelul virginica vs. rest


1,1
1,3
1,5
1,3
1,6
3,3
4,7
5,1
5
4,8
5,6
5
5,1
5,8
6,1

Instana
y
((w x) + b)
0,1
setosa
0
42,222
0,2
setosa
0
46,911
0,2
setosa
0
44,434
0,3
setosa
0
53,001
0,6
setosa
0
67,043
1 versicolor
0
51,998
1,6 versicolor
0
27,217
1,6 versicolor 1186,969
1,006
1,7 versicolor
0
16,310
1,8 versicolor
0
36,061
1,4 virginica
0
59,539
1,5 virginica
1087,702
0,981
1,5 virginica
0
8,211
1,6 virginica
0
55,043
2,5 virginica
99,268
0,936

165
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Tabelul 8.5 prezint rezultate obinute prin combinarea celor 3


modele. Pe fiecare linie, valoarea maxim este marcat cu litere aldine.
Coloana corespunztoare indic clasa furnizat ca rspuns. Se vede c toate
instanele sunt clasificate corect.
Tabelul 8.5. Rezultatele obinute prin combinarea modelelor
Instana
1,1
1,3
1,5
1,3
1,6
3,3
4,7
5,1
5
4,8
5,6
5
5,1
5,8
6,1

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

setosa
setosa
setosa
setosa
setosa
versicolor
versicolor
versicolor
versicolor
versicolor
virginica
virginica
virginica
virginica
virginica

((w x) + b) ((w x) + b) ((w x) + b)


setosa
versicolor
virginica
1,404
27,580
42,222
1,278
20,994
46,911
1,151
20,500
44,434
1,261
15,809
53,001
1,000
0,998
67,043
1,000
11,487
51,998
3,747
12,000
27,217
4,599
1,007
1,006
4,441
8,363
16,310
4,071
16,656
36,061
5,618
30,017
59,539
4,320
0,980
0,981
4,538
4,215
8,211
6,238
24,980
55,043
7,661
0,935
0,936

8.3.2. Abordarea toate versus toate

Pentru aceast abordare, trebuie s realizm 3 modele: setosa vs.


versicolor, setosa vs. virginica i versicolor vs. virginica. n fiecare model,
instanelor primei clase le corespunde y = 1, iar instanelor din a doua clas,
y = 1.
Tabelele 8.6, 8.7, respectiv 8.8 prezint rezultatele obinute cu cele 3
modele doar pentru instanele din perechile de clase considerate, valorile
calculate ale pragurilor fiind acum: 1,736, 1,268, respectiv 30,624.
166
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 8. Extensii

Tabelul 8.6. Modelul setosa vs. versicolor


Instana
y ((w x) + b)
0,1
setosa
0
1,404
0,2
setosa
0
1,278
0,2
setosa
0
1,151
0,3
setosa
0
1,261
0,6
setosa
0,023
1,000
1 versicolor 0,023
1,000
1,6 versicolor
0
3,747
1,6 versicolor
0
4,599
1,7 versicolor
0
4,441
1,8 versicolor
0
4,071

1,1
1,3
1,5
1,3
1,6
3,3
4,7
5,1
5
4,8

Tabelul 8.7. Modelul setosa vs. virginica


1,1
1,3
1,5
1,3
1,6
5,6
5
5,1
5,8
6,1

Instana
y ((w x) + b)
0,1 setosa
0
1,150
0,2 setosa
0
1,104
0,2 setosa
0
1,057
0,3 setosa
0
1,097
0,6 setosa
0,003
1,000
1,4 virginica
0
1,488
1,5 virginica 0,003
1,000
1,5 virginica
0
1,082
1,6 virginica
0
1,724
2,5 virginica
0
2,270

Tabelul 8.8. Modelul versicolor vs. virginica


3,3
4,7
5,1
5
4,8
5,6
5
5,1
5,8
6,1

Instana
y
((w x) + b)
1 versicolor
0
51,998
1,6 versicolor
0
27,217
1,6 versicolor 1186,969
1,006
1,7 versicolor
0
16,310
1,8 versicolor
0
36,061
1,4 virginica
0
59,539
1,5 virginica 1087,702
0,981
1,5 virginica
0
8,211
1,6 virginica
0
55,043
2,5 virginica
99,268
0,936

167
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini cu vectori suport

Tabelul 8.9 prezint un exemplu de combinare a rezultatelor oferite


de modelele pariale pentru instana cea mai mic din clasa versicolor
(3,3 , 1). n modelul setosa vs. virginica, aceast instan este clasificat
drept setosa, deoarece instana este foarte apropiat de dreapta de separare:
((w
w x) + b) = 0,252.
Tabelul 8.9. Rezultatul obinut prin combinarea modelelor
pentru instana versicolor (3,3 , 1)
Model
Rezultat
setosa vs. versicolor versicolor
setosa vs. virginica
setosa
versicolor vs. virginica versicolor
Vot majoritar
versicolor

n consecin, instana este clasificat drept versicolor, deoarece are


2 voturi din 3 n acest sens.

8.4. Concluzii
Mainile cu vectori suport sunt foarte des utilizate pentru probleme
de clasificare, regresie, dar i pentru alte tipuri de probleme precum
selectarea trsturilor (engl. feature selection) de exemplu (Brank et al.,
2002; Alonso-Atienza et al., 2012) sau clasificri 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 crei rezolvare o presupune este cuadratic, deci
fr optime locale. Transformnd formularea primar n formularea dual,
optimizarea nu mai depinde de dimensiunea spaiului iniial al problemei,
ceea ce este foarte avantajos n cazul n care exist multe atribute, de
168
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Capitolul 8. Extensii

exemplu la clasificarea textelor. Numrul de parametri care trebuie ales de


utilizator este relativ mic. De asemenea, mainile 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 experiena 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 luai n considerare mai ales pentru
probleme de dimensiuni mari (Sullivan, 2008).

169
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Florin Leon (2014). Inteligen artificial: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Referine
[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-andcomputer-science/6-045j-automata-computability-andcomplexity-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-045jautomata-computability-and-complexity-spring-2011/lecturenotes/MIT6_045JS11_lec20.pdf

[3]

Alonso-Atienza, F., Rojo-lvarez, J. L., Rosado-Muoz, A.,


Vinagre, J. J., Garca-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 Idiots 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: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Referine

International Conference of the IEEE Engineering in Medicine


and

Biology

Society

(EMBC14),

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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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. 179188

[23]

Freudenrich, C. (2007) How Nerves Work, HowStuffWorks.com,


http://health.howstuffworks.com/human-body/systems/nervoussystem/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 Occams 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 Marginbased Bounds, http://www.cs.cmu.edu/~guestrin/Class/10701S05/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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Referine

[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

Neurocomputing,

vol.

for

SVM

149,

part

with
C,

pinball
pp.

loss,

1596-1603,

doi:10.1016/j.neucom.2014.08.033
[38]

Hume, D. (1888) Humes 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.unituebingen.de/teaching/ss07/albi2/script/svm.pdf

175
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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-functionkernel-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 Platts SMO Algorithm for SVM
Classifier Design, Neural Computation, vol. 13, no. 3, pp. 637649, doi: 10.1162/089976601300014493

[44]

Klivans,

A.

The

(2005)

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]

Kreel, U. (1999) Pairwise classification and support vector


machines, in Schlkopf, B., Burges, C. J. C. & Smola, A. J.
(eds.),

Advances in Kernel Methods Support Vector

Learning, pp. 255-268, MIT Press, Cambridge, Massachusetts


[47]

Krse, B. & van der Smagt, P. (1996) An Introduction to Neural


Networks, University of Amsterdam

176
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Referine

[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: raionament probabilistic,


tehnici de clasificare, Tehnopress, Iai

[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. & Schtze, 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.humanmemory.net/brain_neurons.html

177
Florin Leon (2014). Inteligen artificial: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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 Wont 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: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Referine

[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 Schlkopf, 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: maini cu vectori suport


Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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/smonips.pdf
[76]

Platt, J. C., Cristianini, N. & Shawe-Taylor, J. (2000) Large


Margin DAGs for Multiclass Classification, in Solla, S. A., Leen,
T. K. & Mller, 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. 375387, 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Referine

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/vcdimension/

[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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Referine

[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-wiretogether/
[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 (ESANN99), 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com

Inteligen artificial: maini 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: maini cu vectori suport
Tehnopress, Iai, ISBN 978-606-687-155-6, http://florinleon.byethost24.com