Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Riferimenti
• An Introduction to Statistical Learning - Capitolo 4 (escluso 4.3)
Introduzione
In breve
• Tecnica supervisionata
• Permette di costruire un classificatore da utilizzare per classificare nuove unità di cui non si conosce la
classe di appartenenza, ma solo il valore delle corrispondenti variabili esplicative X1 , . . . , Xp
Dataset iris
• Le tre specie
– Iris setosa
1
– Iris virginica
– Iris versicolor
– Il sepalo nell’Iris dovrebbe essere una foglia verde che sta sotto i petali (purtroppo non visibile
dalle figure)
• Consideriamo solo le misurazioni relative al petalo e vediamo come, e se, le variabili lunghezza e
larghezza discriminano le tre specie di Iris
2
3
versicolor
virginica
setosa
2
Larghezza petalo
1
0
0 1 2 3 4 5 6 7 8
Lunghezza petalo
• La specie setosa si può distinguere molto bene in base alle variabili considerate, ma anche versicolor e
virginica mostrano un buon grado di separazione
• Con le informazioni fornite da questo grafico potremmo pensare di essere in grado di classificare ad
occhio le varie specie di Iris
– Ricordiamoci però che abbiamo deliberatamente escluso le misurazioni relative al sepalo: se con-
siderassimo anche queste non potremo avere una rappresentazione grafica (sono richieste 4 dimen-
sioni!)
– Cerchiamo allora un criterio, più oggettivo e magari automatizzato, che ci permetta di classificare
nuovi esemplari di cui conosciamo solo le misurazioni relative a petali/sepali, ma non la specie.
Classificatore di Bayes
3
3
versicolor
virginica
setosa
2
Larghezza petalo
1
0
0 1 2 3 4 5 6 7 8
Lunghezza petalo
Y = j|X = xo
• La regola per costruire il classificatore sembra sensata e, oltretutto, fornisce un criterio generale e
obiettivo per classificare le unità
– Come fare però a reperire la distribuzione condizionata P (Y |X)?
– Si usa il teorema di Bayes
4
• La probabilità cercata può essere calcolata nel seguente modo
P (Y = l)P (X = xo |Y = l)
P (Y = l|X = xo ) = PK (1)
u=1 P (Y = u)P (X = xo |Y = u)
πl fl (xo )
= PK (2)
u=1 πu fu (xo )
(3)
πl fl (xo ) πj fj (xo )
max PK = PK
l∈Y π f
u=1 u u o (x ) u=1 πu fu (xo )
• Il classificatore di Bayes
– Non ci fornisce un metodo operativo per costruire un classificatore
∗ Dove reperiamo πl = P (Y = l) e fl (xo ) = P (X = xo |Y = l)?
• Occupiamoci di fl (xo )
– È la probabilità di osservare xo nella classe l
– Possiamo
∗ Non fare ipotesi e stimare da zero questa quantità
∗ Fare alcune assunzioni e, in seguito, stimare tutto ciò che è ignoto
5
X|Y un concetto (s)conosciuto
• Prima di procedere è necessario chiarire, in termini pratici, cosa è X|Y e le associate distribuzioni di
probabilità osservate
Iris
1 2 3 4 5 6 7
6
Distribuzione osservata condizionata alla specie − lunghezza petalo
virginica
Larghezza petalo
versicolor
setosa
1 2 3 4 5 6 7
Lunghezza petalo
Diagramma a coppie
2.5
2.0
Larghezza petalo
1.5
1.0
0.5
1 2 3 4 5 6 7
Lunghezza petalo
7
Diagramma a coppie condizionato alla specie
2.5
2.0
Larghezza petalo
1.5
1.0
0.5
1 2 3 4 5 6 7
Lunghezza petalo
• Senza condizionare
8
Diagramma a coppie Distribuzione osservata
2.5
2.5
2.0
2.0
Larghezza petalo
1.5
1.5
1.0
1.0
0.5
0.5
1 2 3 4 5 6 7
Lunghezza petalo
Distribuzione osservata
1 2 3 4 5 6 7
• Condizionando
9
2.5
Diagramma a coppie condizionato alla specie Distribuzione osservata condizionata
2.5
2.0
2.0
Larghezza petalo
iris$Petal.Width
1.5
1.5
1.0
1.0
0.5
0.5
1 2 3 4 5 6 7 setosa versicolor virginica
versicolor
setosa
1 2 3 4 5 6 7
iris$Petal.Length
Considerazioni aggiuntive
• Nel seguito esempi che evidenziano alcuni casi in cui le analisi esplorative ci suggeriscono se e quali
variabili sarebbe opportuno usare a fini previsivi (classificazione)
10
3
Congiunta: (X1,X2)
3
2
2
1
1
X2
0
−1
−1
−2
−2
−3
−3
−2 0 2
X1
−2 0 2
• Condizionate: caso 1
11
3
Condizionata: (X1,X2)|Y
3
2
2
1
1
data.f$X2
X2
0
−1
−1
−2
−2
−3
−3
−2 0 2 0 1
X1 data.f$Y1
1
data.f$Y1
−2 0 2
data.f$X1
• Condizionate: caso 2
12
3
Condizionata: (X1,X2)|Y
3
2
2
1
1
data.f$X2
X2
0
−1
−1
−2
−2
−3
−3
−2 0 2 0 1
X1 data.f$Y
1
data.f$Y
−2 0 2
data.f$X1
• Condizionate: caso 3
13
3
Condizionata: (X1,X2)|Y
3
2
2
1
1
data.f$X2
X2
0
−1
−1
−2
−2
−3
−3
−2 0 2 0 1
X1 data.f$Y2
1
data.f$Y2
−2 0 2
data.f$X1
Analisi discriminante
• Sotto queste ipotesi, e avendo osservato il valore X = xo il classificatore di Bayes classificherà alla
classe 0 se
1 1 2 1 1 2
π0 √ e− 2σ2 (xo −µ0 ) = max πl √ e− 2σ2 (xo −µl ) (4)
2πσ 2 l={0,1} 2πσ 2
1 2 1 2
π0 e− 2σ2 (xo −µ0 ) = max πl e− 2σ2 (xo −µl ) (5)
l={0,1}
14
equivalentemente
1. 1 2 1 2
π0 e− 2σ2 (xo −µ0 ) > π1 e− 2σ2 (xo −µ1 ) (6)
• Prendendo il logaritmo dei singoli termini nell’espressione in 1., possiamo costruire la funzione dis-
criminante lineare per ciascuna classe
1 1
(xo − µ0 )2 → log π0 − 2 µ20 − 2xo µ0
log π0 − 2
2σ 2σ
1 1
(xo − µ1 )2 → log π1 − 2 µ21 − 2xo µ1
log π1 − 2
2σ 2σ
– È stato omesso il termine x2o (perché ininfluente ai nostri scopi, si capirà a breve il motivo)
– Sono funzioni lineari in xo
– Nello specifico, classificheremo l’unità, la cui esplicativa è xo , alla classe 0/(1) quando
∗ Il valore di questa funzione è maggiore/(minore) di 0
• Quando la differenza delle funzioni discriminanti è posta uguale a 0 e si considera xo come incognita
– Otteniamo il punto di demarcazione tra i due gruppi (decision boundary)
1 2 π0 2 2
xo = − 2σ log − (µ0 − µ1 )
2(µ0 − µ1 ) π1
• Tornando brevemente al dataset Iris, consideriamo di voler classificare in base alla sola lunghezza del
petalo
– Stiamo assumendo che il carattere “lunghezza del petalo” nella popolazione degli Iris, nelle specie
virginica e versicolor, sia distribuito normalmente
– Le medie cambiano in base alla specie
15
0.4
Virginica
Versicolor
0.3
0.2
0.1
0.0
2 4 6 8
Lunghezza petalo
• Assumiamo che per la specie versicolor la media sia 4.5 = µ0 , mentre per virginica 5.5 = µ1
– Assumiamo inoltre che le a priori per virginica e versicolor siano uguali
– Infine, σ 2 = 1
– Sotto queste ipotesi il decision boundary è (4.5 + 5.5)/2 = 5
∗ Lunghezza petalo < 5: classifico come versicolor
∗ Lunghezza petalo > 5: classifico come virginica
∗ Lunghezza petalo = 5 (siamo sul decision boundary): assegno casualmente ad una delle due
classi
• Siamo soddisfatti?
n
1X
π̂j = I(yi = j)
n i=1
K n
1 XX
σ̂ 2 = I(yi = j)(xi − µ̂j )2
n − K j=1 i=1
16
– nj è il numero di osservazioni nella classe j
– K è il numero totale di classi (al momento ne stiamo considerando 2)
Virginica
Versicolor
0.4
0.3
0.2
0.1
0.0
2 4 6 8
Lunghezza petalo
17
Setosa
3.0
2.0
Frequency
1.0
0.0
1 2 3 4 5 6 7
Lunghezza petalo
Versicolor
3.0
2.0
Frequency
1.0
0.0
1 2 3 4 5 6 7
Lunghezza petalo
18
Virginica
3.0
2.0
Frequency
1.0
0.0
1 2 3 4 5 6 7
Lunghezza petalo
• Con tre, ed in generale, K classi, avremo K funzioni discriminanti, una per ogni classe
1
µ2k − 2xo µk
log πk − 2
2σ
– k ∈ {1, . . . , K}
• A questo punto non ci resta che vedere come assegnare le unità a ciascuna classe
– Nel caso di K = 2 abbiamo visto che assegno alla classe 0/(1) se
π0 1
− 2 (µ20 − µ21 ) − 2xo (µ0 − µ1 ) > (<) 0
log
π1 2σ
19
π0 1 2
(µ0 − µ22 ) − 2xo (µ0 − µ2 ) > 0
log − 2
π2 2σ
e
..
.
e
π0 1 2
(µ0 − µ2K ) − 2xo (µ0 − µK ) > 0
log −
πK 2σ 2
– Ragionamento analogo per le altre classi
Setosa
Virginica
Versicolor
0.3
0.2
0.1
0.0
−2 0 2 4 6 8
Lunghezza petalo
20
∗ Virginica: Lunghezza petalo > 4.02
0.4
Setosa
Virginica
Versicolor
0.3
0.2
0.1
0.0
−2 0 2 4 6 8
Lunghezza petalo
• Dobbiamo semplicemente generalizzare quanto visto in precedenza per il caso con tre o più classi e con
p=1
– Assumiamo che le variabili esplicative seguano una distribuzione multidimensionale
– In particolare, le variabili per il gruppo l seguono legge normale p-variata
1 1 T
Σ−1 (x−µl )
fl (x) = e− 2 (x−µl )
(2π)p/2 |Σ|1/2
– Quindi X|Y = l ∼ Np (µl , Σ)
∗ µl = (µl1 , . . . , µlp )
∗ Σ matrice di ordine p, simmetrica e definita positiva
21
– Ragionamento analogo per le altre classi
K n
1 XX
Σ̂ = I(yi == l)(xi − µ̂l )(xi − µ̂l )T
n−K i=1 l=1
versicolor
virginica
setosa
Larghezza petalo
2
1
0
0 1 2 3 4 5 6 7 8
Lunghezza petalo
• I decision boundaries sono delle rette (infatti x0 è un vettore con due componenti)
– Sono riportati i decision boundaries solo per le coppie di specie versicolor-virginica e versicolor-
setosa
22
3
versicolor
virginica
setosa
Larghezza petalo
2
1
0
0 1 2 3 4 5 6 7 8
Lunghezza petalo
23
Analisi discriminante quadratica
• Sotto queste ipotesi, consideriamo nuovamente il fulcro del nostro classificatore log[πl fl (x)] che diventa
1 1
log πl − log σl2 − 2 (x2 + µ2l − 2xµl )
2 2σl
– Questa è la funzione discriminante quadratica per il gruppo l
– È quadratica in x
Virginica
Versicolor
0.5
0.4
0.3
0.2
0.1
0.0
2 4 6 8
Lunghezza petalo
• Anche in questo caso bisogna usare i dati per stimare le quantità incognite nella funzione discriminante
– Le formule per la stima delle medie e delle a priori sono analoghe a quelle viste per l’analisi
discriminante lineare
– La stima delle varianze nelle classi è
n
2 1 X
σl = I(yi = l)(xi − µl )2
nl i=1
24
Il caso con tre o più classi e p ≥ 1
• Come per l’analisi discriminante lineare, nel caso in cui ci siano più di due classi, si assegna alla classe
0 se, dopo tutti i confronti a coppie, la sua funzione discriminante è la più grande
1 1 T −1 1 1 T −1 1 T −1 1
− xT Σ−1 T −1 T −1
0 x+x Σl µ0 − µ0 Σ0 µ0 − log |Σ0 |+log π0 > − x Σ1 x+x Σl µ1 − µ1 Σ1 µ1 − log |Σ1 |+log π1
2 2 2 2 2 2
..
.
1 1 T −1 1 1 T −1 1 T −1 1
− xT Σ−1 T −1 T −1
0 x+x Σl µ0 − µ0 Σ0 µ0 − log |Σ0 |+log π0 > − x ΣK x+x Σl µK − µK ΣK µK − log |ΣK |+log πK
2 2 2 2 2 2
• Anche in questo caso bisogna usare i dati per stimare le quantità incognite nella funzione discriminante
– Le formule per la stima delle medie e delle a priori sono analoghe a quelle viste per l’analisi
discriminante lineare
– La stima delle matrici di covarianze delle classi è
n
1 X
Σl = I(yi = l)(xi − µl )(xi − µl )T
nl i=1
• Vediamo il tutto nel dataset Iris, considerando come variabili esplicative la lunghezza e larghezza del
petalo
versicolor
virginica
setosa
Larghezza petalo
2
1
0
0 1 2 3 4 5 6 7 8
Lunghezza petalo
25
Analisi discriminante quadratica
3
versicolor
virginica
setosa
Larghezza petalo
2
1
0
0 1 2 3 4 5 6 7 8
Lunghezza petalo
Normale multivariata
– Il supporto è Rp
– µ = (µ1 , . . . , µp ) ∈ Rp è il vettore delle medie
– Σ è la matrice di covarianza. È una matrice simmetrica, di ordine p, definita positiva
σ11 σ12 · · · σ1p
σ21 σ22 · · · σ2p
Σ= .. (7)
.
.. .. · · · ..
σp1 σp2 · · · σpp
26
z
x[2]
x[1]
27
3
0.02
2
0.06
1
0.1
0.14
x2
0.12
−1
0.08
0.04
−2
−3
−3 −2 −1 0 1 2 3
x1
28
z
x[2]
x[1]
29
1
0.02
0 0.04
0.08
−1
0.12
−2
x2
0.14
−3
0.1
0.06
−4
−5
−3 −2 −1 0 1 2 3
x1
30
z
x[2]
x[1]
31
3
0.02
2 0.06
0.1
1
0.14
0.16
8
0.1
x2
0.12
−1
0.08
0.04
−2
−3
−3 −2 −1 0 1 2 3
x1
32
z
x[2]
x[1]
33
3
2
0.05
0.1
0.15
1
5
0.2
3
0.
x2
5
0.3
−1
0.2
−2
−3
−3 −2 −1 0 1 2 3
x1
34
z
x[2]
x[1]
35
3
2
0.05
0.15
1
0.25
0.3
5
x2
0.3
−1
0.2
0.1
−2
−3
−3 −2 −1 0 1 2 3
x1
Estensioni
Sex
Class Male Female
1st 0 0
2nd 0 0
3rd 35 17
Crew 0 0
36
Sex
Class Male Female
1st 118 4
2nd 154 13
3rd 387 89
Crew 670 3
Sex
Class Male Female
1st 5 1
2nd 11 13
3rd 13 14
Crew 0 0
Sex
Class Male Female
1st 57 140
2nd 14 80
3rd 75 76
Crew 192 20
• Versione 1
Survived No Yes
Class Sex Age
1st Male Child 0 5
Adult 118 57
Female Child 0 1
Adult 4 140
2nd Male Child 0 11
Adult 154 14
Female Child 0 13
Adult 13 80
3rd Male Child 35 13
Adult 387 75
Female Child 17 14
Adult 89 76
Crew Male Child 0 0
Adult 670 192
Female Child 0 0
Adult 3 20
• Versione 2
Survived No Yes
Sex Male Female Male Female
Age
Child 35 17 29 28
Adult 1329 109 338 316
37
• Versione 3
Survived No Yes
Class 1st 2nd 3rd Crew 1st 2nd 3rd Crew
Age
Child 0 0 52 0 6 24 27 0
Adult 122 167 476 673 197 94 151 212
• Versione 4
Survived No Yes
Class 1st 2nd 3rd Crew 1st 2nd 3rd Crew
Sex
Male 118 154 422 670 62 25 88 192
Female 4 13 106 3 141 93 90 20
38
$ fixed.acidity : num 7.4 7.8 7.8 7.4 7.4 7.3 7.8 7.5 6.7 7.5 ...
$ volatile.acidity : num 0.7 0.88 0.76 0.7 0.66 0.65 0.58 0.5 0.58 0.5 ...
$ citric.acid : num 0 0 0.04 0 0 0 0.02 0.36 0.08 0.36 ...
$ residual.sugar : num 1.9 2.6 2.3 1.9 1.8 1.2 2 6.1 1.8 6.1 ...
$ chlorides : num 0.076 0.098 0.092 0.076 0.075 0.065 0.073 0.071 0.097 0.071 ...
$ free.sulfur.dioxide : num 11 25 15 11 13 15 9 17 15 17 ...
$ total.sulfur.dioxide: num 34 67 54 34 40 21 18 102 65 102 ...
$ density : num 0.998 0.997 0.997 0.998 0.998 ...
$ pH : num 3.51 3.2 3.26 3.51 3.51 3.39 3.36 3.35 3.28 3.35 ...
$ sulphates : num 0.56 0.68 0.65 0.56 0.56 0.47 0.57 0.8 0.54 0.8 ...
$ alcohol : num 9.4 9.8 9.8 9.4 9.4 10 9.5 10.5 9.2 10.5 ...
$ quality : chr "Bad" "Bad" "Bad" "Bad" ...
39