pichierri natalia svm classification
DESCRIPTION
Support Vector MachineTRANSCRIPT
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
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
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
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
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
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
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
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
2α
′
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
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
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