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