pichierri natalia svm classification

11
SVM Classificazione e Algoritmi Ing Pichierri Natalia 1 Email: [email protected]

Upload: ing-natalia-pichierri

Post on 10-Jun-2015

105 views

Category:

Education


3 download

DESCRIPTION

Support Vector Machine

TRANSCRIPT

Page 1: Pichierri Natalia SVM Classification

SVM

Classificazione e Algoritmi Ing  Pichierri  Natalia  

1  

Email:  [email protected]  

Page 2: Pichierri Natalia SVM Classification

Si considerano l osservazioni in cui ogni osservazione è una coppia ed un’etichetta il cui valore indica l’appartenenza ad una classe (si considerano solo 2 classi). Si definisce MACCHINA PER L’APPRENDIMENTO una macchina deterministica, ovvero un insieme di funzioni in cui α è il VETTORE DEI PARAMETRI ricavabile con un processo di addestramento. Queste funzioni si definiscono per insiemi frammentabili di cui una particolare classe è rappresentata da insiemi frammentabili mediante IPERPIANI ORIENTATI (se i vettori sono affinamente indipendenti). Considerati due insiemi disgiunti A e B in Rn l.s. detto IPERPIANO di SEPARAZIONE per cui tutti i punti appartengono ad un semipiano, quelli di B all’altro. Ciò significa che e tc

xi ∈ Rn

yi ∈ −1,1{ }

f (α) :Rn→ −1,1{ }

∃H = x ∈ Rn :wT x + b = 0{ }

∃w ∈ Rn b∈ Rxi ∈ A

wT xi + b ≥ 1, ∀xi ∈ A

wTxj +b≤−1, ∀xj ∈ B 2  

Page 3: Pichierri Natalia SVM Classification

Iperpiano Ottimo Si definisce IPERPIANO DI SEPARAZIONE OTTIMO quello avente Max MARGINE DI SEPARAZIONE (MdS) dove il MdS è la minima distanza tra tutti i punti di AUB e H; ciò è equivalente a risolvere il seguente problema di cui si dimostra che esiste ed è unica la soluzione:

wT xi + b ≥ 1, ∀xi ∈ A wTxj +b≤−1, ∀xj ∈ B

dove w e b soddisfano i vincoli e definiscono l’insieme delle soluzioni ammissibili che si dim essere chiuso e limitato. La funzione obiettivo ammette per Weistrass minimo. Di questo problema si considera il duale

max 12||w ||2 − αi

i=1

l

∑ yi (wT xi + b)−1#$ %&

min 12||w ||2

w = αii=1

l

∑ yixi

αii=1

l

∑ yi = 0

αi ≥ 0, i =1,..., l3  

Page 4: Pichierri Natalia SVM Classification

Addestramento Osservazione 1)  Se A e B non sono linearmente separabili nella I disequazione a II membro del

vincolo si sottrae ξi mentre nella II si aggiunge; nella fo del primale si somma il termine in cui C pesa l’errore di training con ξi >0∀i=1,…,l

2)  Se A e B sono separabili mediante superfici non lineari si definisce il Kernel (polinomiale, Gaussiano, ...)

Nella CLASSIFICAZIONE con α ∈ Rl

e ∈ Rl vettore di l 1 C scalare positivo

qij=yiyj k(xi, xj) elemento generico della matrice Q (l xl )

C ξ i i=1

l

min f (α) = 12αTQα − eTα

yTα = 00 ≤α ≤C

4  

Page 5: Pichierri Natalia SVM Classification

Decomposizione Ad ogni iterazione k il vettore αk è suddiviso in 2 sottovettori ( ) con W = {1, … , l} che serve per individuare le variabili del problema da risolvere ed è detto Working Set = {1, . . . , l} \ W Si dovrà risolvere Alla k-esima iterazione si lasciano invariate le componenti di α con indici in è mentre alle α con indici in W si assegna la soluzione del sottoproblema In genere, si parte da α°= 0 a cui corrisponde e Se il Working Set è di soli 2 indici è SMO (Sequential Minimal Optimization) Partendo da α° si cerca di migliorare la soluzione scegliendo una direzione di discesa d che, per una soluzione di una generica iterazione k, verifica la disequazione

αwk ,αw

k

Wmin f (α) = 1

2αw

TQwwαw + (αwkTQww − ew

T )αw

ywTαw = −yw

Tαw

0 ≤αw ≤Cew

wαk+1= wα

kk

∇f (α°) = −e ∇f (α k+1) =∇f (α k )+ Qi (i∈Wk∑ α k+1 −α k )

∇f (α k )i yi −∇f (αk ) j y j < 0

W

5  

Page 6: Pichierri Natalia SVM Classification

SVM light αk sarà PUNTO OTTIMO se e solo se con Se αk non è ottimo si scelgono i∈ R(αk ), j∈ S(αk ) detti violating pair perchè non verificano le KKT. Si definisce un algoritmo di discesa che porta f(αk+1)<f(αk) e che converge sempre scegliendo (i,j) a cui corrisponde la più rapida direzione ammissibile di discesa. Ciò porta ad ogni passo ad una riduzione della fo. SVM Light: si usa un working set che può avere anche un numero di indici q>2 (in genere 10); in tal caso, si ordina il vettore selezionando q1=q/2 indici in R(αk ) dopo averli ordinati in modo che le etichette siano disposte in modo crescente e q2=q/2 indici in S(αk ) dopo un ordinamento decrescente. Wk={i1,…,iq1,j1,..jq2}. Si scelgono coppie di indici (ih,jh) ∈ R(αk ) x S(αk ) scegliendo ordinatamente h=1,2,..,q/2. L’algoritmo è convergente.

m(α k ) = {max− yi∇f (αk )i} ≤ {min− yi∇f (α

k )i} =M (αk )

R(α) = {i :αi <C, yi = +1)∪{i : 0 <αi, yi = +1}S(α) = {i :αi <C, yi = −1)∪{i : 0 <αi, yi = −1}

in  R   in  S  

6  

Page 7: Pichierri Natalia SVM Classification

esempio Siano date le coppie (xi, yi), i = 1, . . . , 5: X1=(1,0,0)T y1=-1 X2=(0,1,0)T y2=-1 X3=(0,0,1)T y3=-1 x4=(0.1,0.1,0.1)T y4=-1 x5=(0,0,0)T y5=+1 Kernel lineare, C=100

Problema  da  risolvere  

min 12

α1α2

α3α4

α5

!

"

######

$

%

&&&&&&

T

1 0 0 0.1 00 1 0 0.1 00 0 1 0.1 00.1 0.1 0.1 0.03 00 0 0 0 0

!

"

######

$

%

&&&&&&

α1α2

α3α4

α5

!

"

######

$

%

&&&&&&

− α ii=1

5

−α1 −α2 −α3 −α4 +α5 = 0

min f (α) = 12αTQα − eTα

yTα = 00 ≤α ≤C

0  ≤  α  ≤  100  

7  

Page 8: Pichierri Natalia SVM Classification

esempio

min 12

α1α2

α3α4

α5

!

"

######

$

%

&&&&&&

T

1 0 0 0.1 00 1 0 0.1 00 0 1 0.1 00.1 0.1 0.1 0.03 00 0 0 0 0

!

"

######

$

%

&&&&&&

α1α2

α3α4

α5

!

"

######

$

%

&&&&&&

− α ii=1

5

−α1 −α2 −α3 −α4 +α5 = 0

0  ≤  α  ≤  100  

Problema da risolvere ∇f (α°) = −eα° = 0{−yh∇f(α0)h}, h=1...,5 = (−1, − 1, − 1, − 1, 1)T

R(α) = {i :αi <C, yi = +1)∪{i : 0 <αi, yi = −1}S(α) = {i :αi <C, yi = −1)∪{i : 0 <αi, yi = +1}

−α1 + α5 = 0 0 ≤ α ≤ 100

min 12

α1α5

!

"

##

$

%

&&

T

1 00 0

!

"#

$

%&

α1α5

!

"

##

$

%

&&

Utilizzando la procedura di minimizzazione analitica si determina il punto α1 = (2, 0, 0, 0, 2)T con valore della f.o. f(α1) = −2.

8  

Page 9: Pichierri Natalia SVM Classification

Nota  

Support Vector Machines

Errata corrige (ottobre 2010)

a cura di L. Palagidegli Appunti delle Lezioni

tenute nell’a.a. 2005-06 da Marco Sciandrone

1. pagina 35: il problema (70) e in effetti il seguente

min q(αi,αj) =1

2

(

αi αj

)T

qii qij

qji qjj

(

αi

αj

)

+∑

h =i,j

(qihαi + qjhαj)αh − αi − αj

yiαi + yjαj = −∑

h =i,j

yhαh

0 ≤ αh ≤ C h = i, j

2. pag 43 problema (78)min 1

Qα + c′

αy1α1 + y2α2 = b

0 ≤ αi ≤ C i = 1, 2.

dove c = QW,W αkW

− e, b = −yTwαk

W.

3. pag 43 nella definizione del passo massimo β si suppone che ciascuna di abbia modulounitario

4. pag 44: d− = −d+

min 12

α1α5

!

"

##

$

%

&&

T

1 00 0

!

"#

$

%&

α1α5

!

"

##

$

%

&&

−α1 + α5 = 0 0 ≤ α ≤ 100

In   effeH,   considerando   l’algoritmo   di  decomposizione   come   è   stato   definito,  alle   iterazioni   successive   alla   prima  bisogna   considerare   i l   seguente  soOoproblema  

9  

Page 10: Pichierri Natalia SVM Classification

esempio Il gradiente risulta Si ottiene R(α1) = {1, 5}, S(α1) = {1, 2, 3, 4, 5} e dunque si può scegliere i ∈ {1, 5}, j ∈ {1, 2, 3, 4, 5} considerando la i associata al valore più grande del gradiente in R (in questo caso i=1 associata a 1) e la j al più piccolo in S (in questo caso j=2 o in alternativa 3 o 5 corrispondente a -1). W1={1,2}. Si procede in questo modo.

k   αkT     {−yh∇f(αk)h}      h=1...,5     R(αk)     S(αk)     (i,j)k    

0   (0,  0,  0,  0,  0)     (−1,  −1,  −1,  −1,  1)     {5}     {1,2,3,4}     (5,1)    

1   (2,  0,  0,  0,  2)     (1,  −1,  −1,  −0.8,  1)     {1,5}     {1,2,3,4,5}     (1,2)    

2   (1,  1,  0,  0,  2)     (0,  0,  −1,  −0.8,  1)     {1,2,5}     {1,2,3,4,5}     (5,3)  

3   (1,  1,  2,  0,  4)     (0,  0,  1,  −0.6,  −1)     {1,2,3,5}     {1,2,3,4,5}     (3,5)  

∇f (α1) =∇f (α 0 )+Q1(α11 −α1

0 )+Q5(α51 −α5

0 ) =

−1−1−1−1−1

#

$

%%%%%%

&

'

((((((

+ 2

1000.10

#

$

%%%%%%

&

'

((((((

+ 2

00000

#

$

%%%%%%

&

'

((((((

=

+1−1−1−0.8−1

#

$

%%%%%%

&

'

((((((

10  

Page 11: Pichierri Natalia SVM Classification

Trovato l’α* è possibile determinare l’iperpiano con b risolvendo

H = x ∈ Rn :wT x + b = 0{ }

α *ii=1

l

∑ yi (wT xi + b)−1#$ %&= 0

w = α *ii=1

l

∑ yixi

wT x + b ≥1wT x + b ≤ −1

∀xi  ∈  A    

∀xj  ∈  B    

Se  si  vuole  classificare  un  

nuovo  veOore  x  lo  si  sos_tuisce    

nell’iperpiano.    

x  

X  apparterrà  ad  A  se  verifica  la  prima  disequazione,  a  B  altrimen_  

esempio

11