Sei sulla pagina 1di 29

1

Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna


VAII VAII
Classificazione supervisionata
Classificazione supervisionata Classificazione supervisionata
La classificazione consiste nellassociare ogni pattern a una o pi classi.
La classificazione si dice supervisionata supervisionata nel caso in cui le classi sono
note a priori e i pattern del training set sono etichettati; non non- -
supervisionata supervisionata nel tal caso in cui le classi sono sconosciute e devono
essere derivate dai dati stessi.
In generale, un approccio di classificazione dove si fanno ipotesi sulle
distribuzioni delle classi e si derivano i parametri relativi da un
training set detto approccio parametrico approccio parametrico.
Se un pattern viene associato a una sola classe si parla di
classificazione esclusiva classificazione esclusiva; se invece il pattern pu appartenere, con un
certo grado di probabilit, a pi classi si parla di classificazione classificazione
continua o continua o fuzzy fuzzy.
Classificazione
supervisionata
Classificazione
supervisionata
Approcci
Parametrici
Approcci
Parametrici
Classificatore
di Bayes
Classificatore
di Bayes
Distribuzione
Normale
Distribuzione
Normale
Superfici
decisionali
Superfici
decisionali
Support Vect.
Machines
Support Vect.
Machines
Approcci
non-param.
Approcci
non-param.
Multi
classificatori
Multi
classificatori
a livello
di decisione
a livello
di decisione
Nearest
Neighbor
Nearest
Neighbor
a livello
di confidenza
a livello
di confidenza
Parzen
Window
Parzen
Window
Valutazione
prestazioni
Valutazione
prestazioni
2
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Una fase fondamentale del ciclo di sviluppo di applicazioni di Pattern
Recognition la valutazione delle prestazioni, che non deve essere vista
come una sorta di collaudo da eseguirsi a lavoro ultimato, ma come
passo intermedio nello sviluppo sulla base del quale il progettista pu
modificare/adattare il sistema.
Troppo spesso limportanza di questa fase sottovalutata e la
valutazione delle prestazioni viene eseguita in modo impreciso e
incorretto. Partiamo dunque da cosa deve essere evitato deve essere evitato:
Utilizzare per il test gli stessi pattern utilizzati per il training o per
la regolazione di parametri.
Collezionare un piccolo insieme di esempi acquisendo solo
immagini di buona qualit e utilizzando il sistema in condizioni
ideali. La collezione dei pattern di test dovrebbe essere fatta nelle
condizioni nelle quali il sistema dovr in seguito operare.
Rimuovere dal test set i pattern che per qualche ragione lalgoritmo
non in grado di trattare, per poter affermare che le prestazioni del
metodo sono migliori di .
Confrontare le prestazioni del proprio sistema con quelle di un
altro valutato su un diverso set di campioni.
Dedurre da un test eseguito su un campione molto piccolo che le
prestazioni sono eccezionali. Se un classificatore classifica
correttamente tutti i pattern in un test set di 10 campioni, non
possiamo certo concludere che lerrore di classificazione zero !!!
Per lo meno nel caso di test set di piccole dimensioni si dovrebbe
fare uso degli intervalli di confidenza sullerrore misurato.
Nascondere gli errori o le debolezze del sistema sviluppato. Ogni
sistema ha normalmente punti di debolezza che se ben evidenziati
dal progettista possono evitare problemi durante lutilizzo
dellapplicazione.
Valutazione delle prestazioni Valutazione delle prestazioni
3
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
A seconda del tipo di applicazioni di PR le prestazioni del sistema
possono essere espresse da diversi indicatori:
In un sistema di classificazione classificazione/riconoscimento di oggetti riconoscimento di oggetti,
necessario misurare:
Errori di classificazione/riconoscimento: percentuale di casi in cui
loggetto stato assegnato a una classe errata o riconosciuto come un
oggetto non corretto.
se al sistema concesso di rigettare pattern ovvero di non non-
classificarli/riconoscerli in caso di elevata incertezza, e necessario
misurare le prestazioni (errori di classificazione) in funzione della
percentuale di reiezione concessa, ovvero:
Error/Rejection tradeoff: ragionevole supporre che un sistema che
scarta molti pattern commetta pochi errori; la relazione errori/rifiuti
viene espresse solitamente con un grafico che riporta in ascissa la
percentuale di reiezione e in ordinata lerrore corrispondente.
In un sistema biometrico di identificazione di persone identificazione di persone, si deve
prevedere la possibilit che lindividuo corrente non sia presente
nel database (non sia associabile a nessuna delle classi); in questo
caso devono essere misurate:
False Accettazioni: percentuale di casi in cui il sistema accetta
ingiustamente un individuo, associandolo erroneamente a uno di quelli
presenti nel database.
False Reiezioni: percentuale di casi in cui il sistema rifiuta
ingiustamente un individuo che invece era presente nel database.
Valutazione delle prestazioni (2) Valutazione delle prestazioni (2)
Cosa misurare ? Cosa misurare ?
4
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
La maggior parte degli algoritmi di PR richiede una fase di
addestramento (learning o training). Linsieme di campioni utilizzato per
il training (detto Training Set: Training Set: TS TS) deve essere disgiunto disgiuntodallinsieme di
campioni in seguito utilizzato per la valutazione delle prestazioni (Test Test
Set Set o Recognition Recognition Set: Set: RS RS).
Come partizionare partizionare allora lintero insieme di campioni in TS e RS ? I
metodi pi utilizzati sono i seguenti:
Holdout Holdout: consiste nel partizionare al 50% i pattern tra TS e RS.
Alcuni autori suggeriscono di privilegiare TS assegnando ad esso
pi pattern; daltro canto ci va a discapito dellaffidabilit
statistica della misura eseguita su RS. La misura delle prestazioni
in genere pessimistica e dipende dalla partizione eseguita.
Leave Leave- -one one- -out out: TS viene creato con (n-1) pattern, 1 solo pattern
viene assegnato a RS; la procedura ripetuta n volte lasciando
fuori da TS ogni volta un pattern diverso. La stima non
pessimistica, ma la complessit computazione molto elevata.
Rotation, Rotation, n n- -fold fold cross cross- -validation validation: un compromesso tra holdout e
leave-one-out; divide gli n pattern in P sottoinsiemi disgiunti.
(P-1) sottoinsiemi sono assegnati a TS e il rimanente sottoinsieme
a RS; la procedura ripetuta P volte e i risultati sono mediati.
Bootstrap Bootstrap: Genera diversi TS sorteggiando casualmente (con
reinserimento) k<n pattern. La prova eseguita diverse volte, e i
risultati sono mediati. Molto utile quando si hanno a disposizioni
pochi pattern.
Talvolta la procedura di addestramento eseguita in due passi
sequenziali (ad esempio nel clustering un secondo passo normalmente
necessario per la scelta del numero ottimale di cluster); in tal caso da TS
dovrebbe essere scorporato un Validation Validation Set Set VS VS da utilizzare per la
seconda fase delladdestramento.
Valutazione delle prestazioni (3) Valutazione delle prestazioni (3)
Training e Test Training e Test
5
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Il problema posto in termini probabilistici. Se tutte le le distribuzioni in
gioco sono note lapproccio bayesiano costituisce la migliore regola di
classificazione possibile (soluzione OTTI MA !!! soluzione OTTI MA !!!).
Notazione e definizioni di base Notazione e definizioni di base
Sia V uno spazio di pattern d-dimensionali e W = {w
1
, w
2
, ..., w
s
}
un insieme di classi disgiunte costituite da elementi di V
Per ogni xV e per ogni w
i
W, indichiamo con p(x|w
i
) la densit
di probabilit condizionale di x data w
i
, ovvero la densit di
probabilit che il prossimo pattern sia x sotto lipotesi che la sua
classe di appartenenza sia w
i
Per ogni w
i
W, indichiamo con P(w
i
) la probabilit a priori di w
i
ovvero la probabilit, indipendentemente dallosservazione, che il
prossimo pattern da classificare sia di classe w
i
Per ogni xV indichiamo con p(x) la densit di probabilit
assoluta di x, ovvero la densit di probabilit che il prossimo
pattern da classificare sia x.
Per ogni w
i
W e per ogni xV indichiamo con P(w
i
|x) la
probabilit probabilit a posteriori a posteriori di w
i
dato x, ovvero la probabilit che
avendo osservato il pattern x, la classe di appartenenza sia w
i
. Per
il teorema di Bayes:
Approccio Approccio Bayesiano Bayesiano
( ) ( ) ( )
i
s
1 i
i
w w P | p p =

=
x x
( )
( ) ( )
( ) x
x
x
p
P | p
| P
i i
i
w w
w

=
( ) 1 w dove
s
1 i
i
=

=
P
6
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Classificatore di Classificatore di Bayes Bayes
Dato un pattern x da classificare in una delle s classi w
1
,w
2
,...,w
s
di cui
sono note:
- le probabilit a priori P(w
1
), P(w
2
), ... P(w
s
)
- le densit di probabilit condizionali p(x|w
1
), p(x|w
2
), ... p(x|w
s
)
la regola di classificazione di regola di classificazione di Bayes Bayesassegna x alla classe b tale che:
Massimizzare la probabilit a posteriori significa massimizzare la
densit di probabilit condizionale tenendo comunque conto della
probabilit a priori delle classi.
La regola si dimostra ottima in quanto minimizza lerrore di
classificazione. Ad esempio nel caso di 2 classi:
Se la rilevanza di errore nel caso di scelte sbagliate non bilanciata
per tutte le classi, si introduce il concetto di rischio che consiste
nello specificare le perdite
ij
causate dallaver scelto la classe w
i
nel caso in cui la classe corretta sia w
j
. In questo caso la regola
decisionale viene modificata includendo i fattori [Duda01].
( ) ( ) { } x x | P max | P
..
i
s 1 i
b
w w
=
=
( ) ( ) ( ) ( ) ( )

+ =
2 1
w w w w
1 1 2 2
R R
dx P | x p dx P | x p error P
7
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Classificatore di Classificatore di Bayes Bayes: un esempio : un esempio
Una stima (grossolana) delle probabilit a priori e delle densit pu essere
effettuata a partire dal training set come segue (si vedranno poi nei lucidi
seguenti varie tecniche pi rigorose per effettuare tale stima):
Probabilit a priori: si considera semplicemente loccorrenza dei
pattern nel training set: P(w
1
)=8/18 , P(w
2
)=10/18
Densit di probabilit condizionali per un nuovo pattern x da
classificare: si contano le occorrenze dei pattern del training set delle
due classi in un intorno di x:
p(x|w
1
)=1/8
p(x|w
2
)=2/10=1/5
p(x)=1/88/18 + 1/510/18 = 1/18 + 2/18 = 1/6
Si ottiene quindi:
Lapproccio Bayesiano assegna il pattern x alla classe w
2
(femmine).
( ) ( ) ( )
i
s
1 i
i
w w P | p p =

=
x x
( )
( ) ( )
( ) 3
1
6 1
18 1 w w |
| w
1 1
1
= =

=
x
x
x
p
P p
P
( )
( ) ( )
( ) 3
2
6 1
18 2 w w |
| w
2 2
2
= =

=
x
x
x
p
P p
P
x
Peso
A
l
t
e
z
z
a
Si vogliono classificare le
persone come maschi/femmine
in base al peso e allaltezza, a
partire dal training set in figura.
V uno spazio a 2
dimensioni (d=2)
W= {w
1
, w
2
}:
w
1
= maschi (blu),
w
2
= femmine (rosso)
8
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Classificatore di Classificatore di Bayes Bayes: :
approccio parametrico approccio parametrico
La conoscenza esatta delle probabilit a priori, e delle densit
condizionali possibile solo in teoria; pertanto nella pratica si fanno
spesso ipotesi sulla forma delle distribuzioni (es. distr. Normale) e si
stimano i parametri fondamentali (media, varianza) dai pattern di un
training set: da qui il nome approccio parametrico approccio parametrico.
Distribuzione Normale Distribuzione Normale
dove x un vettore colonna d-dimensionale, il vettore media
della distribuzione, la matrice di covarianza (dd), || e
-1
sono rispettivamente il determinante e linversa di ; E[.] indica il
valore atteso (expected) di una variabile aleatoria.
La matrice di covarianza sempre simmetrica e definita positiva,
pertanto ammette inversa. Gli elementi diagonali
ii
sono le
varianze dei rispettivi x
i
(ovvero
i
2
); gli elementi non diagonali
ij
sono le covarianze tra x
i
e x
j
(se x
i
ed x
j
sono statisticamente
indipendenti
ij
=0).
Se la matrice di covarianza diagonale, la distribuzione normale
multidimensionale definita come semplice prodotto di d Normali
monodimensionali. In tal caso gli assi principali sono paralleli agli
assi cartesiani.
( )
( )
( ) ( )



=

x x x
1
2 1 2
2
1
2
1
t
/ / d
exp p
[ ] [ ]
[ ] x x

vettore del elemento esimo - i l' dove


, ,... ,
i
i i d 2 1
i x
x E
=
= =
[ ] ( )( ) [ ]
j j i i ij ij
, = = x x E
9
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Distribuzione Normale (continua) Distribuzione Normale (continua)
Nel caso 1-dimensionale, la distribuzione
normale controllata dal valor medio e dallo
scarto .
Solo il 5% circa del volume esterno
allintervallo [-2, +2].
Solitamente si assume che la distribuzione
valga 0 a distanze maggiori di 3 dal valore
medio.
Nel caso d-dimensionale, la distribuzione
normale controllata dal vettore medio (d
valori) e dalla matrice di covarianza (d (d+1)/2
valori indipendenti).
La generazione di campioni con distribuzione
multinormale forma una nuvola di punti (iper-
ellissoide), il cui centro coincide con , e la forma
dalla matrice di covarianza determinata da .
Il luogo dei punti con densit costante sono gli
iper-ellissoidi per cui la forma quadratica
costante. Gli assi delliper-ellissoide sono
definiti dagli autovettori di .
( ) ( ) x x
1 t
Distanza di Distanza di Mahalanobis Mahalanobis
( ) ( ) x x =
1 2 t
r
La distanza di Mahalanobis r tra x e , definita dallequazione:
definisce i bordi di densit costante in una distribuzione Normale. Tale distanza
viene spesso utilizzata in sostituzione della distanza euclidea, essendo in grado
di pesare le diverse componenti tenendo conto dei relativi spazi di variazione
e della loro correlazione.
10
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Distribuzione Distribuzione normale normale: : esempio esempio d=1 d=1
Dato un training set di pattern mono-dimensionali composto da N=10
elementi:
{ } 8 , 23 , 0 , 11 , 54 , 15 , 2 , 9 , 7 , 3
Possiamo calcolarne media e varianza come:
2

( ) ( ) ( )
9
10
90
10
8 23 0 11 54 15 2 9 7 3
1
= =
+ + + + + + + + +
= =

=
N
x
N
i
i

( )

=
= =
N
i
i
x
N
1
2 2
1

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
8 . 318
10
9 8 9 23 9 0 9 11 9 54 9 15 9 2 9 9 9 7 9 3
2
2 2 2 2 2 2 2 2 2
=
+ + + + + + + + +
=
La formula per la distribuzione normale nel caso mono-dimensionale :
( )
2
2
2
2
1
) (

=
x
e x p
11
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Distribuzione Distribuzione normale normale: : esempio esempio d=1 (2) d=1 (2)

Il grafico mostra la distribuzione normale stimata dal training set precedente.


9
( )
01495 . 0
7559 . 44
1
1416 . 3 2 855 . 17
1
) 25 (
4015 . 0
8 . 318 2
9 25
2
= =

=

e e p
p(25)=0.01495
ATTENZIONE SIAMO
NEL CONTINUO:
p una densit di
probabilit: p(25) non
la probabilit del valore
25 (questa vale 0!) ma
la densit di probabilit
nel punto 25. Solo
considerando un
intervallo di valori
(anche piccolo) sulla
base possiamo parlare di
probabilit
12
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Distribuzione Distribuzione normale normale: : esempio esempio d=2 d=2
Dato un training set di pattern bi-dimensionali composto da N=5 elementi:
[ ] [ ] [ ] [ ] [ ] { } 8 . 15 , 23 , 1,4 , 2 . 7 , 13 , 12 , 5 . 4 , 3,7
T T T T T

Possiamo calcolarne la media :


[ ]
N
i
N
j
j
i
d

=
=

=
1
2
1
,
...
x

+ + + +
+ + + +
=
2 . 9
9 . 8
5
8 . 15 4 2 . 7 12 7
5
23 1 13 5 . 4 3

[ ] vettore esimo - j del elemento esimo - i l' dove i


j
x
13
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Distribuzione Distribuzione normale normale: : esempio esempio d=2 (2) d=2 (2)
e la matrice di Covarianza:
[ ] [ ] ( ) [ ] [ ] ( )

=
=

=
N
k
k k j i
d d d
d
j j i i
N
1
,
, 1 ,
2 , 2 1 , 2
, 1 2 , 1 1 , 1
1
,
... ...
... ... ... ...
... ...
...




x x
La formula per la distribuzione normale nel caso bi-dimensionale risulta
essere la seguente:
dove sono il determinante e la matrice inversa:
1
e


( ) ( )

=
x x

1
2
1
2
1
) (
T
e x p

( ) ( ) 674 . 518 32 . 25 32 . 25 456 . 17 44 . 66 = =

1281 . 0 0488 . 0
0488 . 0 0337 . 0
1

=
456 . 17 32 . 25
32 . 25 44 . 66
2 , 2 1 , 2
2 , 1 1 , 1

( ) ( ) ( ) ( ) ( )
44 . 66
5
9 . 8 23 9 . 8 1 9 . 8 13 9 . 8 5 . 4 9 . 8 3
2 2 2 2 2
2
1 1 , 1
=
+ + + +
= =
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
32 . 25
5
2 . 9 8 . 15 9 . 8 23 2 . 9 4 9 . 8 1 2 . 9 2 . 7 9 . 8 13 2 . 9 12 9 . 8 5 . 4 2 . 9 7 9 . 8 3
1 , 2 2 , 1
=
+ + + +
= =
( ) ( ) ( ) ( ) ( )
456 . 17
5
2 . 9 8 . 15 2 . 9 4 2 . 9 2 . 7 2 . 9 12 2 . 9 7
2 2 2 2 2
2
2 2 , 2
=
+ + + +
= =
14
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Distribuzione Distribuzione normale normale: : esempio esempio d=2 (3) d=2 (3)
I grafici mostrano la distribuzione normale stimata dal training set precedente
15
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Classificatore di Classificatore di Bayes Bayes
con distribuzioni Multi con distribuzioni Multi- -normali normali
Nellesempio sono visualizzate le densit condizionali di 2 classi di
pattern (distribuiti con distribuzione normale 2-dimensionale)
corrette sulla base delle rispettive probabilit a priori.
La classificazione eseguita utilizzando la regola Bayesiana.
Come mostra la figura la regola suddivide lo spazio (vedi
proiezione sulla base) in regioni non connesse. Nel caso specifico

2
costituita da due componenti disgiunte.
I bordi delle superfici decisionali possono assumere forme diverse.
Nel caso specifico si tratta di due iperboli. In generale:
Se le 2 matrici di covarianza sono uguali tra loro: la superficie
decisionale un iper-piano.
Se le 2 matrici di covarianza sono arbitrarie: la superficie
decisionale un iper-quadratica.
16
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Classificatore di Classificatore di Bayes Bayes
con distribuzioni Multi con distribuzioni Multi- -normali (2) normali (2)
Stessa matrice Stessa matrice
di di covarianza covarianza: :
iper iper- -piani piani
Differenti Differenti
matrici matrici
di di covarianza covarianza: :
iper iper- -
quadratiche quadratiche
17
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Esempio Esempio
[ ]
T
9 . 170 , 4 . 63
1
= [ ]
T
3 . 162 , 5 . 51
2
=

=
9 . 34 3 . 23
3 . 23 2 . 35
1

=
0 . 13 9 . 8
9 . 8 1 . 10
2
( )
( )
( ) ( )



=

1
1
1 1 2 / 1
1
2 /
1
2
1
exp
2
1
| x x x
t
d
w p
( )
( )
( ) ( )



=

2
1
2 2 2 / 1
2
2 /
2
2
1
exp
2
1
| x x x
t
d
w p
x
Peso
A
l
t
e
z
z
a
( )
1
| w p x

( )
2
| w p x

Riprendiamo lesempio illustrato in precedenza,


e trattiamolo in modo parametrico ipotizzando
distribuzioni normali e stimandone i parametri
dal training set:
18
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Esempio (2) Esempio (2)
Anche in questo caso, supponendo di non avere altre informazioni, si
possono stimare le probabilit a priori come: P(w
1
)=8/18 , P(w
2
)=10/18
( )
( )
( ) ( ) 0.0032
2
1
exp
2
1
|
1
1
1 1 2 / 1
1
2 /
1
=



=

x x x
t
d
w p
( )
( )
( ) ( ) 0045 . 0
2
1
exp
2
1
|
2
1
2 2 2 / 1
2
2 /
2
=



=

x x x
t
d
w p
Peso
A
l
t
e
z
z
a
[ ]
T
168 , 57 = x
( ) ( ) ( ) 0079 . 0 w w |
i
s
1 i
i
= =

=
P p p x x
( )
( ) ( )
( )
37 . 0
w w |
| w
1 1
1

=
x
x
x
p
P p
P
( )
( ) ( )
( )
63 . 0
w w |
| w
2 2
2

=
x
x
x
p
P p
P
19
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Classificatore di Classificatore di Bayes Bayes: :
confidenza di classificazione confidenza di classificazione
Un grosso vantaggio del classificatore di Bayes, rispetto ad altri
classificatori, legato al fatto che esso produce un valore di output
probabilistico (una vera e propria probabilit tra 0 e 1, con somma 1 sulle
diverse classi) che pu essere utilizzata come confidenza (visualizzata
nella figura come sfumatura):
Infatti, un classificatore pu assegnare un pattern x a una classe w
i
con
diversi livelli di certezza (o confidenza) che possono essere impiegati per:
implementare efficacemente lerror/ error/rejection rejectiontradeoff
realizzare un sistema multi multi- -classificatore classificatore
Se non si interessati alla confidenza, non necessario dividere per p(x)
le singole probabilit a posteriori, e la regola di Bayes semplicemente:
( ) ( ) ( ) { }
i i
s .. 1 i
b
w w | max | w P p P =
=
x x
20
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Classificatore di Classificatore di Bayes Bayes (parametrico) (parametrico)
in pratica ... in pratica ...
Molto spesso si fanno ipotesi azzardate sulla normalit delle
distribuzioni delle classi del problema senza aver sperimentalmente
eseguito nessuna verifica; ci porta ad ottenere cattivi risultati di
classificazione.
... pertanto, dato un problema con s classi e dato un training set
(significativo), deve essere innanzitutto valutata la rispondenza alla
normalit delle s distribuzioni; questo pu essere fatto:
in modo formale (es: test statistico di Malkovich - Afifi
[Fuku90] basato sullindice di Kolmogorov - Smirnov)
in modo empirico, visualizzando in vari modi le nuvole dei
dati (esistono dei tool gi predisposti per questo tipo di analisi
fino a 3d) o gli istogrammi sulle diverse componenti e
confrontandoli con le curve teoriche.
Una volta provata una (seppur vaga) normalit delle distribuzioni, si
stimano a partire dai dati, vettore medio e matrice di covarianza
(maximum likelihood).
Per quanto riguarda le probabilit a priori queste possono essere
estratte dalle percentuale di campioni che nel training set
appartengono alle diverse classi, o in caso di assenza di
informazioni possono essere poste tutte uguali tra loro.
Ogni nuovo pattern da classificare, viene assegnato a una delle
possibili classi in accordo con la regola di Bayes nella quale media
e covarianza sono ora note.
21
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Density Density Estimation Estimation
La probabilit P che un pattern x cada allinterno di :
Dati n pattern indipendenti, la probabilit che k di questi cadano in :
Assumendo che la regione (di volume V) sia sufficientemente piccola
e che quindi p(.) non vari significativamente allinterno di essa, e
sostituendo a P il suo valor medio (k/n):
Non vengono fatte ipotesi a priori sulle distribuzioni delle classi. Si
distinguono due famiglie di metodi:
quelli denominati density estimation tentano di derivare le densit
di probabilit delle classi dai campioni del training set (es: Parzen
Window), per poi utilizzare la regola di Bayes.
altri metodi sfruttano direttamente le informazioni dei pattern del
training set per la classificazione (es: regola nearest-neighbor).
I metodi del secondo tipo sono spesso preferibili, in quanto il problema
generale della stima accurata delle distribuzioni un problema pi
complesso della classificazione stessa.
... pertanto perch risolvere come sotto-problema un problema che pi
complesso dellintero compito di classificazione [Cher98] ?
Approcci non Approcci non- -parametrici parametrici
( )

=
R
x x d p P
( )
k n k
k
P P
k
n
P

= 1 distribuzione distribuzione binomiale binomiale (valor medio E[k] = n P )


( ) ( ) V =

x x x p d p P
R
( )
V V
= =
n
k P
p x
22
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
La regione , denominata finestra (Window), costituita da un iper-cubo
d-dimensionale, definito dalla funzione :
Dato un generico iper-cubo centrato in x e avente lato h
n
(e quindi volume
V
n
= h
n
d
) il numero di pattern che cadono allinterno delliper-cubo dato
da:
sostituendo k
n
nella formula di stima densit (lucido precedente) si ottiene:
dove V
n
= h
n
d
Ovviamente, specie nel caso in cui il numero di pattern non sia elevato, la
dimensione della finestra V
n
(e quindi il lato h
n
) ha un forte impatto sul
risultato, infatti:
Se la finestra piccola, la stima della distribuzione risulta piuttosto
rumorosa, molto attratta dai campioni e statisticamente instabile.
Se la finestra grande la stima pi stabile ma piuttosto vaga e
sfuocata.
Si dimostra che per ottenere convergenza, la dimensione della finestra
deve essere calcolata tenendo conto del numero di campioni del training
set, ad esempio:
Parzen Parzen Window Window

= n
i
n
i
n
h
k
x x
1
( )

=
=
altrimenti
d j , / u
j
0
1,... 2 1 1
u
ipercubo ipercubo di lato 1 di lato 1
centrato nell centrato nell origine origine
( )


=

= n
i
n
i n
n
h n
p
x x
x
1
V
1

1
libero parametro un ) (o V dove
V
V
1 1
1
h ,
n
n
=
23
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Nella pratica, invece di una funzione finestra iper-cubo si utilizzano kernel
function pi smoothed grazie alle quali ogni pattern x
i
contribuisce alla
stima di densit in un intorno di x in accordo con la distanza da x. Le
kernel function devono essere funzioni densit (sempre 0 e con integrale
su tutto lo spazio uguale a 1). Utilizzando ad esempio funzioni normali:
Parzen Parzen Window (2) Window (2)
( )
( )
2
2 2
1
u u
u
t
e
d

n=15
n=40
n=120
h=3 h=8 h=15
24
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Parzen Parzen Window & Window & Bayes Bayes: esempio : esempio
Riprendiamo lesempio visto in precedenza stimando le densit di
probabilit in modo non-parametrico con Parzen Window (supponiamo le
probabilit a priori P(w
1
)=8/18 , P(w
2
)=10/18):
Funzione Kernel ipercubo con h=10 (grafico a sinistra)
Funzione Kernel normale con h=3 (grafico a destra)
( ) 0.0038 |
1
= w p x ( ) 0040 . 0 |
2
= w p x
Peso
A
l
t
e
z
z
a
[ ]
T
168 , 57 = x
( ) ( ) ( ) 0039 . 0 w w |
i
s
1 i
i
= =

=
P p p x x
( )
( ) ( )
( )
43 . 0
w w |
| w
1 1
1

=
x
x
x
p
P p
P ( )
( ) ( )
( )
57 . 0
w w |
| w
2 2
2

=
x
x
x
p
P p
P
Peso
A
l
t
e
z
z
a
[ ]
T
168 , 57 = x
( ) 0.0024 |
1
= w p x ( ) 0041 . 0 |
2
= w p x ( ) ( ) ( ) 0033 . 0 w w |
i
s
1 i
i
= =

=
P p p x x
( )
( ) ( )
( )
32 . 0
w w |
| w
1 1
1

=
x
x
x
p
P p
P ( )
( ) ( )
( )
68 . 0
w w |
| w
2 2
2

=
x
x
x
p
P p
P
25
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Data una metrica d(.) nello spazio multidimensionale (es. distanza
euclidea) il classificarore nearest nearest- -neighbor neighbor (letteralmente il pi vicino
tra i vicini), classifica un pattern x con la stessa classe dellelemento x ad
esso pi vicino nel training set TS:
Invece di derivare dai dati le distribuzioni condizionali delle classi
per poi usare la regola di Bayes per la classificazione, questo
classificatore cerca in modo piuttosto pragmatico di massimizzare
direttamente la probabilit a posteriori; infatti se x molto vicino a
x lecito supporre che:
In effetti, si pu dimostrare (solo per nel caso di TS popolato da
infiniti campioni) che la probabilit di errore P della regola nearest-
neighbor non mai peggiore del doppio del minimo errore possibile
P* (quello Bayesiano).
Nella pratica, questo non significa per che lapproccio Bayesiano
dia sempre risultati migliori di nearest-neighbor, infatti qualora la
stima delle densit condizionali sia poco accurata i risultati del
classificatore Bayesiano possono essere peggiori.
Nearest Nearest- -Neighbor Neighbor
( ) ( ) { }
i
i
x x x x
x
, d min , d
TS
=
( ) ( ) x x | P | P
i i
26
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Esempi (1 Esempi (1- -NN) NN)
Peso
A
l
t
e
z
z
a
Nellesempio visto in precedenza, la regola NN assegna il pattern x
alla classe w
1
(maschi - blu)
La figura seguente mostra il partizionamento dello spazio operato
dalla regola NN su un training set con 5 classi:
[ ]
T
168 , 57 = x
27
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
La regola nearest-neighbor produce un partizionamento dello dello
spazio, noto come tessellazione tessellazionedi di Voronoi Voronoi:
Ogni elemento x
i
TS determina un tassello, allintero del quale i
pattern saranno assegnati alla stessa classi di x
i
.
La regola di classificazione nearest-neighbor piuttosto radicale;
infatti basta che un elemento del training set non sia molto
affidabile (outlier) affinch tutti i pattern nelle sue vicinanze siano
in seguito etichettati non correttamente.
Un modo generalmente pi robusto, che pu essere visto come
estensione della regola nearest-neighbor (in questo caso detta
1-nearest-neighbor) il cosiddetto classificatore k-nearest-neighbor.
Nearest Nearest- -Neighbor Neighbor (2) (2)
28
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
La regola k k- -Nearest Nearest- -Neighbor Neighbor (k-NN) determina i k elementi pi
vicini al pattern x da classificare; ogni pattern tra i k vicini vota per la
classe cui esso stesso appartiene; il pattern x viene assegnato alla
classe che ha ottenuto il maggior numero di voti.
Per TS infiniti la regola di classificazione k-NN si dimostra migliore
di 1-NN, e allaumentare di k, lerrore P converge allerrore
Bayesiano.
Nella pratica (TS limitati), aumentare k significa estendere liper-sfera
di ricerca andando a sondare la probabilit a posteriori lontano dal
punto di interesse; pertanto il valore di k migliore (solitamente < 10)
deve essere determinato sperimentalmente.
k k- -Nearest Nearest- -Neighbor Neighbor
nella figura il classificatore 5-NN,
assegna x alla classe nera
in quanto questultima ha
ricevuto 3 voti su 5.
Nel caso di 2 classi bene
scegliere k dispari per evitare
pareggi.
29
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Esempi ( Esempi (k k- -NN NN) )
Peso
A
l
t
e
z
z
a
[ ]
T
168 , 57 = x
Nellesempio visto in precedenza, la regola k-NN con k=3 assegna il
pattern x alla classe w
2
(femmine - rossi)
Lanimazione (scomposta nel lucido successivo) mostra il
partizionamento dello spazio operato dalla regola k-NN sul training set
con 5 classi visto in precedenza al variare di k
30
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Espansione dell Espansione dell animazione del lucido animazione del lucido
precedente ( precedente (k k=1,3,5,7,9,11) =1,3,5,7,9,11)
k=1 k=3
k=5 k=7
k=9 k=11
31
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Classificatori Classificatori k k- -NN NN: :
confidenza di classificazione confidenza di classificazione
Da un classificatore k-NN risulta piuttosto semplice estrarre una
confidenza confidenza(probabilistica) circa la classificazione eseguita; siano
i voti ottenuti dal pattern x, allora le confidenze (vedi sfumature in figura
sotto) possono essere semplicemente ottenuto dividendo per k i voti
ottenuti:

=
=
s
1 i
2 1
], ,..., , [ k v v v v
i s
] ,..., , [
2 1
k v k v k v
s
32
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Talvolta nella classificazione nearest-neighbor invece di mantenere tutti i
pattern del TS e calcolare esplicitamente la distanza da ciascuno di essi, si
preferisce selezionare/derivare da essi uno (o pi) prototipi prototipi per ciascuna
classe e utilizzare questi ultimi per la classificazione come se fossero i soli
elementi di TS: queste tecniche prendono il nome di:
editing editing: quando si cancellano solo pattern dal training set, senza
derivarne dei nuovi
condensing condensing: se i prototipi non appartenevano al TS e sono stati
derivati
Ci comporta solitamente i seguenti vantaggi:
non necessario calcolare un elevato numero di distanze (cosa
computazionalmente costosa se TS grande).
i prototipi sono spesso pi affidabili e robusti di singoli pattern (si
riduce il rischio di affidarsi ad outlier).
Il prototipo di una classe pu essere semplicemente derivato come vettore
medio dei vettori di quella classe nel TS. Processi di vector quantization o
clustering consentono generalmente di ottenere prototipi migliori.
Nearest Nearest- -Neighbor Neighbor e Prototipi di Classi e Prototipi di Classi
sebbene il pattern di TS
pi vicino a x sia blu, x
viene classificato come
rosso, in quanto il
prototipo pi vicino
quello rosso.
x
33
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Il comportamento della regola k k- -Nearest Nearest- -Neighbor Neighbor strettamente
legato alla metrica (funzione distanza) adottata.
La distanza euclidea, che rappresenta il caso L
2
nella definizione di
metriche di Minkowski, sicuramente la metrica pi spesso utilizzata.
Nella pratica, prima di adottare semplicemente la distanza euclidea
bene valutare lo spazio di variazione delle componenti (o feature) e la
presenza di eventuali forti correlazioni tra le stesse.
Supponiamo ad esempio di voler classificare le persone sulla base
dellaltezza e della lunghezza del piede. Ogni pattern x
(bidimensionale) risulta costituito da due feature (x
1
= altezza,
x
2
= lunghezza del piede).
Lo spazio di variazione dellaltezza (210-140 = 70 cm) risulta molto
maggiore di quello della lunghezza del piede (40-20=20 cm). Pertanto
se la similarit tra pattern venisse misurata con semplice distanza
euclidea la componente altezza peserebbe molto di pi della
componente lunghezza del piede.
Nearest Nearest- -Neighbor Neighbor e metriche e metriche
( )
k /
d
i
k
i i k
b a , L
1
1

=

=
b a
x x
1 1
140 cm 140 cm
210 cm 210 cm
x x
2 2
20 cm 20 cm
40 cm 40 cm
34
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Per evitare i problemi legati a diversi spazi di variazioni delle feature, ogni
feature i-esima dovrebbe essere normalizzata per il relativo spazio di
variazione v
i
. Volendo anche possibile esplicitare pesi p
i
diversi per le
diverse feature:
Gli spazi di variazione v
i
, i=1..d possono essere derivati dal TS, come
differenza tra massimo e minimo valore per la feature i-esima, o
meglio, come massimo meno minimo dopo aver rimosso il 2...5% dei
valori pi alti e pi bassi (per escludere outlier).
I pesi p
i
, i=1..d (anchessi derivati dal TS) possono essere scelti
proporzionalmente al potere discriminante potere discriminante delle feature calcolabile
ad esempio come rapporto:
Per variabilit-intraclasse
i
ci si riferisce alla variabilit della
feature i-esima nellambito di ciascuna classe (nel nostro caso
questa determinata dallaccuratezza della misurazione
dellaltezza o della lunghezza del piede). Pu essere calcolata
come media degli scarti quadratici dei valori di x
i
allinterno di
ciascuna classe.
Per variabilit-interclasse
i
ci si riferisce alla variabilit della
feature i-esima per classi diverse (variabilit delle altezze o
lunghezze del piede per persone diverse). Pu essere calcolata
come scarto quadratico dei valori di x
i
di un egual numero di
campioni presi da ciascuna classe.
Nearest Nearest- -Neighbor Neighbor e metriche (2) e metriche (2)
i
i
i
e intraclass variabilit
e interclass variabilit
p

=
( )
k /
d
i
k
i
i i
i k
v
b a
p , L
1
1


=

=
b a
35
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Unefficace normalizzazione rispetto agli spazi di variazione, in grado
anche di tener conto delle correlazioni tra feature possibile:
pre-normalizzando lo spazio delle feature attraverso Whitening Whitening
transform transform [Fuku90].
utilizzando come metrica la distanza di distanza di Mahalanobis Mahalanobis.
Le due alternative sono tra loro equivalenti (matematicamente). Nel
primo caso lellisoide corrispondente allo spazio delle feature viene
sfericizzato a priori e viene in seguito usata la distanza euclidea; nel
secondo la distanza di Mahalanobis normalizza ogni componente sulla
base delle varianze che costituiscono la matrice di covarianza .
Non deve essere sottovalutata, limportanza della correlazione tra features
come aspetto negativo per la classificazione. Infatti, lutilizzo di feature
correlate riduce (anche drasticamente) il potere discriminante. Lideale
sarebbe che tutte le feature fossero staticamente indipendenti (ellissoide
con gli assi paralleli a quelli cartesiani).
Due feature altamente discriminanti se prese individualmente, ma tra loro
fortemente correlate, sono nel complesso meno discriminanti di una terza feature
leggermente pi di discriminante di ognuna delle precedenti.
La distanza di Mahalanobis (o la sfericizzazione dello spazio) tiene conto
delle correlazioni e pesa maggiormente feature non correlate.
Nearest Nearest- -Neighbor Neighbor e metriche (3) e metriche (3)
x x
1 1
x x
2 2
distribuzione distribuzione
originale originale
dopo dopo Whitening Whitening
transform transform
36
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
La teoria che governa i meccanismi di funzionamento di SVM stata
introdotta da Vapnik a a partire dal 1965 (statistical learning theory), ma
stata perfezionata solo recentemente (1995) dallo stesso Vapnik e altri
[Cort95] [Burg98] [Cher98]. Si tratta di uno degli strumenti oggigiorno pi
promettenti per la classificazione di pattern.
Invece di tentare di stimare le densit di probabilit delle classi, Vapnik
suggerisce di risolvere direttamente il problema di interesse (molto pi
semplice del precedente), ovvero di trovare le superfici decisionali che
delimitano le classi (classification boundaries).
lidea
Date due classi di pattern multidimensionali, SVM determina liper-piano
in grado di separare al meglio le classi (ovvero che classifica correttamente
pattern di entrambe con il maggior margine possibile). Quando le classi
non sono linearmente separabili (non esiste un iper-piano in grado di
separare le classi), viene eseguito a-priori un mapping dei pattern su di uno
spazio di dimensione superiore, dove i maggiori gradi di libert permetto
probabilmente di separare le classi.
Support Support Vector Vector Machines Machines (SVM) (SVM)
37
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Date due classi di pattern (linearmente separabili), e un training set TS
contenente n campioni (x
1
, y
1
),...(x
n
, y
n
), dove x
i

d
sono i pattern
multidimensionali e y
i
{+1,-1} le etichette delle due classi. Esistono
generalmente diversi iper-piani in grado di eseguire la separazione voluta.
Un generico iper-piano definito dai parametri (w, w
0
):
La distanza di un generico vettore x dalliper-piano vale pertanto:
Gli iper-piani (w, w
0
) che separano i pattern del problema soddisfano le
equazioni:
o in modo pi compatto:
SVM lineari: Pattern Separabili SVM lineari: Pattern Separabili
D
(
x
)

=

0
n i
y w
y w
i i
i i
.. 1 per
1 se 1
1 se 1
0
0
=
= +
+ = + +
x w
x w
[ ] n i w y
i i
.. 1 per 1
0
= + x w
Iper Iper- -piano piano
( )
0
w D + = x w x
w: vettore normale alliper-
piano
w
0
/||w||: distanza dallorigine
D(x)=0: luogo dei vettori sul
piano ( ) 0 = + =
p p
D , r x
w
w
x x
( ) w x w x r w D = + =
0
( )
w
x D
r =
38
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
La minima distanza tra liper-piano di separazione e un pattern del training
set detta margine margine ().
La distanza del/i punto/i che giacciono sulliper-piano D(x)=1, dalliper-
piano di separazione (D(x)=0) 1/||w||; lo stesso vale per il/i punto/i
sulliper-piano D(x)=-1.
Pertanto il margine corrisponde numericamente a 2/||w||.
Liper-piano ottimo ottimosecondo SVM quello soddisfa i vincoli di separazione
dei pattern e massimizza il margine (o alternativamente minimizza il suo
inverso):
I pattern del training set che giacciono sul margine (cerchi riempiti in
figura) sono detti support support vector vector. Tali pattern, che costituiscono i casi pi
complessi, definiscono completamente la soluzione del problema, che pu
essere espressa come funzione di solo tali pattern, indipendentemente dalla
dimensionalit degli spazi d e dal numero n di elementi in TS.
SVM lineari: Pattern Separabili (2) SVM lineari: Pattern Separabili (2)
[ ] n i w y
/
i i
.. 1 per 0 1 : Vincoli
2 : Minimizza
0
2
= + x w
w
D(x)= +1
D(x)= 0
D(x)= -1
D(x) > +1
D(x) < -1
1/||w||
1/||w||
39
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Il problema di ottimizzazione precedente, pu essere pi agevolmente
risolto passando innanzitutto ad una formulazione Lagrangiana e
successivamente a una formulazione duale.
La formulazione Lagrangiana prevede di introdurre un moltiplicatore
i
(
i
0) per ogni vincolo della forma c
i
0 e di sottrarre il vincolo
moltiplicato per
i
dalla funzione obiettivo:
da minimizzare rispetto a w e w
0
e massimizzare rispetto a
i
0.
Utilizzando le condizioni di Karush-Kuhn-Tucker (KKT), il problema pu
essere posto in forma duale esprimendo i parametri w e w
0
in funzione dei
moltiplicatori
i
, e risolto massimizzando la nuova funzione obiettivo
rispetto ai soli
i
(si veda [Cher98] per i dettagli):
Una volta risolto il problema (attraverso un algoritmo di programmazione
quadratica), e derivati i valori ottimi
1
*
,
2
*
,...
n
*
(le condizioni KKT
dicono che
i
*
=0 per tutti i vettori che non sono support vector) si ottiene
liper-piano ottimo come:
dove (x
s
, y
s
) uno dei support vector.
SVM lineari: Pattern Separabili (3) SVM lineari: Pattern Separabili (3)
( ) ( ) [ ] { }

=
+ =
n
i
i i i
w y , w , Q
1
0 0
1
2
1
x w w w w
( ) ( )
n , , y
y y Q
n
i
i i i
n
j , i
j i j i j i
n
i
i
... 1, i 0 0
vincoli ai soggetta
2
1
1
1 1
= =
=


=
= =
x x
( ) ( ) ( )
s i i
n
i
*
i s
* *
i i
n
i
*
i
y y w , w y D x x x x x = + =

= = 1
0 0
1

40
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Vantaggi della formulazione SVMsono dunque:
Definizione della soluzione sulla base di un numero ridotto di support
vector (solitamente pochi).
Il numero di support vector n
sv
indica la complessit del problema e
pu essere dimostrato che lerrore medio (sui possibili training set)
limitato da n
sv
/n.
La complessit del calcolo della soluzione non dipendente dalla
dimensionalit d dello spazio delle feature, ma dal numero n di
pattern in TS. (il problema pu essere risolto nei casi pratici per
d = 10
7
e per n fino a 10
4
).
Esempio (generato tramite: http://svm.research.bell-labs.com/SVT/SVMsvt.html
non pi on-line; google SVM applet per altri demo)
SVM lineari: Pattern Separabili (4) SVM lineari: Pattern Separabili (4)
41
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
In questo caso non tutti i pattern possono essere separati da un iper-piano,
ed necessario rilassare i vincoli di separazione, per far s che alcuni
pattern (il minimo possibile) possano valicare il confine della classe.
A tal fine si introducono n variabili di slack slack positive
i
, i = 1.,n e si
modificano i vincoli di separazione:
Per ogni pattern x
i
del TS, la variabile
i
, codifica la deviazione dal
margine. Per i pattern separabili del TS le corrispondenti variabili di slack
assumeranno valore 0.
Liper-piano ottimo deve in questo caso ancora massimizzare il margine,
ma allo stesso tempo minimizzare il numero di elementi non correttamente
classificati. La funzione obiettivo, e di conseguenza il problema di
ottimizzazione vengono cos modificati:
SVM lineari: Pattern Non Separabili SVM lineari: Pattern Non Separabili
[ ] n i w y
i i i
.. 1 per 1
0
= + x w
Pattern erroneamente
classificati: > 0
[ ] n i w y
n
C
i i i
n
i
i
.. 1 per 1 : Vincoli
2
: Minimizza
0
1
2
= +
+

=
x w
w
42
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Il coefficiente C nel problema di ottimizzazione precedente, indica
limportanza relativa di errori di classificazione rispetto allampiezza del
margine. Si tratta di uno dei pochi parametri che lutente deve scegliere per
implementare SVM.
Formulazione il problema in modo lagrangiano/duale otteniamo un risultato
pressoch identico al caso linearmente separabile, tranne che per
lintroduzione del limite superiore (C/n) per i valori dei moltiplicatori
i
:
Esempi:
SVM lineari: Pattern Non Separabili (2) SVM lineari: Pattern Non Separabili (2)
( ) ( )
n ,
n
C
, y
y y Q
n
i
i i i
n
j , i
j i j i j i
n
i
i
... 1, i 0 0
vincoli ai soggetta
2
1
1
1 1
= =
=


=
= =
x x Il metodo di soluzione (prog.
Quadratica) e il modo di derivare
liper-piano dagli
i
sono gli stessi
del caso linearmente separabile.
C / n = 200 C / n = 200
1 solo errore, margine minore
C / n = 10 C / n = 10
2 errori, margine maggiore
43
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Fino ad ora abbiamo considerato il caso (lineare) di separazione di pattern
con iper-piani. SVM prevede una potente estensione della teoria
inizialmente sviluppata per iper-piani, al caso (non lineare) di separazione
dei pattern con superfici anche molto complesse. Tutto ci avviene in modo
molto semplice:
Viene definito un mapping mapping non lineare dei pattern dallo spazio di
partenza (
d
) verso uno spazio a pi alta dimensionalit (
m
, m>d):
Nello spazio
m
, dove maggiori sono i gradi di libert, i pattern
(x
1
), (x
2
), ... (x
n
) vengono separati separati da un iper-piano utilizzando
la teoria ormai nota. Ci equivale a separare i pattern x
1
, x
2
, ... x
n
in

d
con superfici arbitrariamente complesse.
Analizzando la formulazione del problema lagrangiano-duale esposto in
precedenza, si nota che i vettori del training set appaiono solo in forma di
prodotti scalari (dot product) tra coppie di vettori. Questa propriet (di
fondamentale importanza) permette di evitare la manipolazione di vettori
nello spazio
m
(m pu essere anche dellordine di 10
7
,10
8
).
Infatti, per opportuni mapping , possibile ricondurre il prodotto scalare
di due pattern mappati nello spazio
m
a una funzione H dei due pattern
originali nello spazio
d
.
Ci consente di risolvere il problema di ottimizzazione senza particolari
complicazioni rispetto al caso lineare. Una volta determinati gli
i
, la
superficie di separazione (regola di classificazione) esprimibile come:
SVM Non lineari SVM Non lineari
( ) ( ) ( ) ( ) [ ] x x x x
m
m d
g ,... g , g , :
2 1
=
( ) ( ) ( ) x x x x = , H
( ) ( )

=
=
n
i
i i i
, H y D
1
x x x
44
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Mapping Mappingper SVM per SVM:
Polinomio di grado q:
Le componenti g
i
(x), i=1..m sono ottenute come tutte le possibili
combinazioni di elevamento a potenze q delle componenti di x. Ad
esempio per d=2, q=2: ([x
1
, x
2
])=[1, x
1
, x
2
, x
1
x
2
, x
1
2
, x
2
2
, x
1
2
x
2
, x
1
x
2
2
,
x
1
2
x
2
2
] e quindi m=9. Si dimostra che:
Radial Basis Function di ampiezza :
Neural Network:
Espansione di Fourier:
SVM Non lineari (2) SVM Non lineari (2)
( )

=

=
n
i
i
i
exp sign f
1
2
2
x x
x
( ) ( ) [ ]
q
, H 1 + = x x x x
( )


=
2
2
x x
x x exp , H
( ) ( ) ( )

+ + =

=
n
i
i
b a tanh sign f
1
x x x
( ) ( ) ( ) a tanh , H + = x x x x
ed a devono essere scelti opportunamente:
una possibile scelta : =2, a=1
( ) ( ) ( ) ( )

=
+ + =
q
i
i i
jx sin w jx cos x f
1
0
( )
( )( )
( ) 2
2 1
/ x x sin
x x / q sin
, H

+
= x x
45
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Esempi Esempi
SVM Non lineari (3) SVM Non lineari (3)
Polinomio q = 2 Polinomio q = 2 Polinomio q = 10 Polinomio q = 10
RBF RBF = 1 = 1 RBF RBF = 0.2 = 0.2
46
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Altri esempi (generati con Altri esempi (generati con VALab VALab) )
Lineare Lineare, C=10 , C=10 Lineare Lineare, C=500 , C=500
Polinomio Polinomio q=3, C=10 q=3, C=10 Polinomio Polinomio q=3, C=500 q=3, C=500
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
47
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
altri esempi (2) altri esempi (2)
RBF RBF =5, C=10 =5, C=10
RBF RBF =10, C=10 =10, C=10 RBF RBF =10, C=500 =10, C=500
RBF RBF =5, C=500 =5, C=500
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
Peso
A
l
t
e
z
z
a
48
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
altri esempi (3) altri esempi (3)
Lineare Lineare C=100 C=100
Polinomio Polinomio q q=7, C=100 =7, C=100 RBF RBF =5, C=100 =5, C=100
Polinomio Polinomio q q=2, C=100 =2, C=100
49
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Le SVM sono in grado di determinare la superficie di separazione tra 2
classi di pattern; come gestire allora i problemi con pi di 2 classi ?
Si tratta si un problema ancora aperto anche se soluzioni soddisfacenti
possono essere ottenute nel modo seguente (One One- -Against Against- -All All):
Date s classi, w
1
, w
2
... w
s
Per ogni classe w
k
, si determina con SVM la superficie di separazione
tra i pattern di w
k
(etichettati +1) da una parte, e i pattern di tutte le
rimanenti classi w
h
, kh (etichettati -1) dallaltra, ottenendo:
che indica la distanza di x dalla superficie decisionale ottima.
Al termine del training, si classifica ogni nuovo pattern x con la classe
k* per cui massima la distanza dalla superficie decisionale:
I mplementazioni di riferimento I mplementazioni di riferimento
Limplementazione di SVM, richiede algoritmi numerici non
banali in grado di risolvere problemi di programmazione
quadratica. Diverse implementazioni di SVM sono disponibili sul
web. Ad esempio:
SVM-light - http://svmlight.joachims.org
LIBSVM (usata in VALab) - http://www.csie.ntu.edu.tw/~cjlin/libsvm
SVM: classificazione multi SVM: classificazione multi- -classe classe
( ) ( )

=
=
n
i
i i i k
, H y D
1
x x x
( ) { } x
k
k
*
D max arg k =
50
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Un multi classificatore un sistema dove diversi classificatori sono
utilizzati (normalmente in parallelo, ma talvolta anche in cascata o in
modo gerarchico) per eseguire la classificazione dei pattern; le decisioni
dei singoli classificatori sono fuse fuse ad un qualche livello della catena di
classificazione.
Recentemente stato dimostrato (teoricamente ma soprattutto nella
pratica) che lutilizzo di combinazioni di classificatori combinazioni di classificatori (in inglese multi-
classifier, combination of classifiers, classifier fusion) pu migliorare,
talvolta anche molto marcatamente, le prestazioni di un singolo
classificatore.
Pertanto il progettista di applicazioni complesse di PR per
aumentare le prestazioni della proprio sistema di riconoscimento,
invece di spendere mesi per migliorare di un epsilon laccuratezza
del proprio classificatore, farebbe meglio ad affiancare ad esso altri
classificatori basati su feature/algoritmi diversi.
La combinazione comunque efficace efficacesolo nel caso in cui i singoli
classificatori siano in qualche modo indipendenti tra loro indipendenti tra loro, ovvero
non commettano tutti lo stesso tipo di errori.
Lindipendenza (o diversit) normalmente ottenuta cercando di:
Utilizzare feature diverse
Utilizzare algoritmi diversi per lestrazione delle feature
Utilizzare diversi algoritmi di classificazione
Addestrare lo stesso algoritmo di classificazione su training set diversi
(bagging bagging)
Insistere nelladdestramento di alcuni classificatori con i pattern pi
frequentemente erroneamente classificati (boosting boosting)
La combinazione pu essere eseguita a livello di decisione livello di decisione o a
livello di confidenza livello di confidenza.
Multi Classificatori Multi Classificatori
51
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Ogni singolo classificatore fornisce in output la propria decisione che
consiste della classe cui ha assegnato il pattern e opzionalmente del
livello di affidabilit della classificazione eseguita (ovvero di quanto il
classificatore si sente sicuro della decisione presa).
Le decisioni possono essere tra loro combinate in diversi modi (schemi di
voto, schemi basati su ranking, ):
Uno dei pi noti e semplici metodi di fusione la cosiddetta
majority vote rule majority vote rule; ogni classificatore vota per una classe, il pattern
viene assegnato alla classe maggiormente votata:
Se C = {C
1
, C
2
, , C
NC
} linsieme di NC classificatori, e
allora il pattern assegnato alla classe t tale che:
inoltre laffidabilit del multi-classificatore pu essere calcolata
mediando le singole confidenze.
Nel borda count borda count ogni classificatore invece di una singola classe,
produce una classifica o ranking delle classi (dalla prima allultima)
a seconda della probabilit che a ciascuna di esse appartenga il
pattern da classificare.
I ranking vengono convertiti in punteggi che vengono tra loro
sommati; la classe con il pi elevato punteggio finale quella scelta
dal multi-classificatore.
Fusione a livello di decisione Fusione a livello di decisione

=
altrimenti 0
da votata classe la se 1
i
ij
C j
( 1 i NC, 1 j s )

=

=
=
NC
i
ij
s .. j
max t
1
1
52
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Dato un problema di classificazione a due classi e un multi-
classificatore costituito da NC classificatori (NC dispari), la
majority vote rule classifica il pattern come appartenente alla classe
che ha ottenuto almeno K=(NC+1)/2 voti.
Se p la probabilit che ogni singolo classificatore esegua la
classificazione correttamente, la probabilit che la decisione del
multi-classificatore sia corretta esprimibile attraverso la
distribuzione binomiale:
Ad esempio se p = 0.80 (ogni classificatore commette il 20% di
errore di classificazione) stando alla formula precedente per un
multi-classificatore con NC componenti:
NC = 3 (K=2) P
correct
= 0.896
NC = 5 (K=3) P
correct
= 0.942
NC = 7 (K=4) P
correct
= 0.966
NC = 9 (K=5) P
correct
= 0.980
NC = 15 (K=8) P
correct
= 0.995
NC = 21 (K=11) P
correct
= 0.999 // eccezionale !!!
Dov il trucco ? La formula precedente basata sullindipendenza
dei classificatori, cosa difficilmente ottenibile in pratica !
Fusione a livello di decisione (prestazioni) Fusione a livello di decisione (prestazioni)
( ) ( )
m NC m
NC
K m
correct
p p
m
NC
NC P

=

=

1
La binomiale ci dice infatti con quale
probabilit estraiamo K palline rosse da
unurna contenete NC palline, se p la
probabilit di estrarne una rossa in un
singolo tentativo.
53
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Fusione a livello di decisione (esempio) Fusione a livello di decisione (esempio)
Training set Test set
Errore=15 Errore=15.5 .5%
(Bayes Distr. Normali)
Errore=31 Errore=31.1% .1%
Errore=41 Errore=41.2% .2%
Errore=26 Errore=26.4% .4%
Errore=0.7%
Dividendo il training set in 3 parti e addestrando 3 classificatori dello stesso tipo:
Majority vote rule:
54
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Lapproccio One One- -Against Against- -One One, consente di risolvere un problema di
classificazione multi-classe, attraverso classificatori a due classi (binari).
E lapproccio adottato dalla libreria LIBSVM(usata in VALab).
Se s sono le classi del problema, vengono addestrati s(s1)/2
classificatori: tutte le possibili coppie, indipendentemente dallordine.
Durante la classificazione, il pattern x viene classificato con ogni
classificatore binario, che assegna un voto alla classe (tra le due) pi
probabile.
Al termine il pattern x viene assegnato alla classe che ha ricevuto pi
voti (majority vote rule).
in genere pi potente di One One- -Against Against- -All All (visto in precedenza per SVM),
anche se meno efficiente in quanto richiedere laddestramento di un numero
maggiore di classificatori.
Un Un applicazione dei applicazione dei multiclassificatori multiclassificatori: :
classificazione classificazione One One- -Against Against- -One One
55
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Ogni singolo classificatore C
j
, j=1..NC fornisce in output la confidenza di
classificazione del pattern rispetto a ciascuna delle classi, ovvero un
vettore conf
j
=[conf
j1
, conf
j2
,conf
js
] di dimensionalit s in cui li-esimo
elemento indica la probabilit di appartenenza del pattern alla classe i-
esima.
Diversi metodi di fusione sono possibili tra cui (somma, media, prodotto,
max, min).
Il metodo della somma metodo della somma uno dei pi noti e utilizzati per la sua
robustezza. Il metodo prevede di eseguire la somma vettoriale dei
diversi vettori confidenza, e di classificare il pattern sulla base
dellelemento maggiore:
Una variante molto efficace, quella della somma pesata somma pesata, dove la
somma dei vettori confidenza eseguita pesando i diversi
classificatori in base al loro grado di abilit g
j
.
I gradi di abilit possono essere definiti in base alle singole
prestazioni dei classificatori, ad esempio in maniera inversamente
proporzionale allerrore di classificazione.
Bisogna infine prestare attenzione alla normalizzazione dei vettori
di confidenza nel caso in cui essi non siano probabilit (ma ad
esempio similarit). Infatti in questultimo caso i valori non sono tra
loro confrontabili a causa dei diversi spazi di variazione. Per una
normalizzazione efficace una semplice divisione rispetto agli spazi
di variazione non sufficiente (si faccia riferimento a quanto detto
per la normalizzazione generale delle distanze).
Fusione a livello di confidenza Fusione a livello di confidenza

=
=
NC
j
j
1
conf sumconf
{ }
i
s .. i
sumconf max t
1 =
=

=
=
NC
j
j j
g
1
conf sumconf
56
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Fusione a livello di confidenza (esempio) Fusione a livello di confidenza (esempio)
Training Set Test Set
Bayes parametrico
(normali)
Errore=22.8%
Bayes & Parzen
(normali h=10)
Errore=22.8%
Errore=21.0%
Fusione a livello di Fusione a livello di
confidenza confidenza
(metodo somma) (metodo somma)
57
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata
Bibliografia Bibliografia
[Burg98] C. Burges, A Tutorial on Support Vector Machines for Pattern
Recognition, Data Mining and Knowledge Discovery, v. 2, n. 2, pp. 121-
167, 1998.
[Cher98] V. Cherkassky e F. Mulier, Learning from data - Concepts, Theory and
Methods, Wiley 1998.
[Cort95] C. Cortes, V. Vapnik, Support-vector networks, Machine Learning,
20:273-297, 1995.
[Duda01] R.O. Duda, P.E. Hart e D.G. Stock, Pattern Classification, Wiley 2001.
[Fuku90] K. Fukunaga, Statistical Pattern Recognition, Academic Press, San Diego,
1990.
58
Dott. Davide Maltoni Scienze dellInformazione - Universit di Bologna
VAII VAII
Classificazione supervisionata