Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAnna Valenti Modificato 8 anni fa
1
Support Vector Machines
2
Perché le SVM (metodi kernel) Percettrone semplice – Algoritmo di apprendimento efficiente – Potere espressivo limitato Percettrone multistrato – Impara funzioni di separazione non lineari complesse – Difficile da addestrare: abbondanza minimi locali, elevato numero pesi SVM – Algoritmo di apprendimento efficiente – Imparano funzioni di separazione non lineari complesse 2
3
Ripasso di algebra lineare Considereremo punti o vettori in Per facilità di rappresentazione faremo quasi sempre riferimento a R 2 Gli elementi di R 2 sono coppie ordinate (x 1, x 2 ) di numeri reali (coordinate), Sono facilmente rappresentabili attraverso punti nel piano o segmenti orientati (vettori), con un estremo nell’origine degli assi e l’altro nel punto, caratterizzati da: – direzione, verso, lunghezza w P RxRx…xR = R n n volte 3 Algebra Lineare
4
Vettori in R 2 Sull’insieme di questi punti possiamo eseguire due operazioni fondamentali – Addizione – Moltiplicazione per un numero reale (scalare) Algebra Lineare P: (x 1,x 2 ) Q: (x 3,x 4 ) P+Q: (x 1 +x 3,x 2 +x 4 ) 2P: (2x 1,2x 2 ) P: (x 1,x 2 ) - P: (-x 1,-x 2 ) 4
5
Il prodotto interno in R n Il prodotto interno tra due vettori in R n è il numero reale – Alcune proprietà 5 Algebra Lineare
6
La norma in R n La norma di un vettore in R n (o anche modulo, lunghezza) è il numero reale non negativo – Alcune proprietà Vettore unitario ||x|| se 6 Algebra Lineare
7
Proiezione di un vettore su un altro Proiezione di v su u: 7 Geometricamente l’angolo sotteso da due vettori in R 2 è dato da: Algebra Lineare
8
Nota 8 Algebra Lineare
9
Rette e iperpiani Una retta r che passa per l’origine in R 2 può essere definita assegnando un vettore w = (w 1, w 2 ) ad essa ortogonale Tutti i punti (vettori) x = (x 1, x 2 ) sulla retta sono ortogonali a w Quindi = wx T = w 1 x 1 +w 2 x 2 = 0 w w w w x 9 Algebra Lineare
10
Iperpiano (retta) in R 2 w Un iperpiano h in R 2 con il vettore w ad esso ortogonale Nota: tutti i punti su h sono tali che = 0 h x0x0 x 10 Algebra Lineare
11
Iperpiano in R 2 w h x0x0 x Nota: l’iperpiano determina 2 semispazi ! 11 Algebra Lineare
12
Punti linearmente separabili classificatore Classe +1 Classe -1 12 Algebra Lineare
13
Iperpiani in R n Generalizziamo in più dimensioni (nello spazio euclideo !): – ogni iperpiano h (di dimensione (n-1)) che passa per l’origine di R n è caratterizzato dall’equazione – Se l’iperpiano non passa per l’origine – Un iperpiano è quindi un insieme di punti espresso in questo modo 13 Algebra Lineare
14
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 14 Algebra Lineare w x h
15
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) 15
16
Generalità sulle SVM Riprendiamo in considerazione il caso di classi linearmente separabili Sappiamo che non è molto utile ma… – Se ci complichiamo un po’ la vita adesso per capirlo meglio… – Prepariamo il terreno per una generalizzazione molto potente 16
17
Ognuno di questi va bene ! Ma qual è il migliore ? Generalità sulle SVM Var 1 Var 2 Classe +1 Classe -1 17 L’idea di partenza Diversi iperpiani separatori per classi linearmente separabili
18
Il “margine” Consideriamo l’ampiezza della “zona verde”, o “margine” Nota: all’interno della “zona verde” non ci sono punti ! Nota: La “zona verde” è anch’essa racchiusa tra 2 iperpiani 18 Idea …. prendiamo un iperpiano e lo muoviamo parallelamente sia verso la classe +1 che verso -1 … fino a toccare un punto ! Var 2 Var 1 Classe +1 Classe -1 Generalità sulle SVM
19
Il “margine” Questa volta la “zona verde” è decisamente più ampia Var 2 Var 1 19 Generalità sulle SVM Vediamo un altro esempio
20
Il “margine” 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 ? 20 Generalità sulle SVM
21
Un prova per il nostro intuito ! Il classificatore f divide correttamente i punti su cui è stato addestrato... 21 Var 2 Var 1 f Generalità sulle SVM
22
Una prova per il nostro intuito ! Var 2 Var 1 A Il nuovo punto estratto di 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 22 Generalità sulle SVM
23
Una prova per il nostro intuito ! Var 2 Var 1 Questa volta con successive estrazioni B e C cadono sempre più vicino (ad f)... C B 23 Generalità sulle SVM
24
Una prova per il nostro intuito ! Var 2 Var 1 C B A 24 Generalità sulle SVM
25
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 25 Generalità sulle SVM
26
Verso una definizione formale Supponiamo, quindi, di avere un insieme di punti di training 26 Generalità sulle SVM Ad ogni x i (vettore) è associata la rispettiva classe di appartenenza y i I punti sono linearmente separabili Ma questo lo possiamo scrivere in un solo vincolo
27
IL MIGLIORE ! Quello che separa meglio i punti negativi da quelli positivi Obiettivo ! Noi cerchiamo tra gli iperpiani separatori (w, b) O equivalentemente tra le funzioni (di decisione) lineari associate dove g è 27 Generalità sulle SVM
28
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 Var 2 Var 1 dd Def: i margini di un iperpiano - Margine funzionale - Margine geometrico 28
29
Definizione: margine funzionale Il margine funzionale di un punto (x i, y i ) rispetto all’iperpiano (w, b) è definito come segue: Il margine funzionale dell’iperpiano rispetto al training set S è il valore minimo 29
30
Note sul margine funzionale Se il punto x i è tale che y i = +1, perchè il margine funzionale sia grande è necessario che abbia un grande valore positivo la quantità Se il punto x i è tale che y i = -1, perchè il margine funzionale sia grande è necessario che abbia un grande valore negativo la quantità 30
31
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.... 31
32
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 +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)! 32
33
Definizione: il margine geometrico Qual è la distanza di un punto x dall’iperpiano ? Dalla geometria con qualche calcolo... Var 2 Var 1 d xixi w f 33
34
Definizione: il margine geometrico Il margine geometrico di un punto (x i, y i ) rispetto all’iperpiano (w, b) è definito come segue: Il margine geometrico dell’iperpiano rispetto al training set S è il valore minimo 34
35
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 R n 35
36
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 36
37
Definizione iperpiano canonico Un iperpiano è detto canonico qualora In altri termini per un iperpiano canonico – Il margine funzionale è 1 – il margine geometrico è 37
38
Note sui margini se ||w|| = 1 il margine funzionale è uguale al margine geometrico ! In generale possiamo metterli in relazione 38
39
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 OBIETTIVO: Arrivare ad una impostazione (del programma) per una efficace implementazione 39
40
Alcune osservazioni 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. 40
41
Verso il programma (matematico) w 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) 41
42
Il problema ! Se vogliamo che per ogni i, sia grande – In modo tale da allora scriviamo margine geom. = margine funz. 42
43
Ma possiamo arrivare ad una forma “migliore” da implementare 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) 43
44
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) 44
45
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 ! 45
46
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 46
47
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 47
48
1* La formulazione della soluzione (attraverso): i vettori di supporto Var 1 Var 2 Margin Width Support Vectors 48
49
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 x i e x 49
50
E se i punti non sono linearmente separabili ? Si puo’ risolvere (rivedere la formulazione delle SVM) con i metodi kernel.... 50
51
Kernels Give a way to apply SVMs efficiently in very high (or infinite) dimensional feature spaces K(x, z) = (x) T (z), where : R n R m 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) 51
52
Example Suppose x, z R n, and consider K(x, z) = (x T z) 2 : 52
53
SMO algorithm Gives an efficient implementation of SVMs 53
54
Kernel Classificatore NON LINEARE Classificare mediante superfici non lineari IDEA: mappo lo spazio di input in un nuovo spazio, a dimensione maggiore, in cui i punti siano linearmente separabili. 54
55
Kernel In cui H è uno spazio a dimensione maggiore rispetto a R n Problema: trovare iperpiano ottimo in H, su training set Si utilizza una Funzione kernel: Definita come: 55
56
Kernel Sostituendo K al posto di si ottiene il classificatore: Il quale lavora nello stesso tempo che impiegherebbe su dati non mappati Kernel trick computare il prodotto interno senza computare 56
57
Kernel Alcuni kernel standard: Un kernel definisce una matrice [k i,j ] che è simmetrica e definita positiva. Ogni matrice simmetrica e definita positiva è un kernel. 57
58
Kernel – esempio polinomiale 58
59
Kernel graph I dati molte volte sono strutturati, tra le strutture principali: GRAFI ETICHETTATI Misura di similarità tra 2 grafi, G1 e G2 RANDOM WALK KERNEL Conta il numero di etichette corrispondenti su cammini casuali tra i due grafi. 59
60
Kernel graph Somma dei valori kernel su tutte le coppie di cammini Per calcolare tutti i cammini casuali si usa il prodotto diretto tra 2 grafi G 1 = (V,E) e G 2 = (W,F), G 1 x G 2: 60
61
Random walk kernel Data la definizione precedente, il random walk kernel è definito come: Dove A x è la matrice di adiacenza del prodotto diretto e i i sono fattori di peso, dalla cui scelta dipende la convergenza della sommatoria. I fattori di peso servono per pesare meno i cammini più lunghi. Nota: A n rappresenta il numero di cammini di lunghezza n sul grafo. Sommatoria per tutte le coppie di nodi, di tutti i cammini tra i due nodi 61
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.