Escuela T ´ecnica Superior de Inform ´atica Universitat Polit `ecnica de Val `encia
Tema B2T3
Arboles de Clasificaci ´ ´ on
SIN
´Indice
◦ 1 ´Arboles de Decisi ´on y de Clasificaci ´on (ADC) . 1 2 Aprendizaje de ADC . 11
3 Bibliograf´ıa . 27
Arboles de decisi ´ ´ on y clasificaci ´ on (ADC)
Los ´arboles de clasificaci ´on (tambi ´en llamados de decisi ´on o de identificaci ´on) se enmarcan en la aproximaci ´on no param ´etrica al Reconocimiento de Formas. Consti- tuyen un forma de representaci ´on del conocimiento especialmente simple y efectiva.
Un ´arbol de clasificaci ´on es la estructura resultante de la partici ´on recursiva del espacio de representaci ´on a partir de una muestra de aprendizaje.
Cada nodo interno contiene una pregunta sobre un atributo concreto (con un hijo por cada posible respuesta) y cada nodo hoja o terminal contine una etiqueta de clase y corresponde a una decisi ´on final (clasificaci ´on).
Una dato de test se clasifica mediante una serie de preguntas sobre los valores de sus atributos, empezado por el nodo raiz y siguiendo el camino determinado por las respuestas a las preguntas de los nodos internos, hasta llegar a un nodo hoja. La etiqueta de esta hoja es la que se asignar ´a a la muestra a clasificar.
Entre los posibles clasificadores basados en ´arboles (ID3, C4, C4.5, ´arboles Baye- sianos, etc.) estudiaremos CART (“Classification And Regression Trees” o ´arboles de clasificaci ´on y regresi ´on) [3]. CART se caracteriaza por adoptar una partici ´on de nodos exclusivamente binaria basada en criterios estad´ısticos s ´olidos.
Ejemplo
Clase A Clase B
0 1 2 3 4 5
0 1 2 3 4 5 y1
y2
Tarea simple ilustrativa:
representaci ´on en dos dimensiones (E = R2) clasificaci ´on en 2 clases no separables linealmente 46 datos (vectores)
• 26 de clase A
• 20 de clase B
Ejemplo: Primera partici ´ on
Clase A Clase B
0 1 2 3 4 5
0 1 2 3 4 5 y1
y2
y1 ≤ 3.5 46 26+20
?
32 26+6
B
14 0+14
El nodo ra´ız tiene asociado el conjunto completo de datos. La primera partici ´on se establece en base a la pregunta: ¿y1 ≤ 3.5?. El nodo de la derecha contiene 14 datos. Como todos son de la clase B se dice que es “puro” por lo que puede declararse nodo terminal y etiquetarse como de clase B.
Ejemplo: segunda partici ´ on y fronteras de decisi ´ on
Clase A Clase B
0 1 2 3 4 5
0 1 2 3 4 5 y1
y2
y1 ≤ 3.5 46 26+20
y2 ≤ 2.5 32 26+6
B
8 2+6
A
24 24+0
B
14 0+14
En el nodo de la izquierda se procede a una segunda partici ´on con la pregunta:
¿y2 ≤ 2.5?. El nodo derecho es puro y se etiqueta de clase A. El izquierdo a ´un se podr´ıa partir hasta lograr nodos puros, pero se decide terminar y etiquetar este nodo con la clase mayoritariamente representada, la clase B.
Ejemplo: regiones de decisi ´ on
Clase A Clase B
0 1 2 3 4 5
0 1 2 3 4 5 y1
y2
y1 ≤ 3.5 46 26+20
y2 ≤ 2.5 32 26+6
B
8 2+6
A
24 24+0
B
14 0+14
Las regiones de decisi ´on est ´an formadas por bloques de forma rectangular, ya que las fronteras de decisi ´on son siempre paralelas a los ejes.
La probabilidad de error estimada por resustituci ´on es 2/46 = 0.0435 → 4.35 %
Ejemplo: clasificaci ´ on de nuevos datos
Clase A Clase B
0 1 2 3 4 5
0 1 2 3 4 5 y1
y2
y1 ≤ 3.5 46 26+20
y2 ≤ 2.5 32 26+6
B
8 2+6
A
24 24+0
B
14 0+14
El ´arbol de decisi ´on obtenido permite clasificar nuevos datos:
(1.0, 1.0)t: y1 ≤ 3.5, y2 ≤ 2.5 → clase B (5.0, 2.5)t: y1 > 3.5 → clase B
· · ·
(1.5, 2.7)t: y1 ≤ 3.5, y2 > 2.5 → clase A (2.0, 5.0)t: y1 ≤ 3.5, y2 > 2.5 → clase A
· · ·
Notaci ´ on
Espacio de representaci ´on: E ≡ RD; y = (y1, y2. . . . , yD)t ∈ E Muestra de aprendizaje: N vectores, con su correcta clasificaci ´on:
(y1, c1), . . . , (yN, cN), yi ∈ E, ci ∈ C = {1, 2, . . . , C}, 1 ≤ i ≤ N Un ´arbol se denota por T (“Tree” ), un nodo por t, sus hijos iz- quierdo y derecho por tL, tR, respectivamente y el conjunto de nodos-hoja o terminales por ˜T
Una partici ´on binaria (“split” ) se denota por s y el conjunto de particiones admisibles por S
Estimaci ´ on de probabilidades asociadas a los nodos de un ADC
Sean: N, Nc, N (t), Nc(t), respect´ıvamente, el n ´umero total de datos de la muestra de aprendizaje, el n ´umero de estos datos de la clase c, el n ´umero de los que est ´an representados en el nodo t, y el n ´umero de estos ´ultimos que son de la clase c.
Probabilidad a priori de la clase c : P (c)ˆ = Nc N Probabilidad a posteriori de clase en el nodo t : P (c | t)ˆ = Nc(t)
N (t) Probabilidad de un nodo terminal, t ∈ ˜T: P (t)ˆ = N (t)
N Probabilidad de decisi ´on por el hijo izquierdo de t : Pˆt(L) = N (tL)
N (t) Probabilidad de decisi ´on por el hijo derecho de t : Pˆt(R) = N (tR)
N (t)
Ejercicio: calcular ˆP (c) y ˆP (c | t), ˆP (t), ˆPt(L), ˆPt(R) ∀t, en el ´arbol de la p ´agina 6.
Soluci ´ on al ejercicio de la p ´agina 9
Clase A Clase B
0 1 2 3 4 5
0 1 2 3 4 5 y1
y2
y1 ≤ 3.5 46 26+20
y2 ≤ 2.5 32 26+6
B
8 2+6
A
24 24+0
B
14 0+14
Nodos: P (tˆ i) P (A | tˆ i) P (B | tˆ i) Pˆti(L) Pˆti(R)
t1 (raiz) – 0.565 0.435 0.696 0.304
t2 (interno) – 0.813 0.187 0.250 0.750
t3 (hoja B) 0.304 0.000 1.000 – –
t4 (hoja B) 0.174 0.250 0.750 – –
t5 (hoja A) 0.522 1.000 0.000 – –
´Indice
1 ´Arboles de Decisi ´on y de Clasificaci ´on (ADC) . 1
◦ 2 Aprendizaje de ADC . 11 3 Bibliograf´ıa . 27
Construcci ´ on de un ADC a partir de una muestra de aprendizaje
Elementos necesarios en el proceso de construcci ´on de un ´arbol de decisi ´on:
1. M ´etodo para hacer particiones y para seleccionar la mejor;
concretamente:
Condiciones o “preguntas” (“splits”) admisibles para formar particiones. Sin p ´erdida de generalidad, ser ´an de la forma:
¿y ∈ B?, B ⊆ E
Evaluaci ´on y optimizaci ´on de la calidad de una partici ´on
2. Criterio para considerar que un nodo es suficientemente “puro”
(homog ´eneo) como para declararlo terminal
3. Criterio para asignar una etiqueta a un nodo terminal
Conjunto de preguntas admisibles para formar particiones
Cada partici ´on involucra a una ´unica componente j de E, 1 ≤ j ≤ D Las preguntas ¿y ∈ B? son de la forma: ¿yj ≤ r?
Es decir, un “split” es un par s = (j, r) formado por una componente, j ∈ {1, . . . , D} y su correspondiente umbral, r ∈ R.
Como los “splits” definen hiperplanos paralelos a los ejes de E, las parti- ciones resultantes est ´an formadas por bloques (B) hiper-paralepip ´edicos (rectangulares en el caso E = R2),
Como la muestra de aprendizaje es finita, solo hay un n ´umero finito de particiones posibles. Para un nodo t con N (t) elementos:
• Hay que explorar cada una de las componentes j, 1 ≤ j ≤ D, de E
• Para cada j, hay que explorar (al menos) N (t) posibles valores de r Por tanto, para cada nodo t, hay que explorar al menos O(D N (t)) “splits”
Evaluaci ´ on de la calidad de una partici ´ on
Para evaluar las particiones posibles se usa el concepto de “impureza”
La impureza de un nodo t, I(t), se mide en funci ´on de las probabilidades estimadas de las clases en t, para lo cual existen varias aproximaciones.
Una de las m ´as interesantes se basa en el concepto de entrop´ıa (p ´ag.15):
I(t) = −
C
X
c=1
P (c | t) logˆ 2 P (c | t) =ˆ −
C
X
c=1
Nc(t)
N (t) log2 Nc(t)
N (t) (1) Otras definiciones de I(t): ´ındice Gini y probabilidad de error (ver [1,2,3]) La calidad de una partici ´on del nodo t mediante un “split” s = (j, r), se mide mediante el decremento de impureza:
∆I(j, r, t) def= I(t) − ˆPt(L)I(tL) − ˆPt(R)I(tR) (2) La mejor partici ´on es aquella que prduce mayor decremento de impureza:
(j?, r?) = argmax
1≤j≤D
−∞<r<+∞
∆I(j, r, t) (3)
Entrop´ıa
Mide la cantidad de informaci ´on asociada a una decisi ´on k−aria:
H = −
k
X
i=1
Pi log2 Pi (0 log 0 def= 0)
• La unidad es el bit: informaci ´on asociada a tomar una decisi ´on binaria en la que las dos alternativas son equiprobables.
• El valor m´ınimo es 0 y corresponde a una decisi ´on en la que solo hay una alternativa posible.
• El valor m ´aximo es +∞ que se da para decisiones k-arias equi- probables con k → ∞:
Ejemplos:
Si P1 = P2 = 1/2, H = − (0.5(0 − 1) + 0.5(0 − 1)) = 1 bit Si P1 = 1, P2 = 0, H = − 1 · 0 + 0 = 0 bits
Si Pi = 1/k, 1 ≤ i ≤ k, H = log2 k; H → ∞ si k → ∞
Ejercicio: seg ´un Eq.(1), calcular I(t) ∀t en el ´arbol de la p ´agina 6.
Soluci ´ on al ejercicio de la p ´agina 15
Clase A Clase B
0 1 2 3 4 5
0 1 2 3 4 5 y1
y2
y1 ≤ 3.5 46 26+20
y2 ≤ 2.5 32 26+6
B
8 2+6
A
24 24+0
B
14 0+14
Nodos: P (tˆ i) P (A | tˆ i) P (B | tˆ i) Pˆti(L) Pˆti(R) I(ti)
t1 (raiz) – 0.565 0.435 0.696 0.304 0.988
t2 (interno) – 0.813 0.187 0.250 0.750 0.695
t3 (hoja B) 0.304 0.000 1.000 – – 0.000
t4 (hoja B) 0.174 0.250 0.750 – – 0.811
t5 (hoja A) 0.522 1.000 0.000 – – 0.000
Criterios de suficiente “pureza” en nodos terminales
Uno de los criterios m ´as simple es considerar que un nodo t es terminal si el m ´aximo decremento de impureza posible es demasiado peque ˜no:
max
1≤j≤D
−∞<r<+∞
∆I(j, r, t) <
(4)donde es una constante peque ˜na a determinar emp´ıricamente.
Otro posible criterio es exigir que los nodos terminales sean totalmente pu- ros. Este criterio parece preferible, pero tiene el inconveniente que los ´arboles resultantes suelen ser grandes y con escasa capacidad de generalizaci ´on.
En este caso se recurre a m ´etodos de poda a posteriori que sacrifican pureza deshaciendo algunas de las particiones realizadas.
Asignaci ´ on de etiquetas de clase a nodos terminales
Un criterio simple y eficaz: asignar a cada nodo terminal la clase de la mayor´ıa de sus elementos:
c?(t) = argmax
1≤c≤C
P (c | t),ˆ ∀t ∈ ˜T (5)
Ejercicio (para hacer en clase)
Con respecto al ejemplo de la p ´agina 6:
Calcular el decremento de impureza que se produce al dividir cada uno de los 2 nodos no terminales seg ´un Eq (2)
Las dos particiones que se muestran en este ejemplo son solo ejemplos ilustrativos basados en pura intuici ´on geom ´etrica (es decir, no son el resultado de la optimizaci ´on de ninguna expresi ´on de impureza).
Seg ´un la Eq. (3), analizar la segunda partici ´on (la que en el ejemplo se resuelve con s = (2, 2.5); es decir, y2 ≤ 2.5), y determinar si alguna de las siguientes particiones es mejor para ese nodo: (y1 ≤ 1.95), (y2 ≤ 1.8) Entre los nodos terminales hay uno que no es puro. Seg ´un la Eq. (4),
¿cual ser´ıa el m´ınimo valor de
para el que la decisi ´on de considerar este nodo terminal ser´ıa correcta?Soluci ´ on al ejercicio de la p ´agina 18
Decrementos de impureza para t1 y t2:
Nodos: P (tˆ i) P (A | tˆ i) P (B | tˆ i) Pˆti(L) Pˆti(R) I(ti) ∆I(ti)
t1 (raiz) – 0.565 0.435 0.696 0.304 0.988 0.504
t2 (interno) – 0.813 0.187 0.250 0.750 0.695 0.492
t3 (hoja B) 0.304 0.000 1.000 – – 0.000 –
t4 (hoja B) 0.174 0.250 0.750 – – 0.811 –
t5 (hoja A) 0.522 1.000 0.000 – – 0.000 –
Splits alternativos en t2:
(y1 ≤ 1.95) : I(tL) = 0, I(tR) = −(11/17) log(11/17) − (6/17) log(6/17) = 0.937 (y2 ≤ 1.80) : I(tL) = 0, I(tR) = −(26/29) log(26/29) − (3/29) log(3/29) = 0.480
∆I(1, 1.95, t2) = 0.695 − 0 − (17/32) · 0.937 = 0.197 < 0.492
∆I(2, 1.80, t2) = 0.695 − 0 − (29/32) · 0.480 = 0.260 < 0.492 Por tanto, ninguno de estos splits habr´ıa sido mejor que (y2 ≤ 2.5).
La impureza de t4 es I(t4) = 0.811. El m ´aximo ∆I(t4) se conseguir´ıa con un split que produjera dos nodos puros; por ejemplo, s = (1, 1.5) (y1 ≤ 1.5). En este caso, I(t4L) = I(t4R) = 0) y el m ´aximo decremento de impureza para t4 ser´ıa 0.811 − 0 − 0 = 0.811. Por tanto, para que t4 se considerara terminal deber´ıa ser mayor que 0.811. Evidentemente el ejemplo no corresponde a un resultado real de aprendizaje de ADC, ya que con este valor de tanto el nodo interno como el mismo nodo raiz se habr´ıan considerado terminales).
Algoritmo ADC
Arbol CreaNodo(clase c, componente j, umbral u, nodos t´ L, tR) //crea un ´arbol (↑nodo) Arbol ADC(muestra Y ≡ (y´ 1, c1), . . . , (yn, cn))
{
// aprende un ´Arbol de Clasificaci´on (j?, r?, δ) = MejorDivisi ´on(Y) // seg´un Eq. (1,2,3); δ es el decremento de impureza if (δ < ){
// si δ es demasiado peque˜no – seg´un Eq. (4)c = ClaseDominante(Y) // seg´un Eq. (5)
return CreaNodo(c, −, −, NULL, NULL) // crea nodo terminal y le asigna la clase c
}
else{
YL = YR = ∅ // ∅ es el conjunto vac´ıo
∀(y, c) ∈ Y
{
// realiza la partici´on en funci´on de j?, r? if (yj? ≤ r?) YL = YL ∪ {(y, c)}else /*(yj? > r?)*/ YR = YR ∪ {(y, c)}
}
tL = ADC(YL) // crea recursivamente el sub´arbol izquierdo tR = ADC(YR) // crea recursivamente el sub´arbol derecho return CreaNodo(0, j?, r?, tL, tR)
}
}
Complejidad
Complejidad temporal: En un nodo t, MejorDivisi ´on( ) ha de explorar m = N (t) valores del umbral (r), para cada una de las D componentes (j). Y para cada j y r, ha de calcular las impurezas (entrop´ıas) de tL y tR.
Para ello ha de contabilizar N (tL), Nc(tL), N (tL) y Nc(tL), lo que puede hacer- se f ´acilmente de forma incremental si antes se ordenan los m elementos de Y seg ´un la componente j (lo que puede hacerse en Θ(m log m) pasos).
Por tanto, el coste de MejorDivisi ´on( ) es Θ(D (m+m log m)) = Θ(D m log m).
Suponiendo que el ´arbol queda aproximadamente equilibrado, su profundidad es log N y cada nodo a profundidad h tiene m = N/2h elementos. Entonces, el coste temporal total es (ver [1]):
O(
logN
X
h=0
2h D N
2h log N
2h) = O(D N (logN )2 )
Complejidad espacial: Un ´arbol tiene menos de 2N nodos y cada uno usa una cantidad fija (y peque ˜na) de memoria. Por tanto, el coste espacial es O(N )
Estimaci ´ on por resustituci ´ on del error de clasificaci ´ on
Seg ´un la teor´ıa de la decisi ´on estad´ıstica, la probabilidad de error de un nodo terminal t, estimada por resustituci ´on, es:
Pˆt(error) = 1 − m´ax
1≤c≤C
P (c | t)ˆ Y para un ´arbol T :
PˆT(error) = X
t∈ ˜T
P (t) ˆˆ Pt(error)
En el ejemplo de la p ´agina 6, (3 nodos terminales, 2 totalmente puros):
PˆT(error) = 14
46 · 0 + 8 46 · 2
8 + 24
46 · 0 = 2
46 ≈ 0.0435 → 4.35 %
Si hace crecer el ´arbol hasta que los nodos terminales sean totalmente puros, el error estimado ser ´a nulo, ya que en este caso ˆPt(error) = 0 ∀t ∈ ˜T. Esto conlleva un sobreaprendizaje que generalmente no es desable ⇒ esencialmente el ´arbol se convierte en mero almac ´en de la muestra de aprendizaje, sin capacidad de generalizaci ´on ante nuevos datos
Ejemplo: aprendizaje de un ADC para clasificar flores Iris
ANCHURA PÉTALOS
LONGITUD PÉTALOS FLORES DE LA FAMILIA ’IRIS’
’virginica’
’versicolor’
’setosa’
0 0.5 1 1.5 2 2.5 3
1 2 3 4 5 6 7
3 clases,
una f ´acilmente separable 4 dimensiones (E = R4) 150 vectores,
50 de cada clase
Ejemplo: aprendizaje de un ADC para clasificar flores Iris
ANCHURA PÉTALOS
LONGITUD PÉTALOS FLORES DE LA FAMILIA ’IRIS’
’virginica’
’versicolor’
’setosa’
0 0.5 1 1.5 2 2.5 3
1 2 3 4 5 6 7
pl ≤ 2.45 150
50
setosa
0.00
pw ≤ 1.75 100
pl ≤ 4.95 54
48
versicolor
0.02
6
virginica
0.33
46
virginica
0.02
ADC aprendido:
Solo se usan 2 de las 4 dimensiones
Ejemplo: aprendizaje de un ADC para clasificar flores Iris
ANCHURA PÉTALOS
LONGITUD PÉTALOS FLORES DE LA FAMILIA ’IRIS’
’virginica’
’versicolor’
’setosa’
0 0.5 1 1.5 2 2.5 3
1 2 3 4 5 6 7
pl ≤ 2.45 150
50
setosa
0.00
pw ≤ 1.75 100
pl ≤ 4.95 54
48
versicolor
0.02
6
virginica
0.33
46
virginica
0.02
Fronteras y regiones de clasificaci ´on. Error estimado por resustituci ´on:
(50/150)0.0 + (46/150)0.02 + (48/150)0.02 + (6/150)0.33 = 0.02 → 2.6 %
Otros planteamientos y criterios en ´ Arboles de Decisi ´ on
Ver detalles en [1,2,3]:
Atributos discretos y categ ´oricos
Nodos terminales puros y poda expl´ıcita a posteriori
Otras medidas de impureza: ´ındice Gini y probabilidad de error
Particiones no paralelas a los ejes: ´arboles “obl´ıcuos” o multivariados Particiones no binarias
Mejora del comportamiento en problemas multiclase: criterio de twoing Mejora de la estimaci ´on del error: validaci ´on cruzada
Tratamiento de “valores perdidos” para algunas componentes Arboles de Regresi ´on (en vez de Clasificaci ´on)´
´Indice
1 ´Arboles de Decisi ´on y de Clasificaci ´on (ADC) . 1 2 Aprendizaje de ADC . 11
◦ 3 Bibliograf´ıa . 27
Bibliograf´ıa
[1] R.O. Duda, D.G. Stork, P.E. Hart. Pattern Classification. Wiley, 2001.
[2] A. R. Webb, K. D. Copsey. Statistical Pattern Recognition. Wiley, tercera ed., 2011.
[3] Classification and Regression Trees by L. Breiman, J.H. Friedman, R.A. Olshen y C.J. Stone. Chapman & Hall, 1984.
El material de este tema se basa principalmente en [1] y [2].