Support Vector Machines. Perché le SVM (metodi kernel) Percettrone semplice – Algoritmo di apprendimento efficiente – Potere espressivo limitato Percettrone.

Slides:



Advertisements
Presentazioni simili
Calcolo vettoriale E.F. Orsega – Università Ca’ Foscari di Venezia
Advertisements

Premessa: si assume di aver risolto (correttamente
Le rette.
Algoritmi e Strutture Dati
Selezione delle caratteristiche - Principal Component Analysis
Sistemi dinamici discreti e computabilità intrinseca
Funzioni di due variabili
Sistema di riferimento sulla retta
Capitolo 8 Sistemi lineari.
Autovalori e autovettori
Matematica I: Calcolo differenziale, Algebra lineare, Probabilità e statistica Giovanni Naldi, Lorenzo Pareschi, Giacomo Aletti Copyright © The.
Geometria analitica dello spazio
COORDINATE POLARI Sia P ha coordinate cartesiane
Integrazione Corso: Analisi Numerica Anno Accademico:
Implementazione del problema della approssimazione ai minimi quadrati Camillo Bosco Corso di Analisi Numerica A.A
Bioinformatica Classificazione
programmazione lineare: un esempio
Elementi di Matematica
TEORIA RAPPRESENTAZIONALE DELLA MISURA
Teoria e Tecniche del Riconoscimento
Computational Learning Theory and PAC learning
Support Vector Machines
Support Vector Machines
Soluzione di equazioni non lineari
Il moto armonico Altro esempio interessante di moto è quello armonico caratterizzato dal fatto che l’accelerazione è proporzionale all’opposto della posizione:
Ricerca della Legge di Controllo
Seminario su clustering dei dati – Parte II
BIOINGEGNERIA S. Salinari Lezione 4.
Teoria e Tecniche del Riconoscimento
Studente Claudia Puzzo
Support Vector Machines
Corso di Matematica Discreta cont. 2
Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2008/2009 Prof. Maria Lucia Sampoli.
Assicurazioni vita e mercato del risparmio gestito
Spazi vettoriali astratti Somma e prodotto di n-ple Struttura di R n.
Studio funzioni Premesse Campo esistenza Derivate Limiti Definizione di funzione Considerazioni preliminari Funzioni crescenti, decrescenti Massimi,
Strutture periodiche discrete: introduzione del vincolo di periodicità e studio della ricostruzione da due proiezioni. A. Del Lungo, A. Frosini, M.Nivat,
Daniele Santamaria – Marco Ventura
Radix-Sort(A,d) // A[i] = cd...c2c1
Algoritmi e Strutture Dati
Prof. Cerulli – Dott.ssa Gentili
Vettori dello spazio bidimensionale (R 2)
Vettori A B VETTORE è un segmento orientato caratterizzato da: C D
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati Università Sapienza di Roma Dipartimento di ingegneria Informatica, Automatica.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Matematica I: Calcolo differenziale, Algebra lineare, Probabilità e statistica Giovanni Naldi, Lorenzo Pareschi, Giacomo Aletti Copyright © The.
Intelligenza Artificiale Reti Neurali
Rappresentazione dell'informazione
Conversione binario-ottale/esadecimale
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
LA RETTA Assi cartesiani e rette ad essi parallele
MATEMATICA PER L’ECONOMIA e METODI QUANTITATIVI PER LA FINANZA a. a
Integrali Indefiniti Risolvono il problema di trovare tutte le funz. la cui derivata è uguale ad una funz. assegnata. Queste funz. sono dette primitive.
Integrali definiti I parte
Programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto.
Forma normale delle equazioni di 2° grado Definizione. Un'equazione di secondo grado è in forma normale se si presenta nella forma Dove sono numeri.
Campo Elettrico Definizione operativa di campo elettrico: Il vettore campo elettrico associato ad una determinata carica sorgente Q, posta in un.
APPUNTI DI GEOMETRIA ANALITICA DELLA RETTA
Algoritmi e Strutture Dati Luciano Gualà
Analisi matematica Introduzione ai limiti
IL PIANO CARTESIANO E LA RETTA
1 Metodo Simbolico e Numeri Complessi Problema 1 => Determinare le radici della seguente equazione polinomiale di secondo grado:
FUNZIONI MATEMATICHE DANIELA MAIOLINO.
Test di Fisica Soluzioni.
Lezione n° 6 -Ottimi globali e locali -Risoluzione grafica di un problema di PL -Definizione di Iperpiano e Semispazi. -Insiemi convessi. -Politopi e poliedri.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
TRASFORMAZIONI GEOMETRICHE.
Le frazioni A partire da N vogliamo costruire un nuovo insieme numerico nel quale sia sempre possibile eseguire la divisione. Per fare ciò dobbiamo introdurre.
Programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto.
Classe II a.s. 2010/2011 Prof.ssa Rita Schettino
Transcript della presentazione:

Support Vector Machines

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

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

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

Il prodotto interno in R n Il prodotto interno tra due vettori in R n è il numero reale – Alcune proprietà 5 Algebra Lineare

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

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

Nota 8 Algebra Lineare

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

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

Iperpiano in R 2 w h x0x0 x Nota: l’iperpiano determina 2 semispazi ! 11 Algebra Lineare

Punti linearmente separabili classificatore Classe +1 Classe Algebra Lineare

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

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

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

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

Ognuno di questi va bene ! Ma qual è il migliore ? Generalità sulle SVM Var 1 Var 2 Classe +1 Classe L’idea di partenza Diversi iperpiani separatori per classi linearmente separabili

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

Il “margine” Questa volta la “zona verde” è decisamente più ampia Var 2 Var 1 19 Generalità sulle SVM Vediamo un altro esempio

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

Un prova per il nostro intuito ! Il classificatore f divide correttamente i punti su cui è stato addestrato Var 2 Var 1 f Generalità sulle SVM

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

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

Una prova per il nostro intuito ! Var 2 Var 1 C B A 24 Generalità sulle SVM

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

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

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

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

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

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

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

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

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

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

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

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

Definizione iperpiano canonico Un iperpiano è detto canonico qualora In altri termini per un iperpiano canonico – Il margine funzionale è 1 – il margine geometrico è 37

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

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

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

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

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

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

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

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

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

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

1* La formulazione della soluzione (attraverso): i vettori di supporto Var 1 Var 2 Margin Width Support Vectors 48

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

E se i punti non sono linearmente separabili ? Si puo’ risolvere (rivedere la formulazione delle SVM) con i metodi kernel

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

Example Suppose x, z  R n, and consider K(x, z) = (x T z) 2 : 52

SMO algorithm Gives an efficient implementation of SVMs 53

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

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

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

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

Kernel – esempio polinomiale 58

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

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

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