Sei sulla pagina 1di 11

SVM

Classicazione e Algoritmi
lng lchlerrl naLalla
1
Lmall: naLallaplchlerrl[llbero.lL
Si considerano l osservazioni in cui ogni osservazione una coppia ed
unetichetta il cui valore indica lappartenenza ad una classe (si
considerano solo 2 classi). Si denisce MACCHINA PER LAPPRENDIMENTO una
macchina deterministica, ovvero un insieme di funzioni in cui
! il VETTORE DEI PARAMETRI ricavabile con un processo di addestramento.

Queste funzioni si deniscono per insiemi frammentabili di cui una particolare
classe rappresentata da insiemi frammentabili mediante IPERPIANI ORIENTATI
(se i vettori sono a#namente indipendenti).

Considerati due insiemi disgiunti A e B in R
n
l.s.
detto IPERPIANO di SEPARAZIONE per cui tutti i punti appartengono ad un
semipiano, quelli di B allaltro. Ci signica che e tc

x
i
! R
n
y
i
! "1,1
{ }
f (!) : R
n
! "1,1 { }
!H = x " R
n
: w
T
x +b = 0
{ }
!w " R
n
b ! R
x
i
! A
w
T
x
i
+ b $ 1, x
i
A

w
T
x
j
+b%&1, x
j
B
2
Iperpiano Ottimo
Si denisce 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:

w
T
x
i
+ b $ 1, x
i
A
w
T
x
j
+b%&1, x
j
B

dove w e b soddisfano i vincoli e deniscono linsieme 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
1
2
|| w ||
2
! !
i
i=1
l
"
y
i
(w
T
x
i
+b) !1
#
$
%
&
min
1
2
|| w||
2
w = !
i
i=1
l
!
y
i
x
i
!
i
i=1
l
!
y
i
= 0
!
i
! 0, i =1,..., l
3
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 lerrore di training con 'i >0i=1,,l
2) Se A e B sono separabili mediante superci non lineari si denisce il Kernel
(polinomiale, Gaussiano, ...)
Nella CLASSIFICAZIONE



con ! R
l
e R
l
vettore di l 1

C scalare positivo
q
ij
=y
i
y
j
k(x
i
, x
j
) elemento generico della matrice Q (l xl )

C !
i

i=1
l
!
min f (!) =
1
2
!
T
Q! !e
T
!
y
T
! = 0
0 !! ! 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, verica la disequazione

!
w
k
, !
w
k
W
min f (!) =
1
2
!
w
T
Q
ww
!
w
+(!
w
kT
Q
ww
!e
w
T
)!w
y
w
T
!
w
= !y
w
T
!
w
0 "!
w
" Ce
w
w !
k+1
=
w !
kk
!f (!) = "e !f (!
k+1
) = !f (!
k
) + Q
i
(
i"W
k
#
!
k+1
$!
k
)
!f (!
k
)
i
y
i
"!f (!
k
)
j
y
j
< 0
W
3
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
vericano le KKT. Si denisce 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 q
1
=q/2 indici in R(!
k
)
dopo averli ordinati in modo che le etichette siano disposte in modo crescente e
q
2
=q/2 indici in S(!
k
) dopo un ordinamento decrescente.
W
k
={i
1
,,i
q
1,j
1
,..j
q
2}. Si scelgono coppie di indici (i
h
,j
h
) R(!
k
) x S(!
k
) scegliendo
ordinatamente h=1,2,..,q/2. Lalgoritmo convergente.
m(!
k
) = {max! y
i
"f (!
k
)
i
} # {min! y
i
"f (!
k
)
i
} = M(!
k
)
R(!) = {i : !
i
< C, y
i
= +1)!{i : 0 <!
i
, y
i
= +1}
S(!) = {i : !
i
< C, y
i
= "1)!{i : 0 <!
i
, y
i
= "1}
ln 8 ln S
6
esempio
Siano date le coppie (x
i
, y
i
), i = 1, . . . , 5:
X
1
=(1,0,0)
T
y
1
=-1

X
2
=(0,1,0)
T
y
2
=-1

X
3
=(0,0,1)
T
y
3
=-1

x
4
=(0.1,0.1,0.1)
T
y
4
=-1

x
5
=(0,0,0)
T
y
5
=+1
Kernel lineare, C=100
roblema da rlsolvere
min
1
2
!
1
!
2
!
3
!
4
!
5
!
"
#
#
#
#
#
#
$
%
&
&
&
&
&
&
T
1 0 0 0.1 0
0 1 0 0.1 0
0 0 1 0.1 0
0.1 0.1 0.1 0.03 0
0 0 0 0 0
!
"
#
#
#
#
#
#
$
%
&
&
&
&
&
&
!
1
!
2
!
3
!
4
!
5
!
"
#
#
#
#
#
#
$
%
&
&
&
&
&
&
' !
i
i=1
5
(
!!
1
!!
2
!!
3
!!
4
+!
5
= 0
min f (!) =
1
2
!
T
Q! !e
T
!
y
T
! = 0
0 !! ! C
0 < o < 100
7
esempio
min
1
2
!
1
!
2
!
3
!
4
!
5
!
"
#
#
#
#
#
#
$
%
&
&
&
&
&
&
T
1 0 0 0.1 0
0 1 0 0.1 0
0 0 1 0.1 0
0.1 0.1 0.1 0.03 0
0 0 0 0 0
!
"
#
#
#
#
#
#
$
%
&
&
&
&
&
&
!
1
!
2
!
3
!
4
!
5
!
"
#
#
#
#
#
#
$
%
&
&
&
&
&
&
' !
i
i=1
5
(
!!
1
!!
2
!!
3
!!
4
+!
5
= 0
0 < o < 100
Problema da risolvere
!f (!) = "e ! = 0
{&y
h
(f(!
0
)
h
}, h=1...,5 = (&1, & 1, & 1, & 1, 1)
T

R(!) = {i : !
i
< C, y
i
= +1)!{i : 0 <!
i
, y
i
= "1}
S(!) = {i : !
i
< C, y
i
= "1)!{i : 0 <!
i
, y
i
= +1}
&!1 + !5 = 0
0 % ! % 100
min
1
2
!
1
!
5
!
"
#
#
$
%
&
&
T
1 0
0 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
noLa
Support Vector Machines
Errata corrige (ottobre 2010)
a cura di L. Palagi
degli Appunti delle Lezioni
tenute nella.a. 2005-06 da Marco Sciandrone
1. pagina 35: il problema (70) `e in eetti il seguente
min q(
i
,
j
) =
1
2


i

j

q
ii
q
ij
q
ji
q
jj

h=i,j
(q
ih

i
+ q
jh

j
)
h

j
y
i

i
+ y
j

j
=

h=i,j
y
h

h
0
h
C h = i, j
2. pag 43 problema (78)
min
1
2

Q + c

y
1

1
+ y
2

2
= b
0
i
C i = 1, 2.
dove c = Q
W,

W

W
e, b = y
T
w

W
.
3. pag 43 nella denizione del passo massimo

si suppone che ciascuna d
i
abbia modulo
unitario
4. pag 44: d

= d
+
min
1
2
!
1
!
5
!
"
#
#
$
%
&
&
T
1 0
0 0
!
"
#
$
%
&
!
1
!
5
!
"
#
#
$
%
&
&
&!1 + !5 = 0
0 % ! % 100
ln eem, conslderando l'algorlLmo dl
decomposlzlone come e sLaLo denlLo,
alle lLerazlonl successlve alla prlma
bl sogna consl derare l l seguenLe
souoproblema
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). W
1
={1,2}. Si procede
in questo modo.




k o
k1
[-y
h
f(o
k
)
h
} h=1...,3 8(o
k
) S(o
k
) (l,[)
k

0 (0, 0, 0, 0, 0) (-1, -1, -1, -1, 1) [3} [1,2,3,4} (3,1)
1 (2, 0, 0, 0, 2) (1, -1, -1, -0.8, 1) [1,3} [1,2,3,4,3} (1,2)
2 (1, 1, 0, 0, 2) (0, 0, -1, -0.8, 1) [1,2,3} [1,2,3,4,3} (3,3)
3 (1, 1, 2, 0, 4) (0, 0, 1, -0.6, -1) [1,2,3,3} [1,2,3,4,3} (3,3)
!f (!
1
) = !f (!
0
) +Q
1
(!
1
1
"!
1
0
) +Q
5
(!
5
1
"!
5
0
) =
"1
"1
"1
"1
"1
#
$
%
%
%
%
%
%
&
'
(
(
(
(
(
(
+2
1
0
0
0.1
0
#
$
%
%
%
%
%
%
&
'
(
(
(
(
(
(
+2
0
0
0
0
0
#
$
%
%
%
%
%
%
&
'
(
(
(
(
(
(
=
+1
"1
"1
"0.8
"1
#
$
%
%
%
%
%
%
&
'
(
(
(
(
(
(
10

Trovato l!
*
possibile determinare liperpiano

con



b risolvendo


H = x ! R
n
: w
T
x +b = 0
{ }
!*
i
i=1
l
!
y
i
(w
T
x
i
+b) "1
#
$
%
&
= 0
w = !*
i
i=1
l
!
y
i
x
i
w
T
x +b !1
w
T
x +b " #1
x
l
A
x
[
8
Se sl vuole
classlcare un
nuovo veuore x lo sl
sosuLulsce
nell'lperplano.

x
x apparLerra ad A se verlca la prlma dlsequazlone, a 8 alLrlmenu
esempio
11