Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Pichierri Natalia SVM Classification
1. SVM
Classificazione e Algoritmi
Ing
Pichierri
Natalia
1
Email:
nataliapichierri@libero.it
2. xi ∈ Rn
Si considerano l osservazioni in cui ogni osservazione è una coppia ed
un’etichetta yi ∈{−1,1}
il cui valore indica l’appartenenza ad una classe (si
considerano solo 2 classi). Si definisce MACCHINA PER L’APPRENDIMENTO una
n
macchina deterministica, ovvero un insieme di funzioni f (α ) : R→ {−1,1}
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).
∃H = x ∈ Rn :wT { x + b = 0}
∃w ∈ Rn b ∈ R
Considerati due insiemi disgiunti A e B in Rn l.s.
detto IPERPIANO di SEPARAZIONE per cui tutti i punti xi ∈ A
appartengono ad un
semipiano, quelli di B all’altro. Ciò significa che e tc
wT xi + b ≥ 1, ∀xi ∈ A
wTxj +b≤−1, ∀xj ∈ B
2
3. 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
1
2
lΣ
|| w ||2 − αi
i=1
yi (wT xi + b)−1 #$
%&
min
1
2
|| w ||2
lΣ
w = αi
i=1
yixi
αi
lΣ
i=1
yi = 0
αi
≥ 0, i =1,..., l
3
4. 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
lΣ
C ξ i
i=1
2) Se A e B sono separabili mediante superfici non lineari si definisce il Kernel
(polinomiale, Gaussiano, ...)
Nella CLASSIFICAZIONE
con α ∈ Rl
min f (α ) =
1
2
αTQα − eTα
yTα = 0
0 ≤α ≤ C
e ∈ Rl vettore di l 1
C scalare positivo
qij=yiyj k(xi, xj) elemento generico della matrice Q (l xl )
4
5. Decomposizione
k ,α w
α w
k
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
W
Si dovrà risolvere
min f (α ) =
1
2
TQwwαw +(αw
αw
kTQww − ew
T )αw
Tαw = −yw
yw
Tαw
0 ≤αw ≤ Cew
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
Σ α k+1 −α k )
∇f (α°) = −e ∇f (α k+1) = ∇f (α k )+ Qi (
In genere, si parte da α°= 0 a cui corrisponde
e
Se il Working Set è di soli 2 indici è SMO (Sequential Minimal Optimization)
w α k+1 = w α k
i∈Wk
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
∇f (α k )i yi −∇f (α k ) j yj < 0
W
5
6. SVM light
αk sarà PUNTO OTTIMO se e solo se
con
m(α k ) = {max− yi∇f (α k )i} ≤ {min− yi∇f (α k )i} = M(α k )
R(α ) = {i : αi
in
R
< C, yi = +1)∪{i : 0 < αi
, yi = +1}
S(α ) = {i : αi
< C, yi = −1)∪{i : 0 < αi
, yi = −1}
in
S
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.
6
8. esempio
Problema da risolvere
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
######
"
$
&&&&&&
%
5Σ
− α i
i=1
−α1 −α2 −α3 −α4 +α5 = 0
0
≤
α
≤
100
α° = 0 ∇f (α°) = −e
{−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}
##
T
&&
−α1 + α5 = 0
0 ≤ α ≤ 100
min
1
2
α1
α5
!
"
$
%
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
9. Nota
Errata corrige (ottobre 2010)
T
a cura di L. Palagi
&&
##
&&
degli 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
′
α
min
1
2
α1
α5
!
"
$
%
1 0
0 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
il
seguente
soOoproblema
9
10. esempio
Il gradiente risulta
∇f (α1) = ∇f (α 0 )+Q1(α1
1 −α1
1 −α5
0 )+Q5(α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
#
%%%%%%
$
((((((
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)
&
'
10
11. esempio
Trovato l’α* è possibile determinare l’iperpiano
con
b risolvendo
H = {x ∈ Rn :wT x + b = 0}
lΣ
lΣ
α *i
i=1
yi (wT xi + b)−1 #$
%&
= 0
w = α *i
i=1
yixi
wT x + b ≥1
wT 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_
11