Support Vector Machines

Slides:



Advertisements
Presentazioni simili
Materiale di supporto all’insegnamento di ELABORAZIONI IMMAGINI 1
Advertisements

Premessa: si assume di aver risolto (correttamente
Apprendimento Automatico Apprendimento supervisionato
MATEMATICA PER L’ECONOMIA
Capitolo 8 Sistemi lineari.
Autovalori e autovettori
METODI EQUAZIONI DIFFERENZIALI Funzioni che mettono in relazione una variabile indipendente ( es. x), una sua funzione ( es. y = f(x) ) e la.
COORDINATE POLARI Sia P ha coordinate cartesiane
FUNZIONI DI DUE VARIABILI
Cinematica diretta Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti). Si assume.
Bioinformatica Classificazione
Fisica 2 18° lezione.
Fisica 2 1° lezione, parte a
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
Metodi Quantitativi per Economia, Finanza e Management Lezione n° 11.
Lezione 3) Cenni di teoria dell’elasticità, sforzi e deformazioni, l’equazione delle onde elastiche.
Teoria e Tecniche del Riconoscimento
Valutazione delle ipotesi
Apprendimento di funzioni algebriche
Computational Learning Theory and PAC learning
Support Vector Machines
RICHIAMI ELEMENTARI DI ALGEBRA MATRICIALE
Statistica per le decisioni aziendali ed analisi dei costi Modulo II - Statistica per le decisioni Aziendali Richiami di Algebra Matriciale.
Inversione differenziale della Cinematica
PER FUNZIONI DI PIÙ VARIABILI - 3.
PER FUNZIONI DI PIÙ VARIABILI - 2.
CALCOLO DIFFERENZIALE PER FUNZIONI DI PIÙ VARIABILI. ESTREMI VINCOLATI, ESEMPI.
Argomenti della lezione
Tecnologie di indagine scientifica in Astrofisica (parte I)
Polinomi, integrazione e ottimizzazione
BIOINGEGNERIA S. Salinari Lezione 4.
Tecniche di Risoluzione della Programmazione a Breve Termine.
Teoria e Tecniche del Riconoscimento
Studente Claudia Puzzo
PATTERN RECOGNITION.
Programmazione idraulico di breve termine
Support Vector Machines
E SERCITAZIONE Ing. E. Ritacco Ing. M. Guarascio.
Fondamenti di Informatica Algoritmi
Metodi numerici per l’approssimazione
Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2008/2009 Prof. Maria Lucia Sampoli.
Assicurazioni vita e mercato del risparmio gestito
Propagazione degli errori
Daniele Santamaria – Marco Ventura
La programmazione lineare
Semi-Supervised Learning
Laureando: Enrico Masini
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Ottica geometrica e geometria simplettica
Università degli Studi di Cagliari
Programmazione lineare
Sottospazi vettoriali
DATA MINING PER IL MARKETING
Sistemi compatibili (Il metodo di Fourier-Motzkin)
DATA MINING PER IL MARKETING
APPROSSIMAZIONE DI FUNZIONI
Assicurazioni vita e mercato del risparmio gestito Lezione 13 Modelli media varianza con N titoli.
Definizione Si dice che la variabile z è una funzione reale di due variabili x e y, nell’insieme piano D, quando esiste una legge di natura qualsiasi che.
Programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto.
Support Vector Machines. Perché le SVM (metodi kernel) Percettrone semplice – Algoritmo di apprendimento efficiente – Potere espressivo limitato Percettrone.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
ESPONENZIALI E LOGARITMI
Lezione n° 8 - Matrice di base. - Soluzioni di base ammissibili. - Relazione tra vertici di un poliedro e soluzioni basiche. - Teorema fondamentale della.
Lezione n° 10 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio di base Lezioni di.
Lezione n° 6 -Ottimi globali e locali -Risoluzione grafica di un problema di PL -Definizione di Iperpiano e Semispazi. -Insiemi convessi. -Politopi e poliedri.
Programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto.
Anno Accademico 2010 – 2011 Corso di Progettazione dei Sistemi di Controllo Prof. Luca Schenato Prof. Gianluigi Pillonetto Gottardo Giuseppe, matr
Transcript della presentazione:

Support Vector Machines Macchine a vettori di supporto

Separatori Lineari (Percettrone) La classificazione binaria può essere vista come un problema di separazione di classi nello spazio delle feature wTx + b = 0 wTx + b > 0 w vettore dei pesi, wT trasposta di w x vettore associato ad una istanza di X wTx prodotto scalare f(x) = sign(wTx + b)= +1 -1 wTx + b < 0

Separatori Lineari Quale separatore è ottimo?

Margine di Classificazione La distanza di un esempio dall’iperpiano di separazione è r Gli esempi più vicini all’iperpiano si chiamano support vectors. Il margine  dell’iperpiano di separazione è la distanza minima fra le due classi  r

Classificazione con il margine massimo Massimizzare il margine corrisponde ad individuare l’iperpiano ottimo h Questo implica che solo alcuni esempi sono importanti per l’apprendimento, i vettori di supporto. Gli altri possono essere ignorati

Zona all’interno della quale si assegna la classificazione “+1” classificazione “-1” Zona di incertezza

w y(x)= wTx+b w è il vettore perpendicolare al piano di separazione b è la distanza dall’origine x

SVM lineare Se assumiamo che i dati di addestramento D={(xi ,yi)} si trovino a distanza almeno 1 dall’iperpiano, valgono le seguenti condizioni per xi in D: Per i vettori di supporto, la diseguaglianza diventa una eguaglianza; Indichiamo con  la distanza fra i piani P+: wTxi + b = 1 e P-: wTxi + b = -1 Sia x+ un punto di P+ e x- un punto di P- a distanza minima da x+  =|| x+ - x- || , (x+ - x-)=w wTxi + b ≥ 1 se f(xi) = +1 wTxi + b ≤ -1 se f(xi) = -1

Perché? P- Se x+ e x- sono a distanza minima , muoversi da x+ a x- w x+ x- P- P+ Se x+ e x- sono a distanza minima , muoversi da x+ a x- corrisponde ad un percorso nella direzione di w Per riassumere: T y(x)= wTx+b

Mettendo assieme: Abbiamo dunque: Per massimizzare il margine, dobbiamo minimizzare ||w|| Questo è l’obiettivo di SVM!

SVM lineare (2) Il problema di ottimizzazione quadratica che ne risulta è: Una formulazione migliore basata sulla “programmazione quadratica” è: Trova w e b tali che è massimo; e per ogni {(xi ,yi)}D wTxi + b ≥ 1 se yi=1; wTxi + b ≤ -1 se yi = -1 Trova w e b t.c. 1/2 wTw (=||w||2) è minimizzata (1/2 utilizzato per convenienza matematica); e per ogni {(xi ,yi)}: yi (wTxi + b) ≥ 1

Risolvere il problema di ottimizzazione Si deve ottimizzare una funzione quadratica soggetta a vincoli lineari: yi (wTxi + b) ≥ 1 I problemi di ottimizzazione quadratica sono problemi di programmazione matematica ben noti, per i quali esistono vari algoritmi. La soluzione comporta l’utilizzo di Lagrangiani

Trovare i minimi di una funzione Dall’analisi matematica, data una funzione l’identificazione dei minimi della funzione è ottenuta mediante il gradiente di f Esempio: f ha un minimo in (0, 0)

Minimi di una funzione vincolata Ma se la funzione è vincolata da una serie di vincoli: Dobbiamo trovare i valori estremi di f per i soli punti ristretti dai vincoli g I valori minimi di f sono ottenuti quando le superfici si “toccano”

Graficamente: Due esempi:

Lagrangiani Data una funzione da ottimizzare f ed un insieme di condizioni g1, ..., gn, un Lagrangiano è una funzione L(f,g1, ..., gn,1, ...,n) che “incorpora” le condizioni nel problema di ottimizzazione

Lagrangiani Ad esempio, se f = w2/2 e g1 = wx -1 0, allora Si calcolano le derivate rispetto alle variabili del lagrangiano (w e  in questo esempio) e si impone siano =0 Risolvendo il sistema di equazioni ottenuto, si ricavano i valori che soddisfano il problema L deve essere massimizzata rispetto alle variabili primarie (w nell’esempio), ma minimizzata rispetto alle variabili duali ()

Calcola le derivate parziali di  nell’esempio precedente

Torniamo al problema di SVM Minimizzare il seguente Lagrangiano: Imponiamo dapprima: La condizione    porta a selezionare solo un sotto-insieme di vettori, per i quali questa condizione deve essere verificata ( > 0), ovvero i Support Vectors (i vettori di “frontiera”), da cui: (xi, yi) learning set

Langrangiani: problema primario e problema duale

RIASSUMIAMO Formulazione del problema di ottimizzazione: 2) Espressione del problema con un Lagrangiano: 3)Ottieni la soluzione (teorema di Kuhn- Tucker) I vettori per cui *>0 sono detti vettori di supporto. 4) Ottieni la formulazione duale eliminando le variabili primarie w,b in 2) (formule E1 e E2)

Funzione di decisione La funzione di decisione era: ma avendo la condizione: otteniamo:

Margini “Soft” Se il set di addestramento non è linearmente separabile? Si introducono le slack variables i che consentono la classificazione errata di qualche punto.  i  i

Soft Margin Classification Problema lineare: Con le slack variables: Il parametro C controlla l’overfitting. Trova w e b t.c. 1/2 wTw è minimizzata e per ogni {(xi ,yi)} yi (wTxi + b) ≥ 1 Trova w e b t.c. 1/2 wTw + C∑  i è minimizzata e per ogni {(xi ,yi)} yi (wTxi + b) ≥ 1-  i e  i ≥ 0 per ogni i

Sommario di SVM lineare Il classificatore (funzione obiettivo) è un iperpiano di separazione. I “punti” (esempi) più importanti sono i vettori di support (“sostengono” l’iperpiano, mantenedolo in equilibrio) Algoritmi di ottimizzazione quadratica identificano quali punti rappresentano il “supporto” Nella formulazione del problema e nella soluzione appaiono i prodotti scalari: Trova  1…  n t.c. W() =∑  i - 1/2∑∑ i  jyiyjxiTxj è massimizzata e (1) ∑  iyi = 0 (2) 0 ≤  i ≤ C per ogni  i f(x) = sgn(∑  iyixiTx + b)

Non-linear SVMs Se i dataset sono separabili con un po’ di rumore le cose funzionano: Ma se il rumore è eccessivo? Si può proiettare il problema in uno spazio di dimensioni maggiori: x2 x

Non-linear SVMs: Feature spaces Proiettare in uno spazio nel quale i dati risultino separabili: : x (x)

Esempio di funzione 

Funzioni Kernel K(xi,xj)=  (xi)T (xj)=x’iTx’j Una funzione kernel è una funzione che corrisponde ad un prodotto scalare in uno spazio esteso Il classificatore lineare si basa sul prodotto scalare fra vettori dello spazio delle istanze X (quindi, non esteso): K(xi,xj)=xiTxj Se ogni punto è traslato in uno spazio di dimensioni maggiori attraverso una trasformazione  : x  (x) il prodotto scalare diventa: K(xi,xj)=  (xi)T (xj)=x’iTx’j dove x’i e x’j indicano trasformazioni non lineari

Funzioni kernel: un esempio Abbiamo vettori a 2 dimensioni x=(x1, x2) Sia K(xi,xj)=(1 + xiTxj)2, Dobbiamo mostrare che K(xi,xj) = (xi)T(xj): K(xi,xj)=(1 + xiTxj)2,= 1+ xi12xj12 + 2 xi1xj1 xi2xj2+ xi22xj22 + 2xi1xj1 + 2xi2xj2= = (1, xi12, √2 xi1xi2 , xi22 , √2xi1 , √2xi2)T (1, xi12, √2 xi1xi2 , xi22 , √2xi1 , √2xi2) =  (xi) T (xj), dove  (x) = (1, xi12, √2 xi1xi2 , xi22 , √2xi1 , √2xi2)

Quali funzioni sono Kernel? Per alcune funzioni K(xi,xj) verificare che K(xi,xj)=  (xi) T (xj) è complesso. Teorema di Mercer: Ogni funzione la cui matrice associata Gram K (ovvero t.c. Kij := K(xi,xj)) è positiva semidefinita è un kernel, ovvero:

Esempi di Funzioni Kernel Lineare: K(xi,xj)= xi Txj Polinomiale potenza di p: K(xi,xj)= (1+ xi Txj)p Gaussiana (radial-basis function network): Percettrone a due stadi: K(xi,xj)= tanh(0xi Txj +  1)

Applicazioni SVMs sono attualmente fra i migliori classificatori in una varietà di problemi (es. elaborazione del linguaggio e genomica). Il tuning dei parametri SVM è un’arte: la selezione di uno specifico kernel e i parametri viene eseguita in modo empirico (tenta e verifica: trial and test)

Applicativi SVMlight - http://svmlight.joachims.org bsvm - http://www.csie.ntu.edu.tw/~cjlin/bsvm/ libsvm - http://www.csie.ntu.edu.tw/~cjlin/libsvm/ Differenze: funzioni Kernel utilizzabili, tecnica di ottimizzazione, possibilità di classificazione multipla, interfacce di utente