Vous êtes sur la page 1sur 23

1

1 Vittorio Maniezzo Universit di Bologna


Support
Vector
Machines
introduzione
7 77 7
SVM SVM SVM SVM - -- - introduzione introduzione introduzione introduzione
Le SV machines sono state sviluppate negli AT&T Bell Laboratories da
Vapnik e colleghi (Boser et al., 1!, "u#on et al., 1$, %ortes and
Vapnik, 1&, Sch'lkop( et al., 1&, Vapnik et al., 1)*.
+ato il contesto industriale, la ricerca sulle SV, ha (inora avuto una
decisa inclina-ione applicativa.
.rimi lavori relativi a/
0%1 (optical character recognition, dove in breve le SV,
divennero competitive con i migliori metodi per problemi di 0%1*,
riconoscimento di oggetti 2Blan- et al., 134,
indenti(ica-ione di oratori (Schmidt, 13*,
identi(ica-ione di (acce in immagini (0suna, et al. 1)*
classi(ica-ione di testi (5oachims, 1)*.
Vittorio Maniezzo Universit di Bologna
2
2
SVM SVM SVM SVM - -- - introduzione introduzione introduzione introduzione
L6algoritmo Support Vector, alla base delle SV,, 7 in realt8
una generali--a-ione dell6algoritmo "enerali-ed .ortrait
sviluppato in 1ussia (Vapnik and Lerner, 13$, Vapnik and
%hervonenkis, 139*.
:6 in;uadrabile nella statistical learning theory, o teoria di
Vapnik < %hervonenkis (Vapnik, %hervonenkis 1)9, Vapnik
1=!, 1&*.
:ssen-ialmente, la teoria V% caratteri--a le propriet8 di
algoritmi di apprendimento che permettono loro di
generali--are a dati nuovi elementi appresi in preceden-a.
Vittorio Maniezzo Universit di Bologna 3
SVM SVM SVM SVM - -- - inroduzione inroduzione inroduzione inroduzione
>na SV, 7 un classi(icatore binario che apprende il con(ine (ra esempi
appartenenti a due diverse classi.
?un-iona proiettando gli esempi in uno spa-io multidimensionale e
cercando un iperpiano di separa-ione in ;uesto spa-io.
L6iperpiano di separa-ione massimi--a la sua distan-a (il @margineA*
dagli esempi di training piB vicini.
.ropriet8 generali delle SV,/
improbabile l6over(itting,
capacit8 di gestire dati con molte caratteristiche descrittive,
compattamento dell6in(orma-ione contenuta nel data set in
input.
Vittorio Maniezzo Universit di Bologna 4
3
Classificazione Classificazione Classificazione Classificazione
Cel caso di classi(ica-ione di dati appartenenti a due sole classi, il
processo di apprendimento puD essere (ormulato come segue/ dato
un insieme di (un-ioni di soglia
{f

(x): }, f

: R
N
{-1, +1}
dove 7 un insieme di parametri reali, e dato un insieme di esempi
preclassi(icati/
(x
1
,y
1
), , (x
l
,y
l
), x
i
R
N
, y
i
{-1, +1}
presi da una distribu-ione sconosciuta .(E,#*, si vuole trovare una
(un-ione f

F che minimi--i lGerrore teorico/


R() = |f

(x)-y| P(x,y) dx dy
Vittorio Maniezzo Universit di Bologna 5
Errore teorico Errore teorico Errore teorico Errore teorico
LGinsieme di parametri reali genera una macchina in grado
di risolvere un particolare problema (ad esempio puD
corrispondere ai pesi delle sinapsi di una rete neurale*.
Le (un-ioni f

sono chiamate ipotesi, e lGinsieme Hf

(x): I
viene chiamato spa-io delle ipotesi e si indica con J.
LGerrore teorico rappresenta una misura di ;uanto sia buona
unG ipotesi nel predire la classe y
i
di un punto x.
LGinsieme delle (un-ioni puD essere ad esempio un insieme
di 1adial Basis ?unctions o un ,ulti<la#er .erceptron con un
certo numero di unit8 nascoste.
Vittorio Maniezzo Universit di Bologna 6
4
Errore empirico Errore empirico Errore empirico Errore empirico
La distribu-ione di probabilit8 .(E,#* non 7 nota, ;uindi non
7 possibile calcolare lGerrore teorico R()K tuttavia 7
disponibile un campione di .(E,#*, il training set/ si puD
calcolare unGapprossima-ione di R(), lGerrore empirico
R
emp
()/
La legge dei grandi numeri garantisce che lGerrore empirico
converge in probabilit8 allGerrore teorico, per cui si cerca di
minimi--are lGerrore empirico piuttosto che ;uello teorico.
Vittorio Maniezzo Universit di Bologna 7
Dimensione VC Dimensione VC Dimensione VC Dimensione VC
La dimensione V% dello spa-io di ipotesi J (o la dimensione
V% del classi(icatore f

* 7 un numero naturale che


corrisponde al piB grande numero di punti che possono
essere separati in tutti i modi possibili dallGinsieme di
(un-ioni f

.
%io7, dato un insieme di l punti, se per ognuna delle 2
l
possibili classi(ica-ioni (<1,L1* esiste una (un-ione Hf

I che
assegna correttamente le classi, allora si dice che lGinsieme
di punti viene separato dallGinsieme di (un-ioni.
La dimensione V% 7 una misura della complessit8
dellGinsieme J.
Vittorio Maniezzo Universit di Bologna 8
5
Dimensione VC ottima Dimensione VC ottima Dimensione VC ottima Dimensione VC ottima
La teoria della convergen-a uni(orme in probabilit8,
sviluppata da Vapnik e %hervonenkis, (ornisce anche un
limite alla devia-ione dellGerrore empirico dallGerrore
teoricoK (issato con M1 vale la seguente
disuguaglian-a/
(1*
dove h 7 la dimensione V% di f

.
Vittorio Maniezzo Universit di Bologna 9
Mimimizzazione dellerrore teorico Mimimizzazione dellerrore teorico Mimimizzazione dellerrore teorico Mimimizzazione dellerrore teorico
.er ottenere lGerrore teorico minimo, bisogna minimi--are sia
lGerrore empirico sia il rapporto tra la dimensione V% e il
numero di punti (h/l*.
LGerrore empirico 7 solitamente una (un-ione decrescente di h,
;uindi, per ogni dato numero di punti, esiste un valore
ottimale della dimensione V% (trade<o(( R
emp
e h/l*.
LGalgoritmo SV, risolve e((icacemente ;uesto problema
minimi--ando contemporaneamente la dimensione V% e il
numero di errori sul training set
Vittorio Maniezzo Universit di Bologna 10
6
1) Classificatore lineare su dati 1) Classificatore lineare su dati 1) Classificatore lineare su dati 1) Classificatore lineare su dati
linearmente separabili linearmente separabili linearmente separabili linearmente separabili
Npotesi/ insieme di dati linearmente separabili. Si vuole trovare il miglior
iperpiano che li separa.
>n insieme di dati 7 linearmente separabile, ;uando 7 possibile trovare
una coppia (O,b* tale che/
w x
i
+b +1 x
i
Classe 1 (3)
w x
i
+b -1 x
i
Classe 2 (4)
Lo spa-io delle ipotesi in ;uesto caso 7 (ormato dallGinsieme di (un-ioni/
h = f
w,b
= sign(w x + b) (5)
(sign: dicriminatore binario: +/-, 0/1, vero/falso, )
Vittorio Maniezzo Universit di Bologna 11
Separazione lineare (percettrone) Separazione lineare (percettrone) Separazione lineare (percettrone) Separazione lineare (percettrone)
w
x
i
h 0
h 0
Vittorio Maniezzo Universit di Bologna 12
7
otazione otazione otazione otazione
Spa-io di input/ x X
Spa-io di output/ y Y = {-1, +1}
Npotesi/ h H (spesso anche f(x))
?un-ioni reali/ f: X R
Training set/ S = {(x
1
,y
1
), , (x
l
,y
l
), }
:rrore su un dato di test/
.rodotto vettoriale/ xPy
Vittorio Maniezzo Universit di Bologna 13
!!"!! !!"!! !!"!! !!"!!
La distan-a tra un punto E e lGiperpiano associato alla coppia
(O,b* 7/
(*
La distan-a tra lGiperpiano (O,b* e il piB vicino punto
dellGinsieme di dati 7 (un-ione di 1QRRORR.
Vittorio Maniezzo Universit di Bologna 14
8
#perpiani e ipersfere #perpiani e ipersfere #perpiani e ipersfere #perpiani e ipersfere
Si considerano solo gli iperpiani che non intersecano nessuna delle
sfere di raggio 1/A centrate sui punti dellinsieme di dati: questo
riduce il numero possibile di iperpiani da considerare.
Se si impone che ||w||A la distanza delliperpiano dal punto
pi vicino deve essere maggiore di 1/A.
Vittorio Maniezzo Universit di Bologna 15
!!"!! !!"!! !!"!! !!"!!
$ $$ $
Se i dati sono linearmente separabili, lo scopo dellGSV, 7 di
trovare tra tutti gli iperpiani che classi(icano correttamente
il training set ;uello che ha norma minima (RRORR
!
minima*,
cio7 margine massimo rispetto ai punti del training set.
,antenere ;uesta norma piccola ha come conseguen-a
;uella di mantenere anche la dimensione V% piccola
Vittorio Maniezzo Universit di Bologna 16
9
Esempio Esempio Esempio Esempio
Le classi dei cerchi e dei ;uadrati sono separate dal piano
tratteggiato con un margine piccolo (a*, o grande (b*.
Cel caso (b* ci si aspetta un minor rischio di over(itting (migliore
generali--a-ione*.
Vittorio Maniezzo Universit di Bologna 17
Ma% mar&ine Ma% mar&ine Ma% mar&ine Ma% mar&ine
LGiperpiano ottimo 7 ;uello che massimi--a il margine, cio7 la distan-a
tra se stesso e i punti piB vicini dellGinsieme di dati.
.er costruire lGiperpiano ottimo, bisogna classi(icare correttamente i
punti del training set nelle due classi y
i
H<1,1I usando la piB piccola
norma di coe((iciente O.
Nl problema puD essere (ormulato come segue/
,inimi--are
(w) = ||w||
2
(10)
con O,b soggetti al vincolo
y
i
(w x
i
+ b) 1, i = 1, , l (11)
Vittorio Maniezzo Universit di Bologna 18
10
'a&ran&iana 'a&ran&iana 'a&ran&iana 'a&ran&iana
Suesto problema si puD risolvere con la tecnica dei moltiplicatori di
Lagrange in cui si introduce un moltiplicatore per ogni vincolo imposto
della (11*
La lagrangiana del problema 7/
(1!*
in cui T(U
1
U
l
* 7 il vettore dei moltiplicatori di Lagrange non negativi
relativi ai vincoli imposti dalla (11*.
La lagrangiana deve essere minimi--ata rispetto a O e b e
contemporaneamente massimi--ata rispetto a VWM.
Vittorio Maniezzo Universit di Bologna 19
'a&ran&iana 'a&ran&iana 'a&ran&iana 'a&ran&iana
+i((eren-iando la (1!* e impostando il risultato uguale a -ero si
ottiene/
(1$*
(19*
+allGe;ua-ione (1$* si ottiene/
(1&*
Vittorio Maniezzo Universit di Bologna 20
11
(orma )uadratica (orma )uadratica (orma )uadratica (orma )uadratica
LGiperpiano ottimo puD essere scritto come una
combina-ione lineare dei vettori del training set/
w* =
i

i
* y
i
x
i
= *yx

f(x) = w*x + b T *yxx + b


N dati appaiono solo allGinterno di prodotti vettoriali.
La (un-ione da ottimi--are 7 una (un-ione ;uadratica.
Vittorio Maniezzo Universit di Bologna 21
'a&ran&iana 'a&ran&iana 'a&ran&iana 'a&ran&iana
Sostituendo la (1&* e la (19* nella (1!* si puD ;uindi ri(ormulare il
problema ini-iale in una (orma piB semplice/
massimi--are
(13*
soggetta ai vincoli
(1)*
(1=*
Cel problema cosX ri(ormulato i vincoli imposti dalla (11* sono
sostituiti da vincoli sui moltiplicatori e i vettori del training set
appaiono solamente nella (orma di prodotti interni tra vettori.
Vittorio Maniezzo Universit di Bologna 22
12
Support *ector Support *ector Support *ector Support *ector
La risolu-ione della (13* con i vincoli (1)* e (1=* determina i moltiplicatori .
LGiperpiano ottimo 7 dato dalla (1&*
Nl classi(icatore 7 dato da/
(!!*
per ogni vettore x
i
Cella solu-ione, tutti i punti Ei per cui il corrispondente moltiplicatore
i
7
strettamente maggiore di -ero vengono detti support vector e si trovano su uno
dei due iperpiani J1, J! del lucido seguente.
Tutti gli altri punti del training set hanno il corrispondente
i
uguale a -ero e non
in(luen-ano il classi(icatore.
N support vector sono i punti critici del training set e sono i piB vicini
allGiperpiano di separa-ioneK se tutti gli altri punti venissero rimossi o spostati
sen-a oltrepassare i piani su J1 e J! e lGalgoritmo di apprendimento venisse
ripetuto, darebbe esattamente lo stesso risultato.
Vittorio Maniezzo Universit di Bologna 23
$) Classificatore lineare su dati non $) Classificatore lineare su dati non $) Classificatore lineare su dati non $) Classificatore lineare su dati non
linearmente separabili linearmente separabili linearmente separabili linearmente separabili
.iano separatore per un insieme di punti non linearmente separabiliK il
piano ha distan-a b/||w|| dall6origine e viene determinato dai support
vector (i punti cerchiati*
Nl punto in posi-ione anomala e dista -/||w|| dalla sua classe.
Vittorio Maniezzo Universit di Bologna 24
13
Dati linearmente non separabili Dati linearmente non separabili Dati linearmente non separabili Dati linearmente non separabili
:sistono punti in posi-ione anomala rispetto agli altri punti della
stessa classe. Si considera una costante di scarto tanto maggiore
;uanto piB lontani sono i punti anomali.
La (11* diventa ;uindi/
y
i
(w x
i
+ b) 1 -
i
,
i
0 i = 1, , l
Nl vincolo ora ammette una certa tolleran-a (
i
* agli errori.
.erchY un punto del training set venga mal classi(icato, il
corrispondente
i
deve superare lGunit8

i

i
7 un limite superiore al numero massimo di errori
possibili sul training set.
Vittorio Maniezzo Universit di Bologna 25
Dati linearmente non separabili Dati linearmente non separabili Dati linearmente non separabili Dati linearmente non separabili
Nl problema puD essere ;uindi ri(ormulato cosX/
,inimi--are
(!$*
con w, b e vincolati da/
y
i
(w x
i
+ b) 1 -
i
,
i
0 i = 1, , l (!9*
dove % e k sono parametri che devono essere determinati a priori/ ad
un alto valore di % corrisponde unGalta penalit8 dovuta agli errori.
Nn pratica lGalgoritmo SV, cerca di minimi--are RRORR e allo stesso
tempo separare i punti dati, commettendo il minimo numero di errori
possibile.
Vittorio Maniezzo Universit di Bologna
26
14
Dati linearmente non separabili Dati linearmente non separabili Dati linearmente non separabili Dati linearmente non separabili
La solu-ione al problema di ottimi--a-ione dato dalla (!$* con vincoli (!9* si
trova nello stesso modo che per il caso linearmente separabile.
La lagrangiana del problema 7 la seguente/
(!&*
Nn cui i moltiplicatori =(
1

l
), =(
1

l
) sono associati ai vincoli (!9*.
Suesta deve essere minimi--ata rispetto a O, b, e massimi--ata rispetto a WM
e WM.
Supponendo kT1 per sempli(icare i calcoli, si arriva ad una ri(ormula-ione del
problema simile alla (13*/
maE (!3*
soggetta ai vincoli/ 0
i
C, i = 1, , l.
Vittorio Maniezzo Universit di Bologna 27
Dati linearmente non separabili Dati linearmente non separabili Dati linearmente non separabili Dati linearmente non separabili
La solu-ione del problema (!3* 7 identica a ;uella del caso
separabile tranne per il vincolo sui moltiplicatori che adesso
sono limitati superiormente da %.
Nl classi(icatore 7 /
(!*
Vittorio Maniezzo Universit di Bologna 28
15
+) Classificatore non lineare +) Classificatore non lineare +) Classificatore non lineare +) Classificatore non lineare
Le due classi rappresentate dai cerchi e dai quadrati nello spazio
di input non sono linearmente separabili ma attraverso la funzione
i punti vengono mappati in uno spazio in cui diventano
linearmente separabili
Vittorio Maniezzo Universit di Bologna 29
Esempio, le due spirali Esempio, le due spirali Esempio, le due spirali Esempio, le due spirali
Esiste un iperpiano nello spazio delle caratteristiche per cui i dati
sono linearmente separabili.
Vittorio Maniezzo Universit di Bologna 30
16
Esempio, le due spirali Esempio, le due spirali Esempio, le due spirali Esempio, le due spirali
x
x
x
x
x
x
x
x
x
x
x
x
o
o
o
o
o
o
o
o
o
o
o
o
o

(x)
(x)
(x)
(x)
(x)
(x)
(x)
(o)
(o)
(o)
(o)
(o)
(o)
(o)
Vittorio Maniezzo Universit di Bologna 31
(unzione di -ernel (unzione di -ernel (unzione di -ernel (unzione di -ernel
Supponiamo di mappare i dati ini-iali non linearmente
separabili in uno spa-io di dimensione superiore usando una
(un-ione di mapping Z/ R
d
Hin cui essi siano linearmente
separabili.
Nn ;uesta situa-ione lGalgoritmo di apprendimento dipende dai
dati solamente tramite il prodotto delle loro immagini
attraverso Z in J, cio7 tramite (un-ioni della (orma
(x
i
)(x
j
).
>no spa-io di dimensione maggiore causa perD seri problemi
di calcolo, perchY lGalgoritmo di apprendimento deve lavorare
con vettori di grandi dimensioni.
Vittorio Maniezzo Universit di Bologna 32
17
.ernel .ernel .ernel .ernel
.er ovviare a ;uesto problema si puD introdurre una (un-ione
[ernel che restituisce il prodotto delle immagini dei suoi due
argomenti, K(x
i
, x
j
) = (x
i
)(x
j
)/ 7 possibile evitare di
eseguire il prodotto esplicito tra le immagini dei vettori.
>na (un-ione kernel 7 ;uindi una (un-ione che ritorna il
valore del prodotto interno (ra le immagini di due argomenti/
K(x
i
, x
j
) = (x
i
)(x
j
)
Suindi 7 possibile sostituire [ allGinterno dellGalgoritmo e
ignorare la (orma esplicita di Z.
Vittorio Maniezzo Universit di Bologna 33
Matrice -ernel Matrice -ernel Matrice -ernel Matrice -ernel
:G una rappresenta-ione matriciale della (un-ione di kernel
(argomenti/ gli m vettori di apprendimento*/
[ T
%ontiene tutte le in(orma-ioni necessarie per lGapprendimento.
1iassume in(orma-ioni sui dati e sul kernel.
:G simmetrica, de(inita positiva (in(atti ogni matrice simmetrica
de(inita positiva puD essere interpretata come matrice di kernel,
cio7 prodotto interno di due vettori*.
K(1,1) K(2,1) K(3,1) K(m,1)
K(1,2) K(2,2) K(3,2) K(m,2)
K(1,m) K(2,1) K(3,m) K(m,m)
Vittorio Maniezzo Universit di Bologna
34
18
/ncora linearit0 1 /ncora linearit0 1 /ncora linearit0 1 /ncora linearit0 1
Sostituendo x
i
x
j
con K(x
i
,x
j
) ovun;ue nellGalgoritmo, si genera una
Support Vector ,achine che @lavoraA in J e (ornisce il risultato nella
stessa ;uantit8 di tempo che impiegherebbe se lavorasse con i dati
originali non mappati.
Tutte le considera-ioni (atte nei precedenti lucidi sono ancora valide
perchY si sta costruendo un classi(icatore lineare, ma in uno spa-io
di((erente.
Nn pratica lGestensione a super(ici di decisione complesse avviene in
una maniera abbastan-a semplice, mappando la variabile in input E in
uno spa-io di dimensione maggiore e lavorando poi con una
classi(ica-ione lineare in ;uesto nuovo spa-io.
Vittorio Maniezzo Universit di Bologna 35
Classificatore non lineare Classificatore non lineare Classificatore non lineare Classificatore non lineare
>n punto E viene mappato in un vettore di @(eatureA tramite la (un-ione Z/
x (x) = (a
1

1
(x), a
2

2
(x), ) (!9*
dove gli a
i
sono numeri reali e le
i
sono (un-ioni reali.
?atto ciD, si applica lo stesso algoritmo del caso non separabile sostituendo la
variabile E con un nuovo vettore di (eature Z(E*.
La (un-ione di decisione con il mapping (!9* diventa ;uindi/
(!&*
Sostituendo i prodotti scalari (x
i
)(x
j
) con una (un-ione [ernel/
(!3*
si ottiene/
(!)*
Vittorio Maniezzo Universit di Bologna 36
19
Esempio Esempio Esempio Esempio
Supponiamo xR
2
e K(x
i
, x
j
) = (x
i
x
j
)
2
Nn ;uesto caso uno spa-io J e un mapping : R
2
J tale che (x
i
x
j
)
2
=
(x
i
)(x
j
) sono dati da J T R
3
e
in(atti
Vittorio Maniezzo Universit di Bologna 37
Esempio (cont2) Esempio (cont2) Esempio (cont2) Esempio (cont2)
Limmagine di pu esistere in uno spazio anche di dimensione
infinita, ma solo una superficie, anche se molto contorta, la cui
dimensione intrinseca, il numero di parametri necessari per
specificare un punto, la stessa dello spazio di appartenenza dei
vettori x.
Vittorio Maniezzo Universit di Bologna
38
20
3ipi di -ernel 3ipi di -ernel 3ipi di -ernel 3ipi di -ernel
La (un-ione [ernel va scelta accuratamente per un tipo di problema/ 7
sempre possibile mappare lGinput in uno spa-io di dimensione
maggiore del numero di punti del training set e produrre un
classi(icatore per(ettoK tuttavia ;uesti generali--erebbe malissimo su
dati nuovi, per via dellGover(itting.
Tipi di [ernel comunemente usati sono i seguenti/
Lineare
.olinomiale
1adial Basis (unction
"aussian 1adial Basis (unction
,ulti<La#er .erceptron
Vittorio Maniezzo Universit di Bologna 39
Modularit0 Modularit0 Modularit0 Modularit0
>na SV, 7 composta da due moduli/
un modulo generale di apprendimento
una (un-ione di kernel speci(ica per il problema da
a((rontare
Sualsiasi SV, puD operare con ;ualsiasi kernel
Vittorio Maniezzo Universit di Bologna 40
21
Esempio di classificazione , #4#S data Esempio di classificazione , #4#S data Esempio di classificazione , #4#S data Esempio di classificazione , #4#S data
LGiris data set contiene ;uattro attributi del (iore dellGiris, lo
scopo 7 ;uello di individuare la classe di appartenen-a di un
iris basandosi su ;uesti ;uattro attributi.
.er semplicit8 considero solo i due attributi che portano
maggior in(orma-ione riguardo alla classe di appartenen-a/
la lunghe--a e la larghe--a del petalo.
La distribu-ione dei dati 7/
Vittorio Maniezzo Universit di Bologna 41
SVM lineare SVM lineare SVM lineare SVM lineare
Le classi Setosa e Versicolor vengono separate facilmente da
un classificatore lineare
Vittorio Maniezzo Universit di Bologna 42
22
5olinomiale (&rado $6 C7 5olinomiale (&rado $6 C7 5olinomiale (&rado $6 C7 5olinomiale (&rado $6 C7 ) )) )
Vittorio Maniezzo Universit di Bologna 43
5olinomiale (&rado 186 C7 5olinomiale (&rado 186 C7 5olinomiale (&rado 186 C7 5olinomiale (&rado 186 C7 ) )) )
Overfitting !!
Vittorio Maniezzo Universit di Bologna 44
23
49( ( 49( ( 49( ( 49( ( 7128 C7 7128 C7 7128 C7 7128 C7 ) ) ) )
Vittorio Maniezzo Universit di Bologna 45
5olinomiale (&rado $6 C718) 5olinomiale (&rado $6 C718) 5olinomiale (&rado $6 C718) 5olinomiale (&rado $6 C718)
Vittorio Maniezzo Universit di Bologna 46

Vous aimerez peut-être aussi