kernel methods

63
Kernel Methods Corso di Apprendimento Automatico Laurea Magistrale in Informatica Nicola Fanizzi Dipartimento di Informatica Universit ` a degli Studi di Bari December 17, 2008 Corso di Apprendimento Automatico Kernel Methods

Upload: nicola-fanizzi

Post on 07-Mar-2016

248 views

Category:

Documents


0 download

DESCRIPTION

scopo molto generale dato un insieme di dati (in qualunque forma), ad es. La classe dei KM definisce implicitamente la classe dei possibili pattern, introducendo una nozione di similarit ` a tra dati Esempi: similarit ` a tra documenti: Mappare i dati in uno spazio pi ` u ricco che includa caratteristiche non lineari e usare un classificatore lineare Si pu ` o lavorare su tale spazio con un prodotto interno definito sui suoi punti

TRANSCRIPT

Page 1: Kernel Methods

Kernel Methods

Corso di Apprendimento AutomaticoLaurea Magistrale in Informatica

Nicola Fanizzi

Dipartimento di InformaticaUniversita degli Studi di Bari

December 17, 2008

Corso di Apprendimento Automatico Kernel Methods

Page 2: Kernel Methods

Obiettivi

passare in rassegna le idee principali su cui si basano glialgoritmi di apprendimento mediante kernelpresentare alcuni algoritmi basati su queste ideeesempi di dati ed applicazioni che si possono trattare

stringhe, insiemi, vettori, albericlassificazionetesto

estensione alle rappresentazioni complesse

Corso di Apprendimento Automatico Kernel Methods

Page 3: Kernel Methods

Apprendimento con Kernel Methods (KM)

KM famiglia di algoritmi per l’analisi di patternTra i piu noti: Support Vector Machinescopo molto generaledato un insieme di dati (in qualunque forma),ad es.

vettori di attributisequenze di proteinerappresentazioni di genidocumenti 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

Page 4: Kernel Methods

Informalmente...

La classe dei KM definisce implicitamente la classe deipossibili pattern, introducendo una nozione di similarita tradatiEsempi: similarita tra documenti:

basata sulla lunghezzabasata sull’argomentobasata sulla lingua. . .

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

Corso di Apprendimento Automatico Kernel Methods

Page 5: Kernel Methods

Notazione

Datiun 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 datih si adatta (fits) ai dati evitando l’overfitting

h puo variare a seconda degli obiettivi scelti

Corso di Apprendimento Automatico Kernel Methods

Page 6: Kernel Methods

Metodi di Discriminazione Lineare I

Prodotto interno tra vettori 〈x , z〉 =∑n

i=1 xizi

Iperpiano 〈x ,w〉+ b = 0

x

x x

xo

o

o

o

bb

ww

x

o

o

Corso di Apprendimento Automatico Kernel Methods

Page 7: Kernel Methods

Metodi di Discriminazione Lineare II

Dati {xi} in uno spaziovettoriale X , diviso in 2classi {−1,+1}Trovare una separazionelineare ossia un iperpiano〈w , x〉+ b = 0Metodi linearicome il percettrone[Rosenblatt,57]

x

x x

xo

o

o

o

bb

ww

x

o

o

Corso di Apprendimento Automatico Kernel Methods

Page 8: Kernel Methods

Percettrone

x

x x

xo

o

o

o

bb

ww

x

o

o

Separazione lineare dellospazio di inputf (x) = 〈w , x〉+ bIpotesih(x) = sign(f (x))

Algoritmoregola di aggiornamento:se yi〈wk , xi〉 ≤ 0allora

wk+1 ← wk + ηyixik ← k + 1

Corso di Apprendimento Automatico Kernel Methods

Page 9: Kernel Methods

Osservazioni

soluzione: combinazione lineare dei punti (di training):

w =∑

αiyixi

con αi ≥ 0sono impiegati solo punti informativi (mistake driven)ogni coefficiente nella combinazione e non-negativo;riflette la “difficolta” del punto corrispondente

Mistake bound: M ≤ (R/γ)2

x

xx

xo

o

o

o

x

x

o

o

o

x

x

Corso di Apprendimento Automatico Kernel Methods

Page 10: Kernel Methods

Rappresentazione Duale

Riscrivendo1 la funzione di decisione:

f (x) = 〈w , x〉+ b =∑

αiyi〈xi , x〉+ b

dove w =∑αiyixi

Servono solo i prodotti interni tra i punti(non le loro coordinate) 〈xj , xi〉Riscrivendo la regola di aggiornamento equivalente:se yi

∑k αkyk 〈xk , xi〉+ b ≤ 0

allora αi ← αi + η

Si passada dim. parametri w = dim. dello spazio dei dati |X |a dim. parametri α = dim. del campione |S|

1Nota. xi ,w sono vettori, αi , yi sono scalariCorso di Apprendimento Automatico Kernel Methods

Page 11: Kernel Methods

Limiti e soluzioni

Limiti1 I classificatori lineari

semplici non possonotrattare

dati non linearmenteseparabilidati rumorosi

2 Questa formulazione delproblema tratta solo dati informa vettoriale

Possibili Soluzioni1 Rete di classificatori lineari

semplici:es. una rete neuraleProblemi: minimi locali,proliferazione di parametri,necessita di euristiche, ...

2 Mappare i dati in unospazio piu ricco cheincluda caratteristiche nonlineari e usare unclassificatore lineare

Corso di Apprendimento Automatico Kernel Methods

Page 12: 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) (o)

(o)

(o)

(o)

xx

x

x

o

oo

o

(x)

xo

oo

(o)

(o)

x

(x)

Corso di Apprendimento Automatico Kernel Methods

Page 13: Kernel Methods

Lavorare in uno spazio di feature II

ProblemiLavorare in uno spazio ad alta dimensionalita risolve ilproblema anche per funzioni molto complesse

ma sussistono

1 problemi di efficienza computazionalelavorando con grandi vettori

2 problemi di (teoria della) generalizzazionecurse of dimensionality

Corso di Apprendimento Automatico Kernel Methods

Page 14: Kernel Methods

Kernel e mapping implicito I

I Kernel Methods lavorano:mappando(implicitamente) i dati suun diverso spaziovettoriale F(feature space oembedding space)cercando relazioni (lineari)in tale spazio

x → φ(x)

Corso di Apprendimento Automatico Kernel Methods

Page 15: Kernel Methods

Kernel e mapping implicito II

Osservazioni1 Se la corrispondenza viene scelta accuratamente, le

relazioni potranno essere semplici e facilmente deducibili2 La geometria dei dati nello spazio F (posizioni relative) e

contenuta nei prodotti interni (rappresentazione duale):

f (x) =∑

αiyi〈φ(xi), φ(x)〉+ b

3 Si puo lavorare su tale spazio con un prodotto internodefinito sui suoi punti

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

Corso di Apprendimento Automatico Kernel Methods

Page 16: Kernel Methods

Kernel I

K (x , z) = 〈φ(x), φ(z)〉

I kernel sono funzioni che calcolano prodotti interni tra leimmagini di punti in un qualche spazio

Sostituendo i kernel ai prodotti negli algoritmi lineari siottengono 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 spessocalcolabili in modo efficiente

Corso di Apprendimento Automatico Kernel Methods

Page 17: Kernel Methods

Kernel II

Possono lavorare in modo naturale con tipi di dati genericinon vettorialiEsistono

kernel per sequenze (basati sullo string-matching o suHMM [Haussler])kernel per alberi, grafi, struttura generichekernel semantici per il testo, ecc.kernel basati su modelli generativi

Corso di Apprendimento Automatico Kernel Methods

Page 18: Kernel Methods

Teorema di Mercer I

Dato un campione S dei datisi puo definire una matrice di kernel

K =

〈x1, x1〉 〈x1, x2〉 . . . 〈x1, xm〉〈x2, x1〉 〈x2, x2〉 . . . 〈x2, xm〉

......

. . ....

〈xm, x1〉 〈xm, x2〉 . . . 〈xm, xm〉

nota anche come Gram matrix

Corso di Apprendimento Automatico Kernel Methods

Page 19: Kernel Methods

Teorema di Mercer II

La matrice di un kernel e simmetrica e (semi-)definitapositiva (∀v : v tMv ≥ 0)Ogni matrice simmetrica definita positiva puo essereconsiderata come matrice di kernel (prodotto interno in uncerto spazio)

Teorema [Mercer]Ogni funzione K (semi-)definita positiva simmetrica e un kernelossia, esiste una φ tale che si possa scrivere:

K (x , z) = 〈φ(x), φ(z)〉

richiamo: K definita positiva sse

∀f ∈ L2 :

∫K (x , z)f (x)f (z)dxdz ≥ 0

Corso di Apprendimento Automatico Kernel Methods

Page 20: Kernel Methods

Teorema di Mercer III

Espansione dei kernel di Mercer negli autovalori(eigenvalues)

K (x , z) =∑

i

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

con λi > 0 or v tKv > 0 ∀v 6= 0

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

Corso di Apprendimento Automatico Kernel Methods

Page 21: Kernel Methods

Esempi di kernel I

Polinomiale:K (x , z) = (〈x , z〉+ θ)d

con d , θ ∈ R

Gaussiano:

K (x , z) = exp(−‖x − z‖2/c)

con c ∈ R

Sigmoidale:

K (x , z) = tanh(κ〈x , z〉+ θ)

con κ, θ ∈ R

Corso di Apprendimento Automatico Kernel Methods

Page 22: Kernel Methods

Esempi di kernel II

Multiquadratico inverso:

K (x , z) = 1/√‖x − z‖2 + c2

con c ∈ R+

Normalizzazione: x 7→ φ(x) 7→ φ(x)||φ(x)||

K (x , z) =

⟨φ(x)

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

||φ(z)||

⟩=

K (x , z)√K (x , x)K (z, z)

Corso di Apprendimento Automatico Kernel Methods

Page 23: Kernel Methods

Esempi di kernel III

Un kernel puo essere considerato un’oracolo che indovinila similarita degli input sotto la distribuzione q(f ):

Kq(x , z) =

∫q

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

= 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

Page 24: Kernel Methods

Esempi di kernel IV

Kernel Polinomiale K (x , z) = (〈x , z〉+ θ)d

Consideriamo lo spazio X = R2

con d = 2 e θ = 0

Dati:x = (x1, x2) ez = (z1, z2)

K (x , z) = 〈x , z〉2 = (x1z1 + x2z2)2 == x2

1 z21 + x2

2 z22 + 2x1x2z1z2 =

= x21 z2

1 + x22 z2

2 + x1x2√

2 · z1z2√

2 =

= 〈(x21 , x

22 , x1x2

√2), (z2

1 , z22 , z1z2

√2)〉 =

= 〈φ(x), φ(z)〉

Corso di Apprendimento Automatico Kernel Methods

Page 25: Kernel Methods

Esempi di kernel V

Metodo lineare + kernel polinomiale per apprendere, in modoefficiente, separazioni in origine non lineari

(x)

(x) (x)

(x) (o)

(o)

(o)

(o)x

x x

xo

oo

o

(x)

x

oo

o

(o)

(o)

x = (x1, x2) −→ (x21 , x

22 ,√

2x1x2) = φ(x)

Corso di Apprendimento Automatico Kernel Methods

Page 26: Kernel Methods

Esempi di kernel VIKernel GaussianoIperpiano in uno spazio individuato da un kernel gaussiano:

Corso di Apprendimento Automatico Kernel Methods

Page 27: Kernel Methods

Costruire nuovi kernel I

La classe dei kernel e chiusa rispetto a varie operazioni:dati i kernel K e K ′ per un certo spazio X

cK e un kernel ∀c ∈ RK ± K ′ e un kernelquindi anche aK ± bK ′ e un kernel ∀(a,b) ∈ R2

si dice anche che la classe costituisce uncono chiuso convesso

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

K (x , z) = K ′(φ(x), φ(z)) ∀φ : X 7→ RN

Corso di Apprendimento Automatico Kernel Methods

Page 28: Kernel Methods

Costruire nuovi kernel II

K (x , z) = x tBz ∀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 alprodotto tensoriale ⊗

Corso di Apprendimento Automatico Kernel Methods

Page 29: 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 elementida questi spazi, scomponibili mediante la relazioneR ⊆ X1 × · · · × XD × X(i.e. valgono R(x1, . . . , xD, x) e R(z1, . . . , zD, z)):

K (x , z) =∑

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

D∏d=1

Kd (xd , zd )

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

Corso di Apprendimento Automatico Kernel Methods

Page 30: Kernel Methods

Scelta del kernel

Kernel con matrice pressoche diagonale(i.e. punti ortogonali tra loro)

K =

1 0 . . . 00 1 . . . 0...

.... . .

...0 0 . . . 1

manca di strutturazione⇒ inutile

Problema che puo discendere dal mapping su uno spaziocon troppe feature irrilevantiPer scegliere un buon kernel occorre conoscenza di fondosulla funzione (concetto) obiettivo

Corso di Apprendimento Automatico Kernel Methods

Page 31: Kernel Methods

Modularita I

Esistono sia algoritmi sia kernel piu sofisticati di quellolineare o polinomiale

f (x) =∑

i

αi︸︷︷︸Learning

·K (xi , x)︸ ︷︷ ︸Kernel

Idea: un modulo di apprendimento general-purpose deicoefficienti e un kernel specifico per il problema(rappresentazione)

Ideale da un punto di vista ingegneristico

Corso di Apprendimento Automatico Kernel Methods

Page 32: Kernel Methods

Modularita II

Apprendimento1 si estrae dal dataset la matrice del kernel2 si analizzano i dati sulla base dell’informazione contenuta

nella matrice

datidatimatrice matrice

del kernel del kernel KKfunzionefunzione

kernelkernelalgoritmoalgoritmodi learningdi learning

f x =∑i i⋅K x i,x K(x,z) AA

Corso di Apprendimento Automatico Kernel Methods

Page 33: Kernel Methods

Problema della Generalizzazione

Sarebbe facile, dati N esempi di training mappare gli stessisu uno spazio di (almeno) N dimensioniCurse of dimensionality:facile cadere nell’overfitting in spazi a piu dimensioni

le regolarita trovate nel training set sono spesso soloaccidentali

il problema e ancora mal posto:tra tanti possibili iperpiani trovare i migliori

occorrono quindi principi su cui basare la sceltaBayes, MDL, Statistical Learning Theory / PAC, . . .

Corso di Apprendimento Automatico Kernel Methods

Page 34: Kernel Methods

Statistical Learning Theory (SLT)

SLT Testi: [Vapnik,95] [Vapnik,98]Limitare il rischio di overfittingRicorrendo alla SLT si possono dare limiti inferiori esuperiori proporzionali alla dimensione VC(Vapnik-Chervonenkis)

misura del piu grande sottoinsieme di Xseparabile (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

Page 35: Kernel Methods

Errore e Funzioni di Rischio

Migliore funzione h(·)Obiettivo: minimizzare l’errore atteso (rischio)

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)

Θ(z) =

{0 z < 01 altrimenti

Sfortunatamentedistribuzione P ignota⇒ R non puo essere minimizzatodirettamente

Corso di Apprendimento Automatico Kernel Methods

Page 36: Kernel Methods

Rischio Empirico

Minimizzare l’errore empirico (sul training set)

Remp(h) =1n

∑i

l(h(xi), yi)

Rappresenta una stima di R:per la legge dei grandi numeri

limn→∞

Remp(h) = R(h)

Come fare per piccoli campioni di dati ?

Corso di Apprendimento Automatico Kernel Methods

Page 37: 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 dellefunzioni che l’algoritmo puo sceglierecomporta problemi di selezioni del modello(model selection):come trovare la complessita ottimale della funzione ?

Un criterio e basato sulla dim. VC della classe di funzionida cui scegliere h

Corso di Apprendimento Automatico Kernel Methods

Page 38: Kernel Methods

Dimensione VC I

La VC dimension misura ricchezza e flessibilita di una famigliadi 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 essereclassificati in qualsiasi maniera da funzioni di H;ossia, per ogni possibile classificazione dei d esempi,esiste una funzione in H che assegni la classe correttaNon esiste nessun insieme di d + 1 esempi che possonoessere classificati in qualsiasi modo

Corso di Apprendimento Automatico Kernel Methods

Page 39: Kernel Methods

Dimensione VC II

Esempio: semi-spazi in R2:h(x1, x2) = w0 + w1x1 + w2x2

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

Page 40: Kernel Methods

Limitare la Complessita I

Teorema [Vapnik]Data una funzione h scelta in una classe H

R(h) ≤ Remp(h) +

√d(ln(2n/d) + 1)− ln(δ/4))

n(1)

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

Page 41: Kernel Methods

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 unafamiglia con VC-dimension minore

Corso di Apprendimento Automatico Kernel Methods

Page 42: Kernel Methods

Limitare la Complessita III

Tornando alla relazione (1) del teorema, occorre(contemporaneamente):

tenere basso Remp ≈ 0

controllare la complessita della funzione h della famiglia HIn pratica, VC-dimension:

ignotainfinita

Corso di Apprendimento Automatico Kernel Methods

Page 43: Kernel Methods

Limitare la Complessita IVDue ipotesi: una piu semplice h1 (linea continua) e una piucomplessa h2 (linea tratteggiata)

h1

h2

Piccolo campione di dati1 h1 e h2 potrebbero essere corrette entrambe,

ma h2 ha meno errore di trainingCampione 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

Page 44: Kernel Methods

Limitare la Complessita V

in generale:

iperpiani separatori in Rn hanno dimensione VC pari an + 1

quindi iperpiani per spazi di feature di grandi dimensioniavranno una grande VC dimension

La complessita puo essere limitata mediante iperpiani chemassimizzino i margini (con bassa VC-dimension)

Corso di Apprendimento Automatico Kernel Methods

Page 45: Kernel Methods

Support Vector Machine (SVM)

Si miminizza il rischio scegliendo iperpiani che massimizzano imargini nello spazio delle feature

Le SVM controllano la capacita aumentando il margine, e nonriducendo il numero di gradi di liberta

Ben fondate su basi statistiche (SLT)Popolari tra gli addetti ai lavori

introdotte a COLT’92 [Boser, Guyon & Vapnik,92]

Rappresentano lo stato dell’arte in molte applicazioni

Corso di Apprendimento Automatico Kernel Methods

Page 46: Kernel Methods

Margini I

Criterio massimizzazionedel margine (nello spazio F )

margine: distanzadell’iperpiano dal puntopiu vicino (nellaseparazione)iperpiano individuato inbase ad unsottoinsieme di esempidetti support vector

x

xx

xo

ooo

x

x

o

o

ox

x

<w,x>+b = +1

<w,x>+b = -1

<w,x>+b = 0

2/||w

||

Corso di Apprendimento Automatico Kernel Methods

Page 47: Kernel Methods

Margini II

Nell’ipotesi che un iperpiano 〈w , x〉+ b di separazione esista

Siano x+ ∈ P+ e x− ∈ P− punto piu vicino a x+

con P+ : 〈w , xi〉+ b = +1 e P− : 〈w , xi〉+ b = −1.Quindi: 〈w , x+〉+ b = +1 e 〈w , x−〉+ b = −1

Da cui, sottranendo m. a m. e normalizzando w ,il margine risulta:⟨

w‖w‖

, (x+ − x−)

⟩=

2‖w‖

= 2C

distanza tra i due punti (sulla perpendicolare)

Massimizzare il margine 2C equivale a minimizzare ||w ||2 oanche ||w ||2/2 (per convenienza di calcolo)

Corso di Apprendimento Automatico Kernel Methods

Page 48: Kernel Methods

Margini III

x

xx

xo

ooo

x

x

o

o

ox

x

<w,x>+b = +1

<w,x>+b = -1

<w,x>+b = 0

2/||w

||

Corso di Apprendimento Automatico Kernel Methods

Page 49: Kernel Methods

Margini e VC-dimension

[Vapnik,95]

d ≤ Λ2R2 e ‖w‖2 ≤ Λ

dove R = raggio della ipersfera piu piccola attorno ai punti

Occorre:

1 limitare il margine si controlla la dimensione VC2 si possono usare funzioni lineari mediante i kernel

Corso di Apprendimento Automatico Kernel Methods

Page 50: Kernel Methods

Problema di apprendimento per le SVM

Problematrovare un iperpiano che massimizzi i margini

usando un iperipiano come classificatore per Xcondizioni di assenza di errore:yi(〈w , xi〉+ b) ≥ 1, i = 1, . . . ,nusando un classificatore non lineare per F :yi(〈w , φ(xi)〉+ b) ≥ 1, i = 1, . . . ,nSi devono apprendere w ∈ F e b in modo da minimizzare ilrischio: rischio empirico + complessita

Remp ≈ 0controllare la complessita attraverso la dim. VC, cfr. eq.precedenti: d ≤ ‖w‖2R2

Corso di Apprendimento Automatico Kernel Methods

Page 51: Kernel Methods

Programmazione Quadratica

Problema risolubile mediante tecniche di

Programmazione Quadratica (QP) convessa

la cui formulazione consente di trattare anche il rumore

Problematrovare un iperpiano tale che

minw ,b12‖w‖

2

sub yi(〈w , φ(xi)〉+ b) ≥ 1, i = 1, . . . ,n

Corso di Apprendimento Automatico Kernel Methods

Page 52: Kernel Methods

Problemi in QP

Primale12〈w ,w〉 −

∑αi [yi(〈w , xi〉+ 2)− 1]

sotto le condizioni:αi ≥ 0

utilizzando il metodo dei moltiplicatori di Lagrange si puoriscrivere il problema nella formaDuale

W (α) =∑

i αi − 12∑

i,j αiαjyiyj〈xi , xj〉sotto le condizioni:

αi ≥ 0∑ni=1 αiyi = 0

Corso di Apprendimento Automatico Kernel Methods

Page 53: Kernel Methods

Proprieta della soluzione

Problema di ottimizzazione convesso con un’unicasoluzione α∗

α∗ gode di una delle proprieta di ottimalita diKarush-Kuhn-Tucker (KKT):coefficienti α∗i tutti nullitranne quelli relativi ai vettori di supporto(i piu vicini al separatore)Il duale w∗ risulta una combinazione lineare di tali vettori:

w∗ =∑

i

α∗i yixi

Corso di Apprendimento Automatico Kernel Methods

Page 54: Kernel Methods

Funzione di decisione con SVM

Passando ai kernelil termine 〈xi , xj〉 diventa 〈φ(xi), φ(xj)〉 e quindi K (xi , xj)

Il che porta alla funzione di decisione:

h(x) = sgn

(n∑

i=1

yiαi〈φ(xi), φ(x)〉+ b

)

= sgn

(n∑

i=1

yiαiK (xi , x) + b

)

Corso di Apprendimento Automatico Kernel Methods

Page 55: Kernel Methods

Separazione non Lineare

Passando ai kernel si possono apprendere funzioni non lineari:

+

++

+

+

+

+

*

**

* *

*

*

+

+

***

*

*

Corso di Apprendimento Automatico Kernel Methods

Page 56: Kernel Methods

Hard e Soft-margin SVM

hard-margin SVMmodello consistente con gli esempi a disposizonepuo essere reso instabile all’arrivo di nuovi esempi→ serve prevedere la presenza di outlier/rumore

soft-margin SVMutilizzando variabili slack, il problema diventa:

yi(〈w , φ(xi)〉+ b) ≥ 1− ξi i = 1, . . . ,n

consentendo errori di classificazione in fase di training

Corso di Apprendimento Automatico Kernel Methods

Page 57: Kernel Methods

Rumore I

x

xx

xo

o

o

o

x

x

o

o

o

x

x

xx jj

xjj

oii

xx ii

Corso di Apprendimento Automatico Kernel Methods

Page 58: Kernel Methods

Rumore II

Oltre a controllare la complessita attraverso la dim. VC,occorre controllare il limite per

∑ni=1 ξi nell’errore empirico:

minw ,b,ξ

(12‖w‖2 + C

n∑i=1

ξi

)

C = termine di regolarizzazione per bilanciare le due fonti

Problema DualeW (α) =

∑i αi − 1

2∑

ij αiαjyiyj〈xi , xj〉sotto le condizioni:

0 ≤ αi ≤ C (box constraint)∑ni=1 αiyi = 0

Risolto nella medesima maniera

Corso di Apprendimento Automatico Kernel Methods

Page 59: Kernel Methods

Rumore III

Osservazioni

α∗i = 0 es. classificato correttamente;

0 < α∗i < C es. all’interno del margine, compreso tral’iperpiano dei SV e l’iperpiano classificatore edalla parte giusta;

α∗i = C es. classificato erroneamente, pesato con Cindipendentemente dalla sua distanzadall’iperpiano classificatore;

Corso di Apprendimento Automatico Kernel Methods

Page 60: 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 ottimalitaKKT:

0 ≤ αi ≤ C ⇒ yih(xi) = 1

ossia per i support vector xi risulta i ∈ I = {k | 0 < αk < C},quindi:

yi

b +n∑

j=1

αjyjk(xi , xj)

= 1

da cui, mediando:

b =1|I|∑i∈I

yi −n∑

j=1

αjyjk(xi , xj)

Corso di Apprendimento Automatico Kernel Methods

Page 61: Kernel Methods

Proprieta delle SVM

1 Convessita niente minimi locali:training = ottimizzazione convessa

2 Dualita: lavorano sul problema in forma duale cui applicareil kernel trick

3 Sparsita: basate su pochi vettori (di supporto)4 Complessita polinomiale

Corso di Apprendimento Automatico Kernel Methods

Page 62: Kernel Methods

SVM: un bilancio

Vantaggirisuluzione probleminon-linearieliminando il problemadella dimensionalitaottimizzazione globaleintepretazione geometricaprestazioni che dipendonodal numero di SV

Svantaggila scelta del kernel risultadecisivatraining lento con grandidatasetnon trattano dati discretinon incrementaledifficile da generalizzare alcaso multiclassi

Corso di Apprendimento Automatico Kernel Methods

Page 63: Kernel Methods

Credits

John Shawe-Taylor & Nello CristianiniKernel Methods for Pattern Analysis,Cambridge University Press, 2004K.-R. Muller, S. Mika, F. Ratsch, K. Tsuda, B. ScholkopfAn Introduction to Kernel-Based Learning AlgorithmsIn: IEEE Transactions on Neural Networks, Vol. 12, No. 2,2001Support Vector and Kernel Machinesdi Nello Cristianini (Tutorial ICML 2001)Altri testi, articoli, survey e tutorial:

http://www.kernel-machines.orghttp://www.support-vector.net

Corso di Apprendimento Automatico Kernel Methods