You are on page 1of 17

Alberi di regressione e classificazione

Nicola Lunardon - nicola.lunardon@unimib.it

U7-2009 (Secondo piano)

Riferimenti

• An Introduction to Statistical Learning with applications in R - 8.1

• Modern Multivariate Statistical Techniques - Capitolo 9 (escluso 9.4)

Introduzione

In breve

• Tecnica supervisionata
• Se la risposta è

– Qualitativa: permette di costruire un classificatore da utilizzare per classificare nuove unità di cui
non si conosce la classe di appartenenza ma di cui è noto il valore delle esplicative
– Quantitativa: permette di costruire uno strumento adatto a prevedere la variabile risposta di
nuove unità di cui non si conosce il valore della risposta ma di cui è noto il valore delle esplicative

Esempio introduttivo: speed date

Dataset speed date

• I dati considerati sono stati raccolti durante 11 incontri che hanno avuto luogo tra Settembre 2003 e
Aprile 2004
– I 319 partecipanti erano studenti della Columbia

• Al termine di ogni incontro, ogni partecipante scopre a quali persone interesserebbe approfondire la
conoscenza/avere un secondo appuntamento
– La variabile risposta è la proporzione di persone interessate

• Oltre all’incontro, ogni partecipante ha compilato un questionario in cui sono state rilevate variabili
– Inerenti all’incontro
– Di natura anagrafica/sociale/economico/culturale

1
∗ Età, sesso
∗ Percorso di studio
∗ Hobby
∗ Etnia
∗ Fascia di reddito
∗ ···

• Risultati (parziali) dell’analisi descrittiva dei dati

Obiettivo
1.0
0.8
0.6
0.4
0.2
0.0

S. alternativa

P. nuove

Appuntamento

R. seria

Altro
L'ho fatto

2
Proporzione femmine e maschi

1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0

Femmine Maschi

Distribuzione età per sesso


60
50
age

40
30
20

Femmine Maschi

gender

3
Distribuzione autovalutazione sincerità per sesso

100
80
60
sincerita

40
20
0

Femmine Maschi

gender

Distribuzione proporzione persone interessate per sesso


1.0
0.8
0.6
prop_dates

0.4
0.2
0.0

Femmine Maschi

gender

• Consideriamo come esplicativa la variabile età

4
1.0
0.8
Proporzione persone interessate

0.6
0.4
0.2
0.0

20 30 40 50

Età

+ Il risultato dell’albero di regressione

age < 31.5


|

age < 20.5 age < 35.5


age < 24.5
0.5375 age < 25.5 0.3359 0.2117
0.4172

0.5053 0.4312

• Vediamo come si traduce il risultato dell’albero di regressione nel diagramma di dispersione

5
1.0
0.8
Proporzione persone interessate

0.6
0.4
0.2
0.0

20 30 40 50

Età

• Consideriamo come esplicative le variabili età e autovalutazione sincerità


– Il risultato dell’albero di regressione (nello spazio delle variabili)
60
50
Età

40
30
20

20 40 60 80 100

Sincerità

6
• Valore previsto della variabile risposta
– Regione rossa: 0.3647
– Regione verde: 0.4604
– Regione viola: 0.3747
– Regione blu: 0.3009

• Il risultato di un altro albero di regressione (nello spazio delle variabili)


60
50
Età

40
30
20

20 40 60 80 100

Sincerità

• Valore previsto della variabile risposta


– Regione rossa
∗ Tratteggio fine: 0.3799
∗ Tratteggio rado: 0
– Regione verde
∗ Tratteggio fine: 0.4640
∗ Tratteggio rado: 0.1825
∗ Tratteggio molto rado: 0.6
– Regione viola
∗ Tratteggio fine: 0.4042
∗ Tratteggio rado: 0.2686
∗ Tratteggio molto rado: 0.5072

• In sintesi
1. L’albero crea una partizione dello spazio delle variabili e prevede un valore costante all’interno di
ogni regione
2. Gli alberi sono molto flessibili: è possibile scegliere se costruirne di semplici o complessi a partire
dalle stesse variabili esplicative

7
Teoria degli alberi di regressione e classificazione

Generalità

• L’albero in statistica

• Le componenti di un albero
– La radice (root): nodo in corrispondenza del quale avviene la prima divisione
– Nodi (internal nodes): punti in cui si formano le diramazioni
– Rami (branches): congiungono i nodi
– Nodi terminali/foglie (terminal nodes/leaves): foglie, ovvero nodi che non danno luogo ad ulteriori
diramazioni

8
age < 31.5
|

age < 20.5 age < 35.5

sincerita < 95
0.4319
0.3359 0.2117

age < 19.5


0.8000
sincerita < 85
0.2500

0.6667 0.2000

• I nodi possono essere di due tipi


– Genitore
– Figlio

• Ogni nodo può essere sia genitore che figlio tranne


– La radice che è necessariamente genitore
– I nodi terminali che sono necessariamente figli

• Quando si parla di dimensione dell’albero si fa riferimento al numero di nodi terminali/foglie

• La costruzione degli alberi di regressione e classificazione si basa sulle seguenti fasi


1. Crescita
2. Potatura

9
Crescita

• L’albero partiziona lo spazio delle variabili in regioni R1 , . . . , RK secondo una sequenza logica che
coinvolge le singole variabili esplicative
– Al generico nodo si ha una condizione che coinvolge una sola variabile esplicativa; per esempio,
se Xj è quantitativa, Xj < c
– In linea di principio, si possono considerare condizioni che coinvolgono più variabili
∗ Per esempio, se X1 ed X2 sono variabili quantitative, X1 + X22 < 0

• Tuttavia nel seguito si considereranno condizioni binarie semplici che coinvolgono una sola variabile
esplicativa alla volta
– Variabile continua: condizioni del tipo Xj < c, c ∈ R
– Variabile categoriale: condizioni del tipo Xj = d oppure Xj ∈ I, I = {d, e, . . .} (d, e, . . . sono le
possibili categorie di Xj )

• Sorgono alcune domande/problemi


1. Forma delle regioni: in linea di principio le regioni possono avere qualsiasi forma
– Il tipo di condizioni binarie imposte fa in modo che le regioni siano dei rettan-
goli/iperrettangoli
∗ Si noti che questa interpretazione geometrica delle regioni è valida solo per variabili es-
plicative numeriche
2. Modo di procedere: considerare tutte le possibili partizioni dello spazio delle variabili in K regioni
è computazionalmente proibitivo

• Per ovviare alla problematica 2, la strategia utilizzata è chiamata divisione ricorsiva binaria (recursive
binary splitting)
– È un approccio
∗ Top-down (dall’alto al basso): si parte dalla radice dell’albero, in cui c’è un unica regione, si
fa una prima divisione e si procede dividendo ulteriormente le regioni ottenute ad ogni passo
∗ Greedy (avido): ad ogni passo viene fatta la miglior divisione in quel preciso passo senza
verificare se la divisione corrente può essere cambiata in favore di un’altra che, ad un passo
successivo, porterebbe a risultati migliori

• La divisione ricorsiva binaria è composta di un numero indefinito, a priori, di passi da compire il cui
unico scopo è
1. Trovare una partizione dello spazio della variabili in modo tale da ottimizzare una funzione di
costo

• La funzione di costo, come vedremo, dipende dal tipo di albero che dobbiamo stimare
– Regressione
– Classificazione

Potatura

• La potatura è necessaria perché gli alberi sono molto flessibili, in grado quindi di adattarsi molto
all’insieme di dati usato per farli crescere
– Questo porterebbe ad un adattamento eccessivo ai dati

10
– Implica scarsa capacità di generalizzazione
∗ Scarso potere previsivo nel test set

• Invece di ricorrere alla potatura, la strategia di divisione ricorsiva binaria potrebbe essere modificata
in modo tale da limitare la crescita dell’albero
– Limitare la crescita dell’albero è una strategia miope
∗ Data la natura della divisione ricorsiva binaria, non possiamo sapere in anticipo cosa succederà
nei passi successivi

• Nella pratica si preferisce agire diversamente, ovvero far crescere l’albero e poi potarlo
– Nel seguito si vedrà questa strategia che viene chiamata strategia di potatura dopo la crescita (o
di “post pruning”)

Alberi di regressione

Crescita

• Nella costruzione di un albero di regressione la funzione di costo da ottimizzare è (somma dei quadrati
dei residui)
Xn
SQR = (yi − ŷi )2
i=1
– ŷi valore previsto dall’albero per yi

• Si noti che nel caso in cui si sia diviso la spazio delle variabili in K regioni, la funzione può essere
espressa come la somma dei quadrati dei residui all’interno delle K regioni R1 , . . . , RK
n
X K
X X
SQR = (yi − ŷi )2 = (yi − ŷRk )2
i=1 k=1 i:xi ∈Rk

dal momento che il valore stimato dall’albero all’interno delle regioni è costante
– Per un’albero di regressione, ŷRk è la media delle osservazioni nella regione Rk
1 X
ŷRk = yi
card(Rk )
i:xi ∈Rk

∗ card(Rk ) è la cardinalità della regione Rk , definita come numero di osservazioni che si trovano
all’interno della regione Rk
∗ Si noti che la previsione per ciascuna unità appartenente ad una data regione RK è pari a
ŷRk (in virtù del fatto che la previsione dell’albero è costante all’interno di una regione)

• Per mettere in atto la divisione ricorsiva binaria bisogna scegliere la variabile esplicativa e il punto,
rispetto a questa, in cui effettuare la divisione

• Senza perdita di generalità, consideriamo di essere alla radice dell’albero e di disporre di p esplicative
quantitative X1 , . . . , Xp
– Per decidere quale variabile usare alla prima divisione bisogna trovare quella variabile Xj e il
punto in cui effettuare la divisione, chiamiamolo c, tale per cui le regioni
R1 = {X|Xj < c} e R2 = {X|Xj ≥ c}
rendono minima la quantità
2
X X
(yi − ŷRk )2
k=1 i:xi ∈Rk

11
• In generale, il problema di cui sopra può essere formalizzato nel seguente modo
– Per ogni j = 1, . . . , p e c, trovare le due regioni

R1 (j, c) = {X|Xj < c} e R2 (j, c) = {X|Xj ≥ c}

che rendono minima la funzione


X X
(yi − ŷR1 (j,c) )2 + (yi − ŷR2 (j,c) )2
i:xi ∈R1 (j,c) i:xi ∈R2 (j,c)

– tale funzione altro non è che la somma delle somme dei quadrati dei residui nelle regioni R1 (j, c)
e R2 (j, c)

• Una volta determinata la prima divisione, come si procede?


– Assumiamo che la divisione sia avvenuta considerando la variabile 3, cioè X3 , e il punto di divisione
c
– Per ogni j = 1, . . . , p e per ogni possibile punto di divisione possibile rispetto alla j-sima variabile
considerata, scelgo la variabile e il rispettivo punto di divisione che rende minima la quantità

R̄1 (j, d) = {R1 (3, c)|Xj < d} e R̄2 (j, d) = {R1 (3, c)|Xj ≥ d}

• In generale, divisioni successive dividono le regioni individuate in uno dei passi precedenti
– Analogamente a quanto visto sopra, si cercano le due regioni che minimizzano la somma dei
quadrati dei residui (nelle nuove regioni)

Potatura

• Per gli alberi di regressione la potatura dopo la crescita (post pruning) è basata su una funzione di
costo che penalizza la “complessità” dell’albero (cost complexity)
– é una funzione che mette in relazione l’adattamento dell’albero ai dati con la sua dimensione
– l’adattamento viene penalizzato per la grandezza dell’albero

• Il fulcro della strategia è la seguente somma dei quadrati dei residui modificata (funzione di cost
complexity)
K |T α |
X X X X
α
2
(yi − ŷRk ) + α|T | = (yi − ŷRk )2 + α|T α |
k=1 i:xi ∈Rk k=1 i:xi ∈Rk
α
– |T | è la dimensione dell’albero
– Il parametro α ∈ R controlla l’adattamento dell’albero ai dati e la dimensione dell’albero
– Al variare di α, otteniamo una sequenza di sotto alberi T α
∗ Quando α = 0 otteniamo l’albero iniziale T 0
∗ Man mano che α cresce si penalizzano sempre di più alberi di dimensioni elevate
· Si ottengono quindi alberi progressivamente più piccoli
– Se α1 < α2 allora si ha che la dimensione di T α1 sarà maggiore o uguale a quella di T α2

• Per scegliere il miglior sotto albero si procede con la K-fold cross validation

12
Alberi di classificazione

Generalità

• Il modo in cui si fa crescere e si pota un albero di classificazione è analogo a quanto visto per gli alberi
di regressione

• La differenza risiede nel tipo di funzione di perdita utilizzata


– La somma dei quadrati dei residui non ha alcun senso quando la variabile risposta è categoriale

• La crescita è guidata dal principio di purezza dei nodi che si vanno via via creando
– Un nodo è puro quando contiene solamente osservazioni che appartengono ad una sola classe
– Per valutare la purezza dei nodi si utilizzano le funzioni di impurità

• L’utilizzo delle funzioni di impurità è coerente con il modo in cui viene prevista la classe delle osser-
vazioni nei nodi
– La classe prevista per un’unità è la classe che presenta la proporzione magiore di osservazioni nel
nodo
– Assumendo che la variabile risposta abbia due classi, per esempio Y = {a, b}, un’osservazione yi
le cui esplicative appartengono alla regione Rk avrà previsione ŷi = a se

arg max p̂kl = a


l∈Y

1 X
p̂kl = I(yt = l)
card(Rk )
t:xt ∈Rk

• Il caso di una suddivisione quando la variabile risposta ha due classi


– Nel diagramma di dispersione l’appartenenza alle due classi è evidenziata dai colori arancione e
nero
5
4
3
x2

2
1
0

0 2 4 6 8 10
x1

13
• In letteratura, le funzioni di impurità comunemente usate per valuatre la purezza della regione Rk (e
quindi del nodo corrispondente) sono
1. Errore di scorretta classificazione
1 − max p̂kl
l∈Y

2. Indice di Gini X X
p̂kl p̂kl′ = p̂kl (1 − p̂kl )
l̸=l′ l∈Y

– Y è l’insieme delle classi della variabile risposta

Crescita

• Il criterio usato per decidere se dividere una regione R in due nuove regioni R1 ed R2 rispetto alla
variabile Xj , e al punto di divisione c, si basa sulla massimizzazione della quantità

i(R) − p1 i(R1 (j, c)) − p2 i(R2 (j, c))

che viene chiamata guadagno di informazione


– i(R) è l’impurità della regione R, calcolata a partire da una delle misure elencate sopra
– i(R1 (j, c)) è l’impurità della regione R1 (j, c), calcolata a partire da una delle misure elencate sopra
– i(R2 (j, c)) è l’impurità della regione R2 (j, c), calcolata a partire da una delle misure elencate sopra
– p1 e p2 sono le proporzioni di osservazioni che andranno a formare, rispettivamente, le regioni
R1 (j, c) e R2 (j, c)

• Il guadagno di informazione è una quantità non negativa (≥ 0)


– Quando è pari a zero allora suddividere la regione R in R1 ed R2 non porta nessun miglioramento
rispetto a R
∗ In altri termini: la divisione non viene effettuata
• È prassi usare l’indice di Gini per la crescita dell’albero e non quello di scorretta classificazione

Esempio

• Si consideri il seguente esempio che evidenzia perché è prassi usare l’indice di Gini per la crescita

• Supponiamo di disporre di un insieme di dati composto da 800 unità


– La variabile risposta ha due classi Y = {a, b}
∗ la frequenza di osservazioni appartenenti a ciascuna classi è 400
– La variabile esplicativa X è continua
– Supponiamo di non aver effettuato nessuna divisione, quindi siamo alla radice dell’albero
∗ Questa regione è indicata con R
– Indichiamo con R1 ed R2 due regioni che derivano dalla devisione di R in corrispondenza ad un
punto di divisione c
∗ senza perdita di generalità, supponiamo che R1 corrisponda a X ≤ c
– Presi due punti distinti, d ed e, sulla base dei quali fare le divisioni, si considerino le regioni
corrispondenti
1. R1 (1, d) composta da 300 di classe a e 100 di classe b, R2 (1, d) composta da 100 di classe a e
300 di classe b

14
2. R1 (1, e) composta da 200 di classe a e 400 di classe b, R2 (1, e) composta da 200 di classe a e
0 di classe b
• Calcoliamo le quantità necessarie al calcolo del guadagno di informazione
– Usando l’errorre di scorretta classificazione si ha che

i(R) = (1 − 1/2) = 1/2 (1)


p1 i(R1 (1, d)) + p2 i(R2 (1, d)) = (400/800)(1 − 300/400) + (400/800)(1 − 300/400) = 0.25(2)
p1 i(R1 (1, e)) + p2 i(R2 (1, e)) = (600/800)(1 − 400/600) + (200/800)(1 − 200/200) = 0.25(3)

– Usando l’indice di Gini si ha che

i(R) = 2(1/2)(1/2) = 1/2 (4


p1 i(R1 (1, d)) + p2 i(R2 (1, d)) = (400/800)2(300/400)(1 − 300/400) + (400/800)2(300/400)(1 − 300/400) = 0.375
(5
p1 i(R1 (1, e)) + p2 i(R2 (1, e)) = (600/800)2(400/600)(1 − 400/600) + (200/800)2(200/200)(1 − 200/200) = 0.333
(6

• Da questi calcoli segue che


– Usando l’indice di scorretta classificazione, i punti di divisione d ed e sono equivalenti
– Usando l’indice di Gini, il punto di divisione e risulta preferibile al punto d

• L’indice di Gini è più indicativo circa la purezza di una regione


– si noti che la regione R2 (1, e) è pura (contiene solo osservazioni della classe a)

Potatura

• La potatura viene condotta come nel caso degli alberi di regressione


– La funzione che è alla base della strategia
|T α |
X X
(yi − ŷRk )2 + α|T α |
k=1 i:xi ∈Rk

va sostituita con
|T α |
X
(1 − max p̂kl )pk + α|T α |
l∈Y
k=1

– 1 − maxl∈Y p̂kl è l’errore di scorretta classificazione nella regione k (Rk )


– p̂k è la proporzione di osservazioni che appartengono alla regione k (Rk )
– Si noti, quindi, che per la potatuta si usa l’indice di scorretta classificazione e non quello di Gini

• Come nel caso degli alberi di regressione, la funzione di cui sopra va minimizzata

Osservazioni/dettagli

• Una variabile utilizzata in una divisione ad un passo precedente può essere usata in una divisione ad
un passo successivo?
– Si

• Secondo i criteri elencati finora, ci sono partizioni ammissibili e inammissibili

15
60
50
40
X2

30
20

20 40 60 80 100
X1
60
50
40
X2

30
20

20 40 60 80 100
X1

16
60
50
40
X2

30
20

20 40 60 80 100
X1

• No-Sì-No (vedi anche il libro “An introduction to Statistical Leraning”)

• Un’osservazione sui possibili punti di divisione


– Se la variabile è continua, le condizioni saranno del tipo Xj < c
∗ La pratica dice di scegliere c come il valore medio tra due valori consecutivi piuttosto che
scegliere uno dei valori osservati (meno errori nel test set)
– Se la variable è categoriale le condizioni sono del tipo Xj ∈ I, dove I è un opportuno insieme
∗ Supponendo che Xj abbia categorie {a, b, c, d}, si avranno i possibili punti di divisione
· I = {a}, Ī = {b, c, d}
· I = {b}, Ī = {a, c, d}
· I = {c}, Ī = {a, b, d}
· I = {d}, Ī = {a, b, c}
· I = {a, b}, Ī = {c, d}
· I = {a, c}, Ī = {b, d}
· I = {a, d}, Ī = {b, c}

17

You might also like