Está en la página 1de 36

Razonamiento Automatico

Curso 20002001

Tema 12: Arboles de decisin o

Jos A. Alonso Jimnez e e Miguel A. Gutirrez Naranjo e

Dpto. de Ciencias de la Computacin e Inteligencia Articial o

Universidad de Sevilla

RA 200001

Cc Ia

Arboles de decisin o

12.1

Qu es el Aprendizaje mediante rboles de decisin? e a o

El aprendizaje mediante rboles de decisin es un mtodo de aproxia o e macin de una funcin objetivo de valores discretos en el cual la funcin o o o objetivo es representada mediante un rbol de decisin. a o Los rboles aprendidos tambin pueden representarse como un conjunto a e de reglas Sientonces

RA 200001

Cc Ia

Arboles de decisin o

12.2

Un ejemplo
Cielo Temperatura Humedad Viento Agua Forecast Hacer Deporte Soleado Templada Alta Dbil e Fr a Sigue igual No Soleado Templada Normal Dbil e Fr a Sigue igual S Nublado Templada Normal Dbil e Fr a Sigue igual S Lluvioso Templada Normal Fuerte Templada Cambio No Lluvioso Templada Normal Dbil e Fr a Cambio S

Cundo hacemos deporte? a Podemos denir el concepto Hacer Deporte?

RA 200001

Cc Ia

Arboles de decisin o

12.3

Un ejemplo de rbol de decisin a o


Cielo

Soleado Humedad

Nublado Si

Lluvioso Viento

Alta
No

Normal Si

Fuerte No

Debil Si

RA 200001

Cc Ia

Arboles de decisin o

12.4

El problema de la representacin o
El rbol anterior corresponde a la hiptesis: a o (Cielo = Soleado Humedad = N ormal) (Cielo = N ublado) (Cielo = Lluvioso V iento = Debil) Representacin: o Cada nodo que no sea una hoja representa un atributo. Las aristas que partan del nodo etiquetado con el atributo A estn etiquetadas con cada a uno de los posibles valores del atributo A. Cada hoja corresponde a un valor de la clasicacin o

RA 200001

Cc Ia

Arboles de decisin o

12.5

Cuestiones sobre rboles de decisin a o


x

Cundo usar rboles de decisin? a a o


u u u u

Podemos describir los ejemplos en trminos de pares atributovalor e La funcin objetivo toma valores discretos o Posibilidad de ruido en el conjunto de entrenamiento Pueden no conocerse los valores de algunos atributos en los ejemplos del conjunto de entrenamiento

Ejemplos:
u u u

Diagnstico mdico o e Anlisis de riesgo en la concesin de crditos a o e Elaboracin de horarios o

RA 200001

Cc Ia

Arboles de decisin o

12.6

Cuestiones sobre rboles de decisin a o


x

Cul es el rbol de decisin correcto? a a o


u u u

Navaja de Occam El mundo es inherentemente simple El rbol de decisin ms peque o consistente con la muestra es el que tiene ms a o a n a probabilidades de identicar objetos desconocidos de manera correcta Menor profundidad Menor n mero de nodos u

u u x

Cmo se puede construir el rbol de decisin ms peque o? o a o a n


u

B squeda en escalada u

RA 200001

Cc Ia

Arboles de decisin o

12.7

Algoritmo bsico (I) a

Arbol inicial: Arbol con un unico nodo, sin etiquetar, al que asignamos como conjunto de ejemplos todo el conjunto de entrenamiento. Bucle principal: Consideramos el primer nodo, N , sin etiquetar Si los ejemplos asignados N tienen todos la misma clasicacin, o etiquetamos N con esa clasicacin. o En otro caso ...

RA 200001

Cc Ia

Arboles de decisin o

12.8

Algoritmo bsico (II) a Etiquetamos N con el mejor atributo A segn el conjunto de u ejemplos asignado. Para cada valor de A creamos una nueva arista descendente en el nodo N , y al nal de cada una de esas nuevas aristas creamos un nuevo nodo sin etiquetar, N1, . . . , Nk . Separamos los ejemplos asignados al nodo N segn el valor que u tomen para el atributo A y creamos nuevos conjuntos de ejemplos para N1, . . . , Nk . Hasta que todos los nodos ests etiquetados e Qu atributo clasica mejor? e

RA 200001

Cc Ia

Arboles de decisin o

12.9

Entrop (Denicin) a o
Denicin: Sea P = {p1, p2, . . . , pn} una distribucin o o de probabilidad. Llamamos entrop b-aria de la disa tribucin P a o
i=n

Hb(p1, p2, . . . , pn) =


i=1

pi logb pi

La funcin de entrop o a H2(p, 1 p) = p log2 1 1 + (1 p) log2 p 1p

es muy comn y nos referimos a ella como la funcin de u o entrop y se denota por H(p). Su grca es a a
1.0

Entropy(S)

0.5

0.0

0.5 p +

1.0

RA 200001

Cc Ia

Arboles de decisin o

12.10

Entrop a D es un conjunto de entrenamiento P y N son, respectivamente, la cantidad de ejemplos positivos y negativos en D T es el nmero total de ejemplos de D u La entrop de esta distribucin es: a o
u

Frmula: I(P, N ) = H2(P/T, N/T ) = o


9 9 Ejemplo: I(9, 9) = 18 log2 18 9 18

0, P log2 P T T

N T

log2 N , T

si N P = 0; si N P = 0.

9 log2 18 = 1

(El trmino entrop fue usado por primera vez por Clausius en 1864 e introducido en la teor de la e a a informacin por Shannon en 1948) o

RA 200001

Cc Ia

Arboles de decisin o

12.11

Otro ejemplo
D a D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 Cielo Temperatura Humedad Viento Jugar tenis Soleado Alta Alta Dbil e No Soleado Alta Alta Fuerte No Lluvioso Alta Alta Dbil e S Lluvioso Media Alta Dbil e S Lluvioso Fr a Normal Dbil e S Lluvioso Fr a Normal Fuerte No Lluvioso Fr a Normal Fuerte S Soleado Media Alta Dbil e No Soleado Fr a Normal Dbil e S Lluvioso Media Normal Dbil e S Soleado Media Normal Fuerte S Lluvioso Media Alta Fuerte S Lluvioso Alta Normal Dbil e S Lluvioso Media Alta Fuerte No

Entropia([9+,5-])= -(9/14)log2(9/14)-(5/14)log2(5/14)=0940

RA 200001

Cc Ia

Arboles de decisin o

12.12

Ganancia de informacin o Ganancia(D,A)= Estimacin de la reduccin de la entrop en el conjunto o o a de entrenamiento D si tomamos el atributo A y clasicamos segn sus valores u Ganancia(S, A) Entropia(S)
vV alores(A)

|Sv | Entropia(Sv ) |S|

donde Valores(A) es el conjunto de valores del atributo A Sv es el subconjunto de S formado por aquellas instancias que en el atributo A toman el valor v

RA 200001

Cc Ia

Arboles de decisin o

12.13

Otro ejemplo Supongamos que S es un conjunto de entrenamiento con 14 ejemplos 9 ejemplos positivos y 5 negativos ([9+,5-]) Unos de los atributos, V iento, puede tomar los valores Dbil y Fuerte e La distribucin de ejemplos positivos y negativos segn los valores de o u V iento son Positivos Negativos Dbil e 6 2 Fuerte 3 3

RA 200001

Cc Ia

Arboles de decisin o

12.14

Otro ejemplo La Ganancia de informacin que obtenemos si clasicamos los 14 ejemplos o segn el atributo V iento es: u Ganancia(S,A) = = = = Entropia(S)
|Sv | vV alores(A) |S| Entropia(Sv )

8 6 Entropia(S) 14 Entropia(SDebil ) 14 Entropia(SF uerte) 6 8 0 940 14 0 811 14 1 00

0.048

RA 200001

Cc Ia

Arboles de decisin o

12.15

Seleccin del mejor atributo (I) o


Which attribute is the best classifier?
S: [9+,5-] E =0.940 Humidity High Normal Weak S: [9+,5-] E =0.940 Wind Strong

[3+,4-] E =0.985 Gain (S, Humidity ) = .940 - (7/14).985 - (7/14).592 = .151

[6+,1-] E =0.592

[6+,2-] E =0.811 Gain (S, Wind )

[3+,3-] E =1.00

= .940 - (8/14).811 - (6/14)1.0 = .048

Humedad proporciona mayor ganacia de informacin que Viento o

RA 200001

Cc Ia

Arboles de decisin o

12.16

Seleccin del mejor atributo (II) o Consideremos el ejemplo anterior con 14 ejemplos Ganancia(S,Cielo) = 0246 Ganancia(S,Humedad) = 0151 Ganancia(S,Viento) = 0048 Ganancia(S,Temperatura) = 0029 El atributo con el que tenemos mayor Ganancia de informacin es Cielo o Luego, seleccionamos Cielo como atributo de decisin para el nodo ra o z Para cada uno de sus posibles valores (Soleado, Lluvioso, Lluvioso) creamos una rama Clasicamos los ejemplos segn los valores de u Cielo En las ramas en las que los ejemplos no estn e perfectamente clasicados, iteramos el proceso

RA 200001

Cc Ia

Arboles de decisin o

12.17

Seleccin del mejor atributo (III) o Tras el primer paso, obtenemos un rbol de decisin a o parcial
{D1, D2, ..., D14} [9+,5] Outlook

Sunny

Overcast

Rain

{D1,D2,D8,D9,D11} [2+,3]

{D3,D7,D12,D13} [4+,0] Yes

{D4,D5,D6,D10,D14} [3+,2]

Which attribute should be tested here?


Ssunny = {D1,D2,D8,D9,D11} Gain (Ssunny , Humidity) = .970 (3/5) 0.0 (2/5) 0.0 = .970 Gain (Ssunny , Temperature) = .970 (2/5) 0.0 (2/5) 1.0 (1/5) 0.0 = .570 Gain (Ssunny , Wind) = .970 (2/5) 1.0 (3/5) .918 = .019

RA 200001

Cc Ia

Arboles de decisin o

12.18

Espacio de hiptesis o

El aprendizaje mediante rboles de decisin es un mtodo de aproxia o e macin de una funcin objetivo de valores discretos en el cual la funcin o o o objetivo es representada mediante un rbol de decisin. a o Podemos pensar este proceso como un proceso de bsqueda de un rbol u a que clasique correctamente nuestros ejemplos. Espacio de hiptesis: Todos los posibles rboles de decisin. o a o Mtodo: Escalada (hill-climbing), empezando por el rbol vac e a o. Funcin de evaluacin que gu la bsqueda: Ganancia de informacin o o a u o

RA 200001

Cc Ia

Arboles de decisin o

12.19

Comentarios (I)

El espacio de hiptesis es completo: Cualquier funcin nita que tome o o valores discretos puede ser representada como un rbol de decisin. a o En cada eleccin consideramos una unica hiptesis, a diferencia del alo o goritmo de Eliminacion de Candidatos, que considerbamos sia multneamente todas las hiptesis consistentes con los ejemplos. a o

RA 200001

Cc Ia

Arboles de decisin o

12.20

Comentarios (II)

No permite retroceso, por lo que podemos obtener ptimos locales en o lugar de ptimos globales o Considera en cada paso gran cantidad de ejemplos, en contraste con otros mtodos, por ejemplo Eliminacion de candidatos que consideran e los ejemplos uno a uno. Esto supone mayor robustez frente al ruido.

RA 200001

Cc Ia

Arboles de decisin o

12.21

Sesgo de restriccin y sesgo preferencial (I) o Consideremos la bsqueda en el espacio de hiptesis en el algoritmo de u o rboles de decisin y el algoritmo de Eliminacion de Candidatos a o ID3 busca de manera incompleta en un espacio de bsqueda completo. u El sesgo es consecuencia unicamente del mtodo de bsqueda. El espacio e u de hiptesis no introduce ningn sesgo. Llamamos a este tipo de sesgo o u preferencial, ya que se debe a la preferencia de unas hiptesis sobre otras. o

RA 200001

Cc Ia

Arboles de decisin o

12.22

Sesgo de restriccin y sesgo preferencial (II) o

El algoritmo de Eliminacion de Candidatos busca en un espacio de bsqueda incompleto de manera completa (i.e. devuelve todas las u hiptesis del espacio consistentes con el conjunto de entrenamiento). En o este caso el sesgo depende unicamente de la potencia expresiva en la rep resentacin de las hiptesis. Llamamos a este sesgo sesgo de restriccin o o o o sesgo del lenguaje.

RA 200001

Cc Ia

Arboles de decisin o

12.23

Sistemas TDIDP
x

Los sistemas basados en rboles de decisin forman una familia llamada a o TDIDT (TopDown Induction of Decision Tree) Representantes de TDIDT:
u u

ID3 [Quinlan, 1986] C4.5 [Quinlan, 93]

Quinlan, J. R. C4.5: Programs for Machine Learning (Morgan Kaufmann, 1993)

RA 200001

Cc Ia

Arboles de decisin o

12.24

Otros temas de estudio (I) Sobreajuste (overtting) Denicin: Dado un espacio de hiptesis H, o o una hiptesis h H se dice que sobreao justa un conjunto de entrenamiento C si existe alguna hiptesis alternativa h H tal o que h clasica mejor que h los elementos del conjunto de entrenamiento, pero h clasica mejor que h el conjunto completo de posibles instancias. Exceso de ruido Conjunto de entrenamiento demasiado pequeo n Poda (prunning) Denicin: Podar un nodo de un rbol de o a decisin consiste en eliminar un subrbol anio a dado en ese nodo transformndolo en una a hoja y asignndole la clasicacin ms comn a o a u de los ejemplos de entrenamiento considerados en ese nodo

RA 200001

Cc Ia

Arboles de decisin o

12.25

Otros temas de estudio (II) Atributos de valores continuos Medidas alternativas en la seleccin de o atributos Atributos con valores perdidos Atributos con pesos diferentes

RA 200001

Cc Ia

Arboles de decisin o

12.26

Ejemplo de datos
Ejemplo e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 e18 Accin o saltar leer saltar saltar leer saltar saltar leer saltar saltar saltar saltar leer leer leer leer leer leer Autor conocido desconocido desconocido conocido conocido conocido desconocido desconocido conocido conocido desconocido conocido conocido conocido conocido conocido conocido desconocido Tema nuevo nuevo viejo viejo nuevo viejo viejo nuevo viejo nuevo viejo nuevo viejo nuevo nuevo viejo nuevo nuevo Longitud largo corto largo largo corto largo corto corto largo largo corto largo corto corto corto corto corto corto Sitio casa trabajo trabajo casa casa trabajo trabajo trabajo casa trabajo casa trabajo casa trabajo casa trabajo casa trabajo

RA 200001

Cc Ia

Arboles de decisin o

12.27

Arbol de decisin o
longitud largo saltar nuevo leer conocido leer corto trama viejo autor desconocido saltar

RA 200001

Cc Ia

Arboles de decisin o

12.28

B squeda del rbol de decisin u a o


x

Informacin tras la divisin por un Atributo: o o 2I2 I = N 1I1+N 2 , donde N 1+N N1 = n mero de ejemplos en la clase 1 u N2 = n mero de ejemplos en la clase 2 u I1 = cantidad de informacin en los ejemplos de la clase 1 o I2 = cantidad de informacin en los ejemplos de la clase 2 o

RA 200001

Cc Ia

Arboles de decisin o

12.29

Algoritmo ID3
x

Sesin o
?- [aprende_ad.pl,aprende_ad_e1.pl]. Yes ?- aprende_ad(accion, [e1,e2,e3,e4,e5,e6,e7,e8,e9, e10,e11,e12,e13,e14,e15,e16,e17,e18], [autor,tema,longitud,sitio], AD). AD = si(longitud=largo, saltar, si(tema=nuevo, leer, si(autor=desconocido, saltar, leer))) Yes

RA 200001

Cc Ia

Arboles de decisin o

12.30

Algoritmo ID3
x

Representacin del problema aprende ad e1.pl o


u

val(Objeto,Atributo,Valor) se verica si el valor del Atributo del Objeto es Valor

val(e1,accion,saltar). val(e1,autor,conocido). val(e1,tema,nuevo). val(e1,longitud,largo). val(e1,sitio,casa ). .......................... val(e18,accion,leer). val(e18,autor,desconocido). val(e18,tema,nuevo). val(e18,longitud,corto). val(e18,sitio,trabajo).

RA 200001

Cc Ia

Arboles de decisin o

12.31

Algoritmo ID3
x

Algoritmo de aprendizaje de rboles de decisin a o


u

aprende ad(+Objetivo,+Ejemplos,+Atributos,-AD) se verica si AD es el rbol de dea cisin inducido para el Objetivo a partir de la lista de Ejemplos y Atributos o

aprende_ad(Objetivo, Ejemplos, _ , Val) :coinciden_todos_ejemplos(Objetivo, Ejemplos, Val). aprende_ad(Objetivo, Ejemplos, Atributos, si(Atr=ValPos,APos,ANeg)) :not(coinciden_todos_ejemplos(Objetivo, Ejemplos, _)), selecciona_division(Objetivo, Ejemplos, Atributos, Atr, Resto_Atr), divide(Ejemplos, Atr, ValPos, Positivos, Negativos), aprende_ad(Objetivo, Positivos, Resto_Atr, APos), aprende_ad(Objetivo, Negativos, Resto_Atr, ANeg).

RA 200001

Cc Ia

Arboles de decisin o

12.32

Algoritmo ID3
x

Seleccin del mejor atributo para dividir o


u

selecciona division(+Objetivo,+Ejemplos,+Atributos, -Atrib,-Restantes atrib) se verica si Atributo es el mejor elemento de la lista de Atributos para determinar el Objetivo a partir de los Ejemplos (es decir, la informacin resultante del Objetivo o en los Ejemplos usando como divisin el Atributo es m o nima), y Restantes atributos es la lista de los restantes Atributos. Falla si para ning n atributo se gana en u informacin. o

selecciona_division(Objetivo, Ejemplos, [A|R], Atributo, Resto_Atr) :informacion_division(Objetivo,Ejemplos,A,I), selecciona_max_ganancia_informacion(Objetivo,Ejemplos,R,A,I, Atributo,[],Resto_Atr).

RA 200001

Cc Ia

Arboles de decisin o

12.33

Algoritmo ID3
u

informacion(+Objetivo,+Ejemplos,-I) se verica si I es la cantidad de informacin o en los Ejemplos respecto del Objetivo; es decir, 0, si N P = 0; I= P P N N T log2 T T log2 T , si N P = 0.

informacion(Objetivo,Ejemplos,I) :cuenta(Objetivo,_,Ejemplos,NP,NN), ( (NP=0 ; NN=0) -> I=0 ; NT is NP + NN, I is - NP/NT * log2(NP/NT) - NN/NT * log2(NN/NT)).

RA 200001

Cc Ia

Arboles de decisin o

12.34

Algoritmo ID3
u

selecciona max ganancia informacion(+Objetivo, +Ejemplos, +Atributos, +Mejor atributo actual, +Mejor info actual, -Atributo, +Atributos analizados, -Resto atributos) se verica si Atributo es el elemento de Atributos tal la informacin resultante del Objetivo en los Ejemplos usando como divisin el Atributo es o o m nima

selecciona_max_ganancia_informacion(_,_,[],MejorA,_, MejorA, A_analizados, A_analizados). selecciona_max_ganancia_informacion(Objetivo, Ejs, [A|R], MejorA, MejorI, Atributo, A_analizados, Resto_Atr) :informacion_division(Objetivo,Ejs,A,Informacion), ( Informacion > MejorI -> selecciona_max_ganancia_informacion( Objetivo,Ejs,R,MejorA,MejorI,Atributo,[A|A_analizados],Resto_Atr) ; selecciona_max_ganancia_informacion( Objetivo,Ejs,R,A,Informacion,Atributo,[MejorA|A_analizados],Resto_Atr) ).

RA 200001

Cc Ia

Arboles de decisin o

12.35

Bibliograf a Mitchell, T. M. Machine Learning Texto: McGrawHill, 1997. Cap tulo III. Web: http://www.cs.cmu.edu/~tom/mlbook.html Poole D., et. al Computational Intelligence. A Logical Approach Oxford University Press, 1998.

RA 200001

Cc Ia

Arboles de decisin o

12.36