La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Support Vector Machines Macchine a vettori di supporto.

Presentazioni simili


Presentazione sul tema: "Support Vector Machines Macchine a vettori di supporto."— Transcript della presentazione:

1 Support Vector Machines Macchine a vettori di supporto

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

3 Separatori Lineari Quale separatore è ottimo?

4 Margine di Classificazione La distanza di un esempio dalliperpiano di separazione è r Gli esempi più vicini alliperpiano si chiamano support vectors. Il margine delliperpiano di separazione è la distanza minima fra le due classi r

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

6 Zona allinterno della quale si assegna la classificazione +1 Zona allinterno della quale si assegna la classificazione -1 Zona di incertezza

7 w y (x)= w T x+b w è il vettore perpendicolare al piano di separazione b è la distanza dallorigine x

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

9 Perché? y (x)= w T x+b 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 T

10 Mettendo assieme: Abbiamo dunque: Per massimizzare il margine, dobbiamo minimizzare ||w|| –Questo è lobiettivo di SVM!

11 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 {(x i,y i )} D w T x i + b 1 se y i =1; w T x i + b -1 se y i = -1 Trova w e b t.c. 1/2 w T w (=||w|| 2 ) è minimizzata (1/2 utilizzato per convenienza matematica); e per ogni { ( x i,y i )} : y i (w T x i + b) 1

12 Risolvere il problema di ottimizzazione Si deve ottimizzare una funzione quadratica soggetta a vincoli lineari: y i (w T x i + b) 1 I problemi di ottimizzazione quadratica sono problemi di programmazione matematica ben noti, per i quali esistono vari algoritmi. La soluzione comporta lutilizzo di Lagrangiani

13 Trovare i minimi di una funzione Dallanalisi matematica, data una funzione lidentificazione dei minimi della funzione è ottenuta mediante il gradiente di f Esempio: f ha un minimo in (0, 0)

14 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

15 Graficamente: Due esempi:

16 Lagrangiani Data una funzione da ottimizzare f ed un insieme di condizioni g 1,..., g n, un Lagrangiano è una funzione L ( f,g 1,..., g n, 1,..., n ) che incorpora le condizioni nel problema di ottimizzazione

17 Lagrangiani Ad esempio, se f = w 2 /2 e g 1 = 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 nellesempio), ma minimizzata rispetto alle variabili duali ( )

18 Calcola le derivate parziali di nellesempio precedente

19 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: (x i, y i ) learning set

20 Langrangiani: problema primario e problema duale Problema duale Problema primario

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

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

23 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

24 Soft Margin Classification Problema lineare: Con le slack variables: Il parametro C controlla loverfitting. Trova w e b t.c. 1/2 w T w è minimizzata e per ogni { ( x i,y i )} y i (w T x i + b) 1 Trova w e b t.c. 1/2 w T w + C i è minimizzata e per ogni { ( x i,y i )} y i (w T x i + b) 1- i e i 0 per ogni i

25 Sommario di SVM lineare Il classificatore (funzione obiettivo) è un iperpiano di separazione. I punti (esempi) più importanti sono i vettori di support (sostengono liperpiano, 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 j y i y j x i T x j è massimizzata e (1) i y i = 0 (2) 0 i C per ogni i f(x) = sgn( i y i x i T x + b)

26 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: 0 x2x2 x 0 x 0 x

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

28 Esempio di funzione

29 Funzioni Kernel 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(x i,x j )=x i T x j Se ogni punto è traslato in uno spazio di dimensioni maggiori attraverso una trasformazione : x (x) il prodotto scalare diventa: K(x i,x j )= (x i ) T (x j )=x i T x j dove x i e x j indicano trasformazioni non lineari

30 Funzioni kernel: un esempio Abbiamo vettori a 2 dimensioni x=(x 1, x 2 ) Sia K(x i,x j )=(1 + x i T x j ) 2, Dobbiamo mostrare che K(x i,x j ) = (x i ) T (x j ): K(x i,x j )=(1 + x i T x j ) 2, = 1+ x i1 2 x j x i1 x j1 x i2 x j2 + x i2 2 x j x i1 x j1 + 2x i2 x j2 = = (1, x i1 2, 2 x i1 x i2, x i2 2,2x i1,2x i2 ) T (1, x i1 2, 2 x i1 x i2, x i2 2,2x i1,2x i2 ) = (x i ) T (x j ), dove (x) = (1, x i1 2, 2 x i1 x i2, x i2 2,2x i1,2x i2 )

31 Quali funzioni sono Kernel? Per alcune funzioni K(x i,x j ) verificare che K(x i,x j )= (x i ) T (x j ) è complesso. Teorema di Mercer: –Ogni funzione la cui matrice associata Gram K (ovvero t.c. K ij := K(x i,x j )) è positiva semidefinita è un kernel, ovvero:

32 Esempi di Funzioni Kernel Lineare: K(x i,x j )= x i T x j Polinomiale potenza di p: K(x i,x j )= (1+ x i T x j ) p Gaussiana (radial-basis function network): Percettrone a due stadi: K(x i,x j )= tanh( 0 x i T x j + 1 )

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

34 Applicativi SVM light - bsvm - libsvm - Differenze: funzioni Kernel utilizzabili, tecnica di ottimizzazione, possibilità di classificazione multipla, interfacce di utente


Scaricare ppt "Support Vector Machines Macchine a vettori di supporto."

Presentazioni simili


Annunci Google