Support Vector Machines

Slides:



Advertisements
Presentazioni simili
Le forme dello spazio Caffè Scienza. Associazione formaScienza.
Advertisements

Geometria Euclidea e Geometria non Euclidea
Calcolo vettoriale E.F. Orsega – Università Ca’ Foscari di Venezia
LIMITI:DEFINIZIONI E TEOREMI
Le rette.
Algoritmi e Strutture Dati
FUNZIONI REALI DI DUE VARIABILI REALI
Sistemi dinamici discreti e computabilità intrinseca
Funzioni di due variabili
Momento di un vettore rispetto ad un polo fisso
Sistemi di Classificazione usando NCD
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
Implementazione del problema della approssimazione ai minimi quadrati Camillo Bosco Corso di Analisi Numerica A.A
Bioinformatica Classificazione
programmazione lineare: un esempio
Algoritmi e Dimostrazioni Stefano Berardi
Elementi di Matematica
Elementi di Matematica
TEORIA RAPPRESENTAZIONALE DELLA MISURA
Teoria e Tecniche del Riconoscimento
Computational Learning Theory and PAC learning
Support Vector Machines
Support Vector Machines
1 Capitolo 2: Semplificazione, Ottimizzazione e Implicazione.
Studio funzioni by Mario Varalta Studio funzioni by Mario Varalta.
LE EQUAZIONI DI SECONDO GRADO
Numeri razionali I numeri RAZIONALI sono i numeri che possono essere rappresentati come frazioni. I razionali comprendono i numeri interi e quelli decimali.
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.
Il prodotto vettoriale
Teoria e Tecniche del Riconoscimento
Studente Claudia Puzzo
Assicurazioni vita e mercato del risparmio gestito
Elementi di Informatica
Propagazione degli errori
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
Vettori Finche’ il moto si svolge in una sola dimensione – moto unidimensionale, moto rettilineo – non abbiamo bisogno di vettori La posizione e’ individuata.
Un approccio soft per i primi tre anni della primaria
Prof. Cerulli – Dott.ssa Gentili
Vettori dello spazio bidimensionale (R 2)
Corso di Matematica (6 CFU) (4 CFU Lezioni +2 CFU Esercitazioni)
I FRATTALI Frattale di Mandebrot
Vettori A B VETTORE è un segmento orientato caratterizzato da: C D
MATEMATIZZAZIONE Con il termine “Matematizzazione” intendiamo quel processo attraverso il quale si tenta di “tradurre” nel formalismo matematico un problema.
La ricorsione.
Rappresentazione dell'informazione
Conversione binario-ottale/esadecimale
LA RETTA Assi cartesiani e rette ad essi parallele
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.
Nichi D'Amico1 Lezione II Avviare la presentazione col tasto “Invio”
Proprietà macromolecolari Il calcolo delle proprietà macromolecolari implica l’utilizzo della statistica della catena polimerica in termini di distanze.
Support Vector Machines. Perché le SVM (metodi kernel) Percettrone semplice – Algoritmo di apprendimento efficiente – Potere espressivo limitato Percettrone.
IL PIANO CARTESIANO E LA RETTA
Per un punto non passa alcuna parallela ad una retta data
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.
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.
Transcript della presentazione:

Support Vector Machines

Agenda Alcuni richiami matematici Generalità sulle SV 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

Premessa RxRx…xR = Rn Considereremo punti o vettori su n volte 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

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

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

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

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

Proiezione di un vettore Proiezione di v su u

Nota

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

Iperpiano in R2 Alcuni concetti utili per iniziare 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

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

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

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

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

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)

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

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

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

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

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 ?

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

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

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

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

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

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

Quello che separa meglio i punti negativi da 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

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 d Def: i margini di un iperpiano - Margine funzionale - Margine geometrico

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

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à

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

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

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

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

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

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

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

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

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.

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

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

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

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)

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 !

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

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* La formulazione della soluzione (attraverso): i vettori di supporto Var1 Var2 Margin Width Support Vectors

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

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 : 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)

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

SMO algorithm Gives an efficient implementation of SVMs