Issuu on Google+

Kernel Methods Corso di Apprendimento Automatico Laurea Magistrale in Informatica Nicola Fanizzi Dipartimento di Informatica Universita` degli Studi di Bari

December 17, 2008

Corso di Apprendimento Automatico

Kernel Methods


Obiettivi

passare in rassegna le idee principali su cui si basano gli algoritmi di apprendimento mediante kernel presentare alcuni algoritmi basati su queste idee esempi di dati ed applicazioni che si possono trattare stringhe, insiemi, vettori, alberi classificazione testo

estensione alle rappresentazioni complesse

Corso di Apprendimento Automatico

Kernel Methods


Apprendimento con Kernel Methods (KM) KM famiglia di algoritmi per l’analisi di pattern Tra i piu` noti: Support Vector Machine scopo molto generale dato un insieme di dati (in qualunque forma), ad es. vettori di attributi sequenze di proteine rappresentazioni di geni documenti testuali ed ipertestuali ...

trovare pattern (relazioni) di interesse: classificazione, clustering, ranking, correlazione, regressione, componenti principali, etc., . . .

escludendo quelli instabili (= overfitting)

Corso di Apprendimento Automatico

Kernel Methods


Informalmente...

La classe dei KM definisce implicitamente la classe dei possibili pattern, introducendo una nozione di similarita` tra dati Esempi: similarita` tra documenti: basata sulla lunghezza basata sull’argomento basata sulla lingua ...

la scelta del criterio di similarita` determina la scelta delle caratteristiche (features) rilevanti

Corso di Apprendimento Automatico

Kernel Methods


Notazione

Dati un insieme X (input set) un insieme Y (output set), ad es. Y = {−1, +1} un sottoinsieme finito S ⊆ (X × Y ) (di solito di distribuzione sconosciuta) con elementi (xi , yi ) ∈ S ⊆ (X × Y ) Trovare una funzione y = h(x) che sia coerente con i dati h si adatta (fits) ai dati evitando l’overfitting h puo` variare a seconda degli obiettivi scelti

Corso di Apprendimento Automatico

Kernel Methods


Metodi di Discriminazione Lineare I Prodotto interno tra vettori hx, zi =

Pn

i=1 xi zi

Iperpiano hx, wi + b = 0

x

x x

o

o

b o

w

x x

o o

Corso di Apprendimento Automatico

o

Kernel Methods


Metodi di Discriminazione Lineare II

Dati {xi } in uno spazio vettoriale X , diviso in 2 classi {−1, +1} Trovare una separazione lineare ossia un iperpiano hw, xi + b = 0 Metodi lineari come il percettrone [Rosenblatt,57]

Corso di Apprendimento Automatico

x

x x

o

o

b o

Kernel Methods

w

x x

o o

o


Percettrone

Separazione lineare dello spazio di input f (x) = hw, xi + b x

x x

o

o

b o

w

x x

o o

o

Corso di Apprendimento Automatico

Ipotesi h(x) = sign(f (x)) Algoritmo regola di aggiornamento: se yi hwk , xi i ≤ 0 allora wk+1 ← wk + ηyi xi k ←k +1

Kernel Methods


Osservazioni soluzione: combinazione lineare dei punti (di training): X w= αi yi xi con αi ≥ 0 sono impiegati solo punti informativi (mistake driven) ogni coefficiente nella combinazione e` non-negativo; ` del punto corrispondente riflette la “difficolta” x

x x

x x

Mistake bound: M ≤ (R/γ)2

o o

x o

o o

Corso di Apprendimento Automatico

Kernel Methods

o

o

x

x


Rappresentazione Duale Riscrivendo1 la funzione di decisione: X f (x) = hw, xi + b = αi yi hxi , xi + b dove w =

P

αi yi xi

Servono solo i prodotti interni tra i punti (non le loro coordinate) hxj , xi i Riscrivendo la regola di aggiornamento equivalente: P se yi k αk yk hxk , xi i + b ≤ 0 allora αi ← αi + η Si passa da dim. parametri w = dim. dello spazio dei dati |X | a dim. parametri α = dim. del campione |S| 1

Nota. xi , w sono vettori, αi , yi sono scalari Corso di Apprendimento Automatico

Kernel Methods


Limiti e soluzioni

Limiti 1 I classificatori lineari semplici non possono trattare

Possibili Soluzioni 1

Rete di classificatori lineari semplici: es. una rete neurale Problemi: minimi locali, proliferazione di parametri, necessita` di euristiche, ...

2

Mappare i dati in uno spazio piu` ricco che includa caratteristiche non lineari e usare un classificatore lineare

dati non linearmente separabili dati rumorosi 2

Questa formulazione del problema tratta solo dati in forma vettoriale

Corso di Apprendimento Automatico

Kernel Methods


Lavorare in uno spazio di feature I Mappare i dati in un nuovo spazio di feature F x −→ φ(x)

 (x)

 (x)

x

x x

o

o o o

 (x)

o

 (o)  (o) o

o

 (o)

x

x

x

Corso di Apprendimento Automatico

 (o)

 (x)  (x)  (x)

 (o)  (o)

Kernel Methods


Lavorare in uno spazio di feature II

Problemi Lavorare in uno spazio ad alta dimensionalita` risolve il problema anche per funzioni molto complesse ma sussistono 1

problemi di efficienza computazionale lavorando con grandi vettori

2

problemi di (teoria della) generalizzazione curse of dimensionality

Corso di Apprendimento Automatico

Kernel Methods


Kernel e mapping implicito I

x → φ(x)

I Kernel Methods lavorano: mappando (implicitamente) i dati su un diverso spazio vettoriale F (feature space o embedding space) cercando relazioni (lineari) in tale spazio

Corso di Apprendimento Automatico

Kernel Methods


Kernel e mapping implicito II Osservazioni 1

Se la corrispondenza viene scelta accuratamente, le relazioni potranno essere semplici e facilmente deducibili

2

La geometria dei dati nello spazio F (posizioni relative) e` contenuta nei prodotti interni (rappresentazione duale): X f (x) = αi yi hφ(xi ), φ(x)i + b

3

Si puo` lavorare su tale spazio con un prodotto interno definito sui suoi punti

4

Prodotto spesso calcolabile in modo molto efficiente anche se la dim. di F e anche φ possono restare ignote

Corso di Apprendimento Automatico

Kernel Methods


Kernel I

K (x, z) = hφ(x), φ(z)i

I kernel sono funzioni che calcolano prodotti interni tra le immagini di punti in un qualche spazio Sostituendo i kernel ai prodotti negli algoritmi lineari si ottengono rappresentazioni flessibili La scelta di K equivale alla scelta di φ, della ossia la mappatura per l’embedding Anche per spazi di grandi dimensioni, i kernel sono spesso calcolabili in modo efficiente

Corso di Apprendimento Automatico

Kernel Methods


Kernel II

Possono lavorare in modo naturale con tipi di dati generici non vettoriali Esistono kernel per sequenze (basati sullo string-matching o su HMM [Haussler]) kernel per alberi, grafi, struttura generiche kernel semantici per il testo, ecc. kernel basati su modelli generativi

Corso di Apprendimento Automatico

Kernel Methods


Teorema di Mercer I

Dato un campione S dei dati si puo` definire una matrice di kernel    K = 

hx1 , x1 i hx2 , x1 i .. .

hx1 , x2 i hx2 , x2 i .. .

... ... .. .

hx1 , xm i hx2 , xm i .. .

hxm , x1 i hxm , x2 i . . . hxm , xm i nota anche come Gram matrix

Corso di Apprendimento Automatico

Kernel Methods

    


Teorema di Mercer II La matrice di un kernel e` simmetrica e (semi-)definita positiva (∀v : v t Mv ≥ 0) Ogni matrice simmetrica definita positiva puo` essere considerata come matrice di kernel (prodotto interno in un certo spazio) Teorema [Mercer] Ogni funzione K (semi-)definita positiva simmetrica e` un kernel ossia, esiste una φ tale che si possa scrivere: K (x, z) = hφ(x), φ(z)i

richiamo: K definita positiva sse Z ∀f ∈ L2 : K (x, z)f (x)f (z)dxdz ≥ 0 Corso di Apprendimento Automatico

Kernel Methods


Teorema di Mercer III

Espansione dei kernel di Mercer negli autovalori (eigenvalues) K (x, z) =

X

λi φi (x)φi (xz)

i

con λi > 0 or v t Kv > 0

∀v 6= 0

Si dice anche che le autofunzioni (eigenfunction) {φi }ni=1 si comportano come feature

Corso di Apprendimento Automatico

Kernel Methods


Esempi di kernel I

Polinomiale: K (x, z) = (hx, zi + θ)d con d, θ ∈ R

Gaussiano: K (x, z) = exp(−kx − zk2 /c) con c ∈ R

Sigmoidale: K (x, z) = tanh(κhx, zi + θ) con κ, θ ∈ R

Corso di Apprendimento Automatico

Kernel Methods


Esempi di kernel II

Multiquadratico inverso: K (x, z) = 1/

q kx − zk2 + c 2

con c ∈ R+

Normalizzazione: x 7→ φ(x) 7→  K (x, z) =

φ(x) ||φ(x)||

φ(x) φ(z) , ||φ(x)|| ||φ(z)||

Corso di Apprendimento Automatico



K (x, z) =p K (x, x)K (z, z)

Kernel Methods


Esempi di kernel III Un kernel puo` essere considerato un’oracolo che indovini la similarita` degli input sotto la distribuzione q(f ): Z Kq (x, z) =

f (x)f (z)q(f )df q

= Pq (f (x) = f (z)) − Pq (f (x) 6= f (z))

Dati due sottoinsiemi A, B ⊆ U: K (A, B) = 2|A∩B|

Corso di Apprendimento Automatico

Kernel Methods


Esempi di kernel IV Kernel Polinomiale K (x, z) = (hx, zi + θ)d Consideriamo lo spazio X = R2 con d = 2 e θ = 0 Dati: x = (x1 , x2 ) e z = (z1 , z2 ) K (x, z) = hx, zi2 = = = = =

(x1 z1 + x2 z2 )2 = x12 z12 + x22 z22 + 2x1 x√ 2 z1 z2 = √ 2 2 2 2 2= x1 z1 + x2 z2 + √ x1 x2 2 · z1 z2 √ h(x12 , x22 , x1 x2 2), (z12 , z22 , z1 z2 2)i = hφ(x), φ(z)i

Corso di Apprendimento Automatico

Kernel Methods


Esempi di kernel V Metodo lineare + kernel polinomiale per apprendere, in modo efficiente, separazioni in origine non lineari

 (x) x

 (x)

x o

o

x

o

o

o x

x

o

 (x)

o

 (o)

 (x)  (x)

 (o)  (o)  (o)

 (o)  (o)

√ x = (x1 , x2 ) −→ (x12 , x22 , 2x1 x2 ) = φ(x)

Corso di Apprendimento Automatico

Kernel Methods


Esempi di kernel VI Kernel Gaussiano Iperpiano in uno spazio individuato da un kernel gaussiano:

Corso di Apprendimento Automatico

Kernel Methods


Costruire nuovi kernel I

La classe dei kernel e` chiusa rispetto a varie operazioni: dati i kernel K e K 0 per un certo spazio X cK e` un kernel ∀c ∈ R K ± K 0 e` un kernel quindi anche aK ± bK 0 e` un kernel ∀(a, b) ∈ R2 si dice anche che la classe costituisce un cono chiuso convesso

prodotto: K = K1 · K2 e` un kernel K (x, z) = f (x)f (z) e` un kernel K (x, z) = K 0 (φ(x), φ(z))

Corso di Apprendimento Automatico

∀φ : X 7→ RN

Kernel Methods


Costruire nuovi kernel II

K (x, z) = x t Bz

∀B semi-definite positive

zero-estensione: se K e` un kernel per X allora lo e` anche per ogni S ⊇ X , ponendo: K (x, z) = 0 se x ∈ S \ X o z ∈ S \ X inoltre la classe e` chiusa rispetto alla somma diretta ⊕ e al prodotto tensoriale ⊗

Corso di Apprendimento Automatico

Kernel Methods


Costruire nuovi kernel III convoluzione [Haussler,99] Dato un insieme di kernel {Kd : Xd × Xd 7→ R | d = 1, . . . , D}, siano x, z ∈ X punti complessi che raggruppano elementi da questi spazi, scomponibili mediante la relazione R ⊆ X1 × · · · × XD × X (i.e. valgono R(x1 , . . . , xD , x) e R(z1 , . . . , zD , z)): X

K (x, z) =

~x ∈ R −1 (x) ~z ∈ R −1 (z)

D Y

Kd (xd , zd )

d=1

dove R −1 (x) restituisce il vettore delle d componenti di x

Corso di Apprendimento Automatico

Kernel Methods


Scelta del kernel Kernel con matrice pressoche` diagonale (i.e. punti ortogonali tra loro)  1 0 ... 0  0 1 ... 0  K = . . . .  .. .. . . ..

    

0 0 ... 1 manca di strutturazione ⇒ inutile Problema che puo` discendere dal mapping su uno spazio con troppe feature irrilevanti Per scegliere un buon kernel occorre conoscenza di fondo sulla funzione (concetto) obiettivo

Corso di Apprendimento Automatico

Kernel Methods


Modularita` I

Esistono sia algoritmi sia kernel piu` sofisticati di quello lineare o polinomiale f (x) =

X i

伪i 路 K (xi , x) |{z} | {z }

Learning

Kernel

Idea: un modulo di apprendimento general-purpose dei coefficienti e un kernel specifico per il problema (rappresentazione) Ideale da un punto di vista ingegneristico

Corso di Apprendimento Automatico

Kernel Methods


Modularita` II

Apprendimento 1

si estrae dal dataset la matrice del kernel

2

si analizzano i dati sulla base dell’informazione contenuta nella matrice K(x,z)

dati

matrice del kernel K funzione kernel

Corso di Apprendimento Automatico

A

f  x =∑i i⋅K x i ,x  algoritmo di learning

Kernel Methods


Problema della Generalizzazione

Sarebbe facile, dati N esempi di training mappare gli stessi su uno spazio di (almeno) N dimensioni Curse of dimensionality: facile cadere nell’overfitting in spazi a piu` dimensioni le regolarita` trovate nel training set sono spesso solo accidentali

il problema e` ancora mal posto: tra tanti possibili iperpiani trovare i migliori occorrono quindi principi su cui basare la scelta Bayes, MDL, Statistical Learning Theory / PAC, . . .

Corso di Apprendimento Automatico

Kernel Methods


Statistical Learning Theory (SLT)

SLT Testi: [Vapnik,95] [Vapnik,98] Limitare il rischio di overfitting Ricorrendo alla SLT si possono dare limiti inferiori e superiori proporzionali alla dimensione VC (Vapnik-Chervonenkis) misura del piu` grande sottoinsieme di X separabile (shattered) dall’ipotesi h

VC ∝ m (dim. spazio F ) VC = n. di dimensioni di X + 1  m ˜ ε = O(VC/m) Come scegliere l’iperpiano? Corso di Apprendimento Automatico

Kernel Methods


Errore e Funzioni di Rischio Migliore funzione h(·) Obiettivo: minimizzare l’errore atteso (rischio) Z R(h) = l(h(x), y)dP(x, y ) dove l denota un’opportuna loss function Ad es. l(h(x), y) = Θ(−yh(x)) (0/1 loss function)  0 z<0 Θ(z) = 1 altrimenti Sfortunatamente distribuzione P ignota ⇒ R non puo` essere minimizzato direttamente

Corso di Apprendimento Automatico

Kernel Methods


Rischio Empirico

Minimizzare lâ&#x20AC;&#x2122;errore empirico (sul training set) 1X Remp (h) = l(h(xi ), yi ) n i

Rappresenta una stima di R: per la legge dei grandi numeri lim Remp (h) = R(h)

nâ&#x2020;&#x2019;â&#x2C6;&#x17E;

Come fare per piccoli campioni di dati ?

Corso di Apprendimento Automatico

Kernel Methods


Problema del sovradattamento

Controllare la complessita` di h: preferire funzioni semplici (es. lineari) (rasoio di Occam) termini di regolarizzazione per limitare la complessita` delle funzioni che lâ&#x20AC;&#x2122;algoritmo puo` scegliere comporta problemi di selezioni del modello (model selection): come trovare la complessita` ottimale della funzione ?

Un criterio e` basato sulla dim. VC della classe di funzioni da cui scegliere h

Corso di Apprendimento Automatico

Kernel Methods


Dimensione VC I

La VC dimension misura ricchezza e flessibilita` di una famiglia di ipotesi: Def. [VC dimension] Data una famiglia di funzioni H = {hj }, la VC dimension e` il numero d tale che: Esiste almeno un insieme di d esempi che possono essere classificati in qualsiasi maniera da funzioni di H; ossia, per ogni possibile classificazione dei d esempi, esiste una funzione in H che assegni la classe corretta Non esiste nessun insieme di d + 1 esempi che possono essere classificati in qualsiasi modo

Corso di Apprendimento Automatico

Kernel Methods


Dimensione VC II Esempio: semi-spazi in R2 : h(x1 , x2 ) = w0 + w1 x1 + w2 x2 si possono separare fino a 3 punti (non sulla stessa retta) non si possono separare 4 punti La VC dimension e` allora 3 (pari anche al num. di parametri)

Corso di Apprendimento Automatico

Kernel Methods


Limitare la Complessita` I

Teorema [Vapnik] Data una funzione h scelta in una classe H r d(ln(2n/d) + 1) − ln(δ/4)) R(h) ≤ Remp (h) + n con probabilita 1 − δ per n > d Remp definito dalla loss function d VC-dimension della classe H δ parametro di confidenza

Corso di Apprendimento Automatico

Kernel Methods

(1)


Limitare la Complessita` II

Osservazioni Il limite non dipende dalla distribuzione degli esempi Il limite non e` asintotico ma calcolabile per ogni d finita La differenza tra i rischi - si riduce al crescere di n - cresce al crescere di d A parita` di rischio empirico, si ottiene un limite inferiore scegliendo una ipotesi da una famiglia con VC-dimension minore

Corso di Apprendimento Automatico

Kernel Methods


Limitare la Complessita` III

Tornando alla relazione (1) del teorema, occorre (contemporaneamente): tenere basso Remp â&#x2030;&#x2C6; 0 controllare la complessita` della funzione h della famiglia H In pratica, VC-dimension: ignota infinita

Corso di Apprendimento Automatico

Kernel Methods


Limitare la Complessita` IV Due ipotesi: una piu` semplice h1 (linea continua) e una piu` complessa h2 (linea tratteggiata) h1 h2

Piccolo campione di dati 1

h1 e h2 potrebbero essere corrette entrambe, ma h2 ha meno errore di training

Campione piu` grande: 2

se fosse corretta h2 , h1 sarebbe in sottoadattamento (underfit)

3

se fosse corretta h1 , h2 sarebbe in sovradattamento (overfit) Corso di Apprendimento Automatico

Kernel Methods


Limitare la Complessita` V

in generale: iperpiani separatori in Rn hanno dimensione VC pari a n+1 quindi iperpiani per spazi di feature di grandi dimensioni avranno una grande VC dimension La complessita` puo` essere limitata mediante iperpiani che massimizzino i margini (con bassa VC-dimension)

Corso di Apprendimento Automatico

Kernel Methods


Support Vector Machine (SVM)

Si miminizza il rischio scegliendo iperpiani che massimizzano i margini nello spazio delle feature Le SVM controllano la capacita` aumentando il margine, e non riducendo il numero di gradi di liberta` Ben fondate su basi statistiche (SLT) Popolari tra gli addetti ai lavori introdotte a COLTâ&#x20AC;&#x2122;92 [Boser, Guyon & Vapnik,92]

Rappresentano lo stato dellâ&#x20AC;&#x2122;arte in molte applicazioni

Corso di Apprendimento Automatico

Kernel Methods


Margini I

iperpiano individuato in base ad un sottoinsieme di esempi detti support vector

Corso di Apprendimento Automatico

x

2/ |

margine: distanza dellâ&#x20AC;&#x2122;iperpiano dal punto piu` vicino (nella separazione)

|w

||

Criterio massimizzazione del margine (nello spazio F ) x

o

x x

o

x x

o

o

o o

Kernel Methods

x

o

x

<w <w <w ,x> ,x> ,x> +b +b = 0 +b = =1 +1


Margini II Nell’ipotesi che un iperpiano hw, xi + b di separazione esista Siano x+ ∈ P + e x− ∈ P − punto piu` vicino a x+ con P + : hw, xi i + b = +1 e P − : hw, xi i + b = −1. Quindi: hw, x+ i + b = +1 e hw, x− i + b = −1 Da cui, sottranendo m. a m. e normalizzando w, il margine risulta:   2 w , (x+ − x− ) = = 2C kwk kwk distanza tra i due punti (sulla perpendicolare) Massimizzare il margine 2C equivale a minimizzare ||w||2 o anche ||w||2 /2 (per convenienza di calcolo) Corso di Apprendimento Automatico

Kernel Methods


|w

||

Margini III

2/ |

x x

o

x x

o

x x

o

x

o

o

o

o

Corso di Apprendimento Automatico

x

<w <w <w ,x> ,x> ,x> +b +b = 0 +b = =1 +1

Kernel Methods


Margini e VC-dimension

[Vapnik,95] d ≤ Λ2 R 2 e kwk2 ≤ Λ dove R = raggio della ipersfera piu` piccola attorno ai punti Occorre: 1

limitare il margine si controlla la dimensione VC

2

si possono usare funzioni lineari mediante i kernel

Corso di Apprendimento Automatico

Kernel Methods


Problema di apprendimento per le SVM

Problema trovare un iperpiano che massimizzi i margini usando un iperipiano come classificatore per X condizioni di assenza di errore: yi (hw, xi i + b) ≥ 1, i = 1, . . . , n usando un classificatore non lineare per F : yi (hw, φ(xi )i + b) ≥ 1, i = 1, . . . , n Si devono apprendere w ∈ F e b in modo da minimizzare il rischio: rischio empirico + complessita` Remp ≈ 0 controllare la complessita` attraverso la dim. VC, cfr. eq. precedenti: d ≤ kwk2 R 2

Corso di Apprendimento Automatico

Kernel Methods


Programmazione Quadratica

Problema risolubile mediante tecniche di Programmazione Quadratica (QP) convessa la cui formulazione consente di trattare anche il rumore Problema trovare un iperpiano tale che minw,b 12 kwk2 sub yi (hw, Ď&#x2020;(xi )i + b) â&#x2030;Ľ 1,

Corso di Apprendimento Automatico

Kernel Methods

i = 1, . . . , n


Problemi in QP

Primale 1 2 hw, wi

P − αi [yi (hw, xi i + 2) − 1] sotto le condizioni: αi ≥ 0

utilizzando il metodo dei moltiplicatori di Lagrange si puo` riscrivere il problema nella forma Duale P P W (α) = i αi − 12 i,j αi αj yi yj hxi , xj i sotto le condizioni: α Pi n≥ 0 i=1 αi yi = 0

Corso di Apprendimento Automatico

Kernel Methods


Proprieta` della soluzione

Problema di ottimizzazione convesso con un’unica soluzione α∗ α∗ gode di una delle proprieta` di ottimalita` di Karush-Kuhn-Tucker (KKT): coefficienti αi∗ tutti nulli tranne quelli relativi ai vettori di supporto (i piu` vicini al separatore) Il duale w ∗ risulta una combinazione lineare di tali vettori: X w∗ = αi∗ yi xi i

Corso di Apprendimento Automatico

Kernel Methods


Funzione di decisione con SVM

Passando ai kernel il termine hxi , xj i diventa hφ(xi ), φ(xj )i e quindi K (xi , xj ) Il che porta alla funzione di decisione: h(x) = sgn

n X

! yi αi hφ(xi ), φ(x)i + b

i=1

= sgn

n X

! yi αi K (xi , x) + b

i=1

Corso di Apprendimento Automatico

Kernel Methods


Separazione non Lineare Passando ai kernel si possono apprendere funzioni non lineari:

+ + * *

*

*

+

+

+

+

*

+

* *

+

+

* * *

* *

Corso di Apprendimento Automatico

Kernel Methods


Hard e Soft-margin SVM

hard-margin SVM modello consistente con gli esempi a disposizone puo` essere reso instabile all’arrivo di nuovi esempi → serve prevedere la presenza di outlier/rumore soft-margin SVM utilizzando variabili slack, il problema diventa: yi (hw, φ(xi )i + b) ≥ 1 − ξi

i = 1, . . . , n

consentendo errori di classificazione in fase di training

Corso di Apprendimento Automatico

Kernel Methods


Rumore I

x x

xj o

xj

x

oi

xi

o

x x

o

o o

x

o

Corso di Apprendimento Automatico

o

Kernel Methods

x

x


Rumore II Oltre a controllare la complessitP a` attraverso la dim. VC, occorre controllare il limite per ni=1 ξi nell’errore empirico: ! n X 1 min kwk2 + C ξi 2 w,b,ξ i=1

C = termine di regolarizzazione per bilanciare le due fonti Problema Duale P P W (α) = i αi − 12 ij αi αj yi yj hxi , xj i sotto le condizioni: 0 αi ≤ C (box constraint) P≤ n i=1 αi yi = 0

Risolto nella medesima maniera

Corso di Apprendimento Automatico

Kernel Methods


Rumore III

Osservazioni αi∗ = 0 es. classificato correttamente; 0 < αi∗ < C es. all’interno del margine, compreso tra l’iperpiano dei SV e l’iperpiano classificatore e dalla parte giusta; αi∗ = C es. classificato erroneamente, pesato con C indipendentemente dalla sua distanza dall’iperpiano classificatore;

Corso di Apprendimento Automatico

Kernel Methods


Calcolo della soglia b Si utilizzano i casi delle xi in cui la variabile slack ξi = 0. Se la matrice e` sparsa allora valgono le condizioni di ottimalita` KKT: 0 ≤ αi ≤ C ⇒ yi h(xi ) = 1 ossia per i support vector xi risulta i ∈ I = {k | 0 < αk < C}, quindi:   n X yi b + αj yj k (xi , xj ) = 1 j=1

da cui, mediando:   n X 1 X yi − αj yj k(xi , xj ) b= |I| i∈I

Corso di Apprendimento Automatico

j=1

Kernel Methods


Proprieta` delle SVM

1

2

3 4

Convessita` niente minimi locali: training = ottimizzazione convessa ` lavorano sul problema in forma duale cui applicare Dualita: il kernel trick ` basate su pochi vettori (di supporto) Sparsita: Complessita` polinomiale

Corso di Apprendimento Automatico

Kernel Methods


SVM: un bilancio

Vantaggi

Svantaggi

risuluzione problemi non-lineari

la scelta del kernel risulta decisiva

eliminando il problema della dimensionalita`

training lento con grandi dataset

ottimizzazione globale

non trattano dati discreti

intepretazione geometrica

non incrementale

prestazioni che dipendono dal numero di SV

difficile da generalizzare al caso multiclassi

Corso di Apprendimento Automatico

Kernel Methods


Credits

John Shawe-Taylor & Nello Cristianini Kernel Methods for Pattern Analysis, Cambridge University Press, 2004 ¨ ¨ K.-R. Muller, S. Mika, F. Ratsch, K. Tsuda, B. Scholkopf ¨ An Introduction to Kernel-Based Learning Algorithms In: IEEE Transactions on Neural Networks, Vol. 12, No. 2, 2001 Support Vector and Kernel Machines di Nello Cristianini (Tutorial ICML 2001) Altri testi, articoli, survey e tutorial: http://www.kernel-machines.org http://www.support-vector.net

Corso di Apprendimento Automatico

Kernel Methods


Kernel Methods