• No se han encontrado resultados

Sistemas Inteligentes. Tema B2T3 Árboles de Clasificación

N/A
N/A
Protected

Academic year: 2022

Share "Sistemas Inteligentes. Tema B2T3 Árboles de Clasificación"

Copied!
29
0
0

Texto completo

(1)

Escuela T ´ecnica Superior de Inform ´atica Universitat Polit `ecnica de Val `encia

Tema B2T3

Arboles de Clasificaci ´ ´ on

SIN

(2)

´Indice

◦ 1 ´Arboles de Decisi ´on y de Clasificaci ´on (ADC) . 1 2 Aprendizaje de ADC . 11

3 Bibliograf´ıa . 27

(3)

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.

(4)

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

(5)

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.

(6)

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.

(7)

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 %

(8)

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

· · ·

(9)

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

(10)

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.

(11)

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

(12)

´Indice

1 ´Arboles de Decisi ´on y de Clasificaci ´on (ADC) . 1

◦ 2 Aprendizaje de ADC . 11 3 Bibliograf´ıa . 27

(13)

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

(14)

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”

(15)

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)

(16)

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.

(17)

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

(18)

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)

(19)

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?

(20)

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).

(21)

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)

}

}

(22)

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 )

(23)

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:

t(error) = 1 − m´ax

1≤c≤C

P (c | t)ˆ Y para un ´arbol T :

T(error) = X

t∈ ˜T

P (t) ˆˆ Pt(error)

En el ejemplo de la p ´agina 6, (3 nodos terminales, 2 totalmente puros):

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

(24)

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

(25)

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

(26)

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 %

(27)

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)´

(28)

´Indice

1 ´Arboles de Decisi ´on y de Clasificaci ´on (ADC) . 1 2 Aprendizaje de ADC . 11

◦ 3 Bibliograf´ıa . 27

(29)

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].

Referencias

Documento similar

Si ese fuera el caso, entonces el coste de entrenamiento del algoritmo de Machine Learning podr´ıa ser utilizado como una estimaci´ on de la dificultad de la actividad de formaci´

‐ Certificado de Registro de Proponente (cada integrante en caso de consorcio, así como del consorcio mismo (NO SUBSANBLE). Forma de cumplimiento. Mediante la inscripción en

La Normativa de evaluación del rendimiento académico de los estudiantes y de revisión de calificaciones de la Universidad de Santiago de Compostela, aprobada por el Pleno or-

Se puede actuar sobre los tres tipos de factores de ruido que se consideran en la metodolog´ıa de Taguchi, es decir, factores de ruido externo, interno y unidad a unidad, en

Tras esta revisi´ on observamos que: (i) la mayor´ıa de estos recursos se basan en la Wi- kipedia, por lo que la informaci´ on facilitada puede ser f´ acilmente contrastada a trav´

 En ella ha tenido un lugar especial los aspectos más importantes de los procesos de socialización, en particular la primaria.  Con ella tienen que ver aspectos como

(b) (1 punto) Determine cu´ antos expedientes hay que elegir como m´ınimo para que, con el mismo nivel de confianza y la misma proporci´ on muestral anteriores, el error que se

El tratamiento de la informaci´ on basada en la identi- ficaci´ on del emisor del mensaje (se˜ nal neuronal) podr´ıa ser una potente estrategia de procesamiento y codificaci´ on