1 / 54

Support Vector Machines

Support Vector Machines. 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

kali
Download Presentation

Support Vector Machines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Support Vector Machines

  2. 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

  3. RxRx…xR = Rn n volte 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 P w

  4. Alcuni concetti utili per iniziare P+Q: (x1+x3,x2+x4) Q: (x3,x4) P: (x1,x2) Vettori in R2 • Sull’insieme di questi punti possiamo eseguire due operazioni fondamentali • Addizione • Moltiplicazione per un numero reale • (riscaliamo il punto! ) 2P: (2x1,2x2) P: (x1,x2) - P: (-x1,-x2)

  5. Alcuni concetti utili per iniziare Il prodotto interno in Rn • Il prodotto interno tra due vettori in Rn è il numero reale • Alcune proprietà

  6. Alcuni concetti utili per iniziare La norma in Rn • La norma di un vettore in Rn (o anche modulo, lunghezza) è il numero reale non negativo • Alcune proprietà • Vettore unitario ||x|| se

  7. Norma e prodotto interno • Geometricamente l’angolo  sotteso da due vettori in R2 è dato da:

  8. Proiezione di un vettore Proiezione di v su u

  9. Nota

  10. Alcuni concetti utili per iniziare w w w w x 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

  11. Alcuni concetti utili per iniziare Iperpiano in R2 h Un iperpiano h in R2 con il vettore w ad esso ortogonale Nota: tutti i punti su h sono tali che <x, w> = 0 x w x0

  12. Iperpiano in R2 h Nota: l’iperpiano determina 2 semispazi ! x w x0

  13. Alcuni concetti utili per iniziare Punti linearmente separabili Classe -1 Classe +1 classificatore

  14. Alcuni concetti utili per iniziare 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

  15. 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 h x w

  16. 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)

  17. Intuitivamente Assunto che i punti siano linearmente separabili Classe -1 Classe +1

  18. Intuitivamente Ci sono diversi iperpiani separatori ! Ognuno di questi va bene ! Ma qual è il migliore ? Var1 Classe -1 Classe +1 Var2

  19. Intuitivamente Idea …. prendiamo un iperpiano e ne allarghiamo il margine … fino a toccare un punto ! Var1 Consideriamo l’ampiezza della “zona verde” Classe +1 Var2 Nota: all’interno della “zona verde” non ci sono punti ! Nota: La “zona verde” è anch’essa racchiusa tra 2 iperpiani

  20. Intuitivamente Consideriamo il margine di un altro iperpiano Var1 Questa volta la “zona verde” è decisamente più ampia Var2

  21. 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 ?

  22. Un prova per il nostro intuito ! Var1 f Var2 Il classificatore f divide correttamente (fino ad ora) i punti sul quale è stato addestrato ...

  23. Una prova per il nostro intuito ! In questa posizione comparirà un nuovo punto di cui non conosciamo la classe Var1 A Il nuovo punto estratto di cui conosco la posizione (ma non la classe) sarà classificato correttamente da f ? f Var2

  24. Una prova per il nostro intuito ! Questa volta con successive estrazioni B e C cadono sempre più vicino (ad f) ... Var1 C B Var2

  25. Una prova per il nostro intuito ! Var1 A C B Var2 E se ci chiedessero di scommettere ?

  26. 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

  27. 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

  28. Obiettivo ! (w,b) • Noi cerchiamo tra gli iperpiani separatori • O equivalentemente cerchiamo tra le funzioni (di decisione) lineari associate • Dove g è • IL MIGLIORE ! • Quello che separa meglio i punti negativi da • quelli positivi

  29. Var1 d d Var2 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 • Def: i margini di un iperpiano • - Margine funzionale • - Margine geometrico

  30. Definizione: margine funzionale • Il margine funzionaledi 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

  31. 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à

  32. 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 ....

  33. 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)!

  34. Var1 xi d Var2 Definizione: il margine geometrico • Qual è la distanza di un punto x dall’iperpiano ? • Dalla geometria con qualche calcolo ... f w

  35. Definizione: il margine geometrico • Il margine geometricodi 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

  36. 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

  37. 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

  38. Definizione iperpiano canonico • Un iperpiano è detto canonico qualora • In altri termini per un iperpiano canonico • Il margine funzionale è 1 • il margine geometrico è

  39. Note sui margini • se ||w|| = 1 il margine funzionale è uguale al margine geometrico ! • In generale possiamo metterli in relazione

  40. 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 • OBIETTIVO: • Arrivare ad una impostazione (del programma) per una efficace implementazione

  41. 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.

  42. Verso il programma (matematico) Vorremmo assicurarci che tutti i punti (sia quelli positivi sia quelli negativi) cadano al di fuori del margine Dato un vorremmo che per ogni punto (i) w

  43. Il problema ! • Se vogliamo che per ogni i, sia grande • In modo tale da • allora scriviamo margine geom. = margine funz.

  44. Ma possiamo arrivare ad una forma “migliore” da implementare Problema ! (vincolo non convesso) Ripensiamola formulazione: Il margine geo può essere scritto Problema ! (obbiettivo non conv)

  45. 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)

  46. Il programma • Rendere massimo • Equivale a rendere minimo Questa è la forma sulla quale lavorare NB si dimostra che esiste una sola soluzione al problema Ovvero esiste un unico iperpiano di massimo margine !

  47. 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

  48. 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

  49. Var1 Support Vectors Margin Width Var2 1* La formulazione della soluzione (attraverso): i vettori di supporto

  50. 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

More Related