Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni –...

54
Support Vector Machines

Transcript of Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni –...

Page 1: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Support Vector Machines

Page 2: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Agenda

Alcuni richiami matematici– vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione

Generalità sulle SV– Il problema e alcune definizioni: margini di un iperpiano,

iperpiano canonico– due ragioni di carattere teorico per supportare la validità

delle SVM– La formulazione del programma (matematico) per la

soluzione al problema

Page 3: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Premessa

Considereremo punti o vettori su

Per facilità di rappresentazione faremo quasi sempre riferimento a R2

In R2 (geometricamente, nel piano) i punti sono rappresentati da coppie ordinate (x1, x2) di numeri reali (coordinate)

Tali punti sono facilmente rappresentabili attraverso segmenti orientati, caratterizzati da:

– direzione, verso, lunghezza

w

P

RxRx…xR = Rn

n volte

Page 4: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Vettori in R2

Sull’insieme di questi punti possiamo eseguire due operazioni fondamentali

– Addizione

– Moltiplicazione per un numero reale (riscaliamo il punto! )

Alcuni concetti utili per iniziare

P: (x1,x2)Q: (x3,x4)

P+Q: (x1+x3,x2+x4)

2P: (2x1,2x2)

P: (x1,x2)

- P: (-x1,-x2)

Page 5: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Il prodotto interno in Rn

Il prodotto interno tra due vettori in Rn è il numero reale

– Alcune proprietà

Alcuni concetti utili per iniziare

∑=

=⋅≡n

iii yx

1

', yxyx

0, .4

,yx, e ,yx, .3

,,zyx, e ,,zy,x .2

,, .1

==

+=++=+

=

xx

yxyx

zxyxzyzx

xyyx

λλλλ

Page 6: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

La norma in Rn

La norma di un vettore in Rn (o anche modulo, lunghezza) è il numero reale non negativo

– Alcune proprietà

Vettore unitario

∑=

=⋅≡n

iiixxxx

12

'x

Alcuni concetti utili per iniziare

||x|| 0xx

xx

yxyx

≠>=

+≤+

se 0|||| 3. |||||||| .2

|||||||||||| .1λλ

||||w

w 0w ≠se

Page 7: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Norma e prodotto interno

Geometricamente l’angolo sotteso da due vettori in R2 è dato da:

22 ||||||||

,cos

yx

yx=ϑ

ϑ

xxxxxxn

iii ,'

12

==⋅≡ ∑=

x

Page 8: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Proiezione di un vettore

ϑ

v

Proiezione di v su u

u

)cos||(|| ϑvu =v

uv

Page 9: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Nota

ϑ

v

u

v

u

ϑv

u

0, 90 == uvϑ

0, 90 >< uvϑ 0, 90 <> uvϑ

ϑ

Page 10: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Rette e iperpiani

Una retta r che passa per l’origine in R2 può essere definita assegnando un vettore w = (w1, w2)’ ad essa ortogonale

Tutti i punti (vettori)

x = (x1,x2)

sulla retta sono ortogonali a w Quindi

ww

wwx

0', 2211 =+=>=< xwxwxwxw

Alcuni concetti utili per iniziare

Page 11: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Iperpiano in R2

Alcuni concetti utili per iniziare

w

Un iperpiano h in R2

con il vettore w ad essoortogonale

Nota: tutti i punti su h sono tali che <x, w> = 0

h

x0

x

Page 12: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Iperpiano in R2

w

h

x0

x

Nota: l’iperpiano determina 2 semispazi !

Page 13: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Punti linearmente separabili

Alcuni concetti utili per iniziare

classificatore

Classe +1

Classe -1

Page 14: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Iperpiani in Rn

Generalizziamo in più dimensioni (nello spazio euclideo !):

– ogni iperpiano h (di dimensione (n-1)) che passa per l’origine di Rn è caratterizzato dall’equazione

– Se l’iperpiano non passa per l’origine

– Un iperpiano è quindi un insieme di punti espresso in questo modo

0, >=< xw

}0,|{ =+>< bxwx

0, =+>< bxw

Alcuni concetti utili per iniziare

Page 15: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Nota...

I vettori sull’iperpiano si proiettano tutti nello stesso punto I punti da un lato dell’iperpiano sono tali che

I punti dall’altro lato sono tali che

w

x

h

0, >+>< bxw

0, <+>< bxw

Page 16: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Generalità sulle SVM

Classe di metodi che– sulla base di argomentazioni teoriche derivanti

dalla “teoria statistica dell’apprendimento”– per mezzo di un problema di programmazione

matematica– trovano l’iperpiano separatore (il migliore) per

classificare un insieme di punti (linearmente separabili)

Page 17: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Assunto che i punti siano linearmente separabili

Intuitivamente

Classe +1

Classe -1

Page 18: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Ci sono diversi iperpiani separatori !

Var1

Var2

Ognuno di questi va bene !Ma qual è il migliore ?

Intuitivamente

Classe +1

Classe -1

Page 19: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Idea …. prendiamo un iperpiano e ne allarghiamo il margine … fino a toccare un punto !

Consideriamo l’ampiezza della “zona verde”

Var2

Var1

Nota: all’interno della “zona verde” non ci sono punti !Nota: La “zona verde” è anch’essa racchiusa tra 2 iperpiani

Intuitivamente

Classe +1

Page 20: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Consideriamo il margine di un altro iperpiano

Var2

Var1 Questa volta la “zona verde” è decisamentepiù ampia

Intuitivamente

Page 21: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Una domanda cui rispondere...ad intuito

– Se riuscissimo a separare i dati con un largo margine (quell’ampia “zona verde”) avremmo ragione di credere che (assunto che i punti siano generati sempre dalla stessa “regola” !) il classificatore (l’iperpiano) sia (in un certo senso) “più robusto” tanto da avere una migliore generalizzazione ?

Page 22: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Un prova per il nostro intuito !

Var2

Var1

Il classificatore f divide correttamente (fino ad ora) i punti sul quale è stato addestrato ...

f

Page 23: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Una prova per il nostro intuito !

Var2

Var1 AIl nuovo punto estrattodi cui conosco la posizione (ma non la classe) sarà classificato correttamente da f ?

f

In questa posizione comparirà un nuovo punto di cui non conosciamo la classe

Page 24: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Una prova per il nostro intuito !

Var2

Var1

Questa volta con successiveestrazioni B e C cadonosempre piùvicino (ad f) ...

CB

Page 25: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Una prova per il nostro intuito !

Var2

Var1

E se ci chiedessero di scommettere ?

CB

A

Page 26: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

ATTENZIONE: il nostro intuito non sbaglia !

Con la teoria statistica dell’apprendimento si dimostra che più allarghiamo il margine più l’iperpiano generalizza ( VC dimension)

Non ci resta che scrivere un algoritmo per trovare l’iperpiano di separazione di massimo margine

– Lo faremo per mezzo della programmazione matematica

Page 27: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Le SVM

Supponiamo, quindi, di avere un insieme di punti di training

Ad ogni xi è associata la rispettiva classe di appartenenza yi

I punti sono linearmente separabili

– Ma questo lo possiamo anche scrivere in un solo vincolo

n)1,..,(i 0),( =>+bxwy ii

{ }),),....(,(),,( 2211 nn yxyxyxS ≡

}1,1{ +−∈iy

1 t.c.gli per tutti 0, +=>+ ii ybxw1 t.c.gli per tutti 0, −=<+ ii ybxw

Page 28: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

IL MIGLIORE !Quello che separa meglio i punti negativi da

quelli positivi

Obiettivo !

Noi cerchiamo tra gli iperpiani separatori

– O equivalentemente cerchiamo tra le funzioni (di decisione) lineari associate

Dove g è

),()(, bgh b += xwxw

(w,b)

⎩⎨⎧

−>+

=altrimenti 1

0 se 1)(

zzg

Page 29: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Troviamo prima una formula per l’ampiezza della “zona verde”

Sia d+ (d-) la distanza tra l’iperpiano separatore e il punto positivo (negativo) più vicino

Var2

Var1

dd

Def: i margini di un iperpiano- Margine funzionale

- Margine geometrico

Page 30: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Definizione: margine funzionale

Il margine funzionale di un punto (xi,yi) rispetto all’iperpiano (w, b) è definito come segue:

Il valore minimo

– viene definito come il margine funzionale dell’iperpiano rispetto al training set S

),(ˆ by iii += xwγ

iniγρ ˆminˆ

,...,1==

Page 31: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Note sul margine funzionale

Se il punto x+ è tale che y = +1 perchè il margine funzionale sia grande è necessario che abbia un grande valore positivo la quantità

Se il punto x- è tale che y = -1 perchè il margine funzionale sia grande è necessario che abbia un grande valore negativo la quantità

b++xw,

),(ˆ by iii += xwγ

Page 32: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Note sul margine funzionale

Se la classificazione è OK ! (Verificare per credere) !

Quindi un ampio margine funzionale ci da una certa “speranza” sulla nostra previsione !

Ma utilizzare semplicemente causa dei problemi infatti ....

),(ˆ by iii += xwγ

0ˆ >iγ

γ̂

Page 33: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Note sul margine funzionale

Il margine funzionale è invariante rispetto ad un iperpiano riscalato

– Ovvero: per come abbiamo impostato Il classificatore f e g in {-1 1}

– se scaliamo l’iperpiano (w, b) (cw, cb) Otteniamo lo stesso iperpiano ! Stesso luogo dei punti ! Otteniamo la stessa g ! (dipende solo dal segno di <w, b>+b )

– e ovviamente la stessa h dipende dal segno di g !

vedremo che questo fatto ci aiuterà però a trovare l’algoritmo (impostare in maniera efficace il problema di programmazione)!

),(ˆ by iii += xwγ

Page 34: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Definizione: il margine geometrico

Qual è la distanza di un punto x dall’iperpiano ?

Dalla geometria con qualche calcolo ...

Var2

Var

1

dxi

||||||||1

w

xw

w

bbxw

d i

n

iii +⋅

=+

=∑= w

f

Page 35: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Definizione: il margine geometrico

Il margine geometrico di un punto (xi, yi) rispetto all’iperpiano (w, b) è definito come segue:

Il valore minimo

Viene definito come il margine geometrico dell’iperpiano rispetto al training set S

wxw /),( by iii +=γ

iniγρ

..1min=

=

Page 36: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Note sul margine geometrico

Se la classificazione è OK (come per quello funzionale) – (Verificare per credere) !

Se il punto non è correttamente classificato otteniamo un margine che eguaglia la distanza negativa dall’iperpiano

Dato un punto positivo (negativo) il margine geometrico rappresenta la sua distanza (geometrica) dall’iperpiano

Il margine geometrico, quindi, da meglio l’idea della distanza di un punto in Rn

0>iγ

wxw /),( by iii +=γ

Page 37: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Note sul margine geometrico

Anche il margine geometrico è invariante

– Grazie a tale invarianza possiamo riscalare l’iperpiano senza cambiare nulla (non varia il margine) !

– Se imponiamo ||w|| = 1 stiamo di fatto riscalando l’iperpiano (w,b) (w/||w||,b/||w||). Stiamo considerando un iperpiano (w/||w||,b/||w||) con vettore pesi w/||w|| di norma unitaria

wxw /),( by iii +=γ

Page 38: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Definizione iperpiano canonico

Un iperpiano è detto canonico qualora

In altri termini per un iperpiano canonico– Il margine funzionale è 1– il margine geometrico è

1, min..1

=+=

binixw

w/1

Page 39: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Note sui margini

se ||w|| = 1 il margine funzionale è uguale al margine geometrico !

In generale possiamo metterli in relazione

wxw /),( by iii +=γ

||||

ˆ

w

γγ =

),(ˆ by iii += xwγ

Page 40: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Verso il programma (matematico)

Per quanto detto sembra naturale cercare di estendere quanto possibile il margine geometrico !

– Dobbiamo ottimizzarlo !– Lo faremo attraverso un

programma matematico del tipo

0)( ,0g(x) s.t.

)(min

=≤ xhxf

OBIETTIVO: Arrivare ad una impostazione (del programma) per una efficace implementazione

OBIETTIVO: Arrivare ad una impostazione (del programma) per una efficace implementazione

Page 41: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

4 note su

funzione obiettivo Vincoli Si deve trovare x che renda minimo f(x)

rispettando i vincoli Non sempre esiste una soluzione e, se

esiste, difficilmente si può trovarla per via analitica a volte si può approssimare con metodi iterativi.

0)( ,0g(x) s.t.

)(min

=≤ xhxf

0)( ,0g(x) =≤ xh

f

Page 42: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Verso il programma (matematico)

γ

γ

w

Vorremmo assicurarci chetutti i punti (sia quelli positivisia quelli negativi) cadano al di fuori del margine

Dato un vorremmo cheper ogni punto (i)

γ

γ≥+ wxw /),( by ii

γ γ

Page 43: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Il problema !

Se vogliamo che per ogni i, sia grande

– In modo tale da

allora scriviamo

1||||

),( s.t.

max

=

≥+

w

xw γγ

by ii

γ≥+ wxw /),( by ii

margine geom. = margine funz.

γ

Page 44: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Ma possiamo arrivare ad una forma “migliore” da implementare

1||||

),( s.t.

max

=

≥+

w

xw γγ

by ii

γ

γ

ˆ),( s.t.

||||

ˆmax

≥+by

w

ii xw

||||

ˆ

w

γγ =Ripensiamo la formulazione: Il margine geo può essere scritto

Problema !(vincolo non

convesso)

Problema !(vincolo non

convesso)

Problema !(obbiettivo non

conv)

Problema !(obbiettivo non

conv)

Page 45: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Possiamo arrivare ad una forma migliore da implementare

Ricordiamoci che possiamo scalare l’iperpiano senza cambiare nulla (invarianza)! Quindi possiamo riscalare (w,b) in modo tale che il margine funzionale sia ad esempio 1 (iperpiano canonico)

1),( s.t.

||||

1min

≥+by ii xw

w

Page 46: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Il programma

Rendere massimo Equivale a rendere

minimo

||||

1

w

2||||2

1w

Questa è la forma sulla qualelavorare

NB si dimostra che esiste una sola soluzione al problemaOvvero esiste un unico iperpiano di massimo margine !

1...ni per tutti 1)(y ..

||||2

1)( min

i

2

=≥+><

=

bxwts ii

wwτ

Page 47: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Riassumendo: 2 ragioni che supportano il metodo delle SVM

– 1° : la capacita’ dell’iperpiano di separazione di massimo margine ( generalizzazione)

– 2° : esiste un’unica soluzione del problema precedente !

Ora 2 punti importanti– La formulazione della soluzione del programma precedente– La formulazione della funzione di decisione associata alla

soluzione

Page 48: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

1° - La formulazione della soluzione (attraverso) i vettori di supporto

La soluzione al problema

può essere scritta

– Ovvero è scritta in termini di un sottoinsieme di esempi del training set (noto come vettori di supporto) che giacciono sul margine dell’iperpiano

1...n)(i 1)(y ..

||||2

1)( min

i

2

=≥+><

=

bxwts ii

wwτ

∑∈

=Qi

iixw α

Page 49: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

1* La formulazione della soluzione (attraverso): i vettori di supporto

Var1

Var2

Margin Width

Support Vectors

Page 50: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

2° la formulazione della funzione di decisione associata alla soluzione

Quindi nella funzione di decisione possiamo scrivere

La funzione di decisione associata alla soluzione può essere scritta in termini del prodotto interno tra xi e x

∑∑∈∈

+=+=+Qi

iiiQi

iii bybyb xxxxxw ,,, αα

Page 51: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

E se i punti non sono linearmente separabili ?

Si puo’ risolvere (rivedere la formulazione delle SVM) con i metodi kernel ....

Page 52: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Kernels

Give a way to apply SVMs efficiently in very high (or infinite) dimensional feature spaces

K(x, z) = (x)T (z), where : Rn Rm

K(x, z) may be very inexpensive to calculate, even though (x) itself may be very expensive (perhaps because it is an extremely high dimensional vector). In such settings, by using in our algorithm an efficient way to calculate K(x, z), we can get SVMs to learn in the high dimensional feature space space given by , but without ever having to explicitly find or represent vectors (x)

Page 53: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

Example

Suppose x, z Rn, and consider K(x, z) = (xT z)2:

Page 54: Support Vector Machines. Agenda Alcuni richiami matematici – vettori, norme e prodotti interni – punti linearmente separabili e iperpiani di separazione.

SMO algorithm

Gives an efficient implementation of SVMs