kernel methods
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 puntiTRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Esempi di kernel VIKernel GaussianoIperpiano 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 ′ 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
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
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