Inducción de árboles de decisión. Qué son los árboles de decisión? Tipos de problemas abordables. Ejemplo de árbol de decisión 2

11  Descargar (0)

Texto completo

(1)

Prof. Carlos I. Chesñevar - UNS 1

Datamining y Aprendizaje Automatizado

Prof. Carlos Iván Chesñevar

Departamento de Cs. e Ing. de la Computación Universidad Nacional del Sur

Email: cic@cs.uns.edu.ar / Http:\\cs.uns.edu.ar\~cic

05 – Arboles de Decisión

Prof. Carlos I. Chesñevar - UNS 2

Inducción de árboles de decisión

„ ¿Qué son los árboles de decisión?

„ ¿Cómo pueden inducirse automáticamente?

¾ inducción top-down de árboles de decisión ¾ cómo evitar el overfitting

¾ cómo convertir árboles en reglas ¾ heurísticas alternativas ¾ un algoritmo TDIDT genérico

„ Mitchell, Cap. 3

Prof. Carlos I. Chesñevar - UNS 3

¿Qué son los árboles de

decisión?

„ Representan secuencias de tests

„ Según el resultado de un test, llevan a cabo un nuevo test.

„ Continuan hasta que el resultado obtenido es conocido

„ Ej. adivinar una identidad preguntando sólo preguntas respondibles con sí/no :

¾ hacer una pregunta

¾ según la respuesta, hacer nueva pregunta ¾ continuar hasta que la respuesta es conocida

Prof. Carlos I. Chesñevar - UNS 4

Tipos de problemas abordables

„ Las instancias se representan por pares

(atributo, valor).

„ La función “target” tiene un output discreto (ej. Clasificación “sí/no”).

„ Los datos de entrenamiento pueden contener errores.

„ Los datos de entrenamiento pueden contener atributos con valores desconocidos (missing

values).

Ejemplo: árbol de decisión 1

„ Del texto de Mitchell: ¿Jugamos al tenis o no?

(dependiendo de las condiciones climáticas)

Outlook

Humidity Wind

No Yes No Yes

Yes

Sunny Overcast Rainy

High Normal Strong Weak

Ejemplo de árbol de decisión 2

„ Del texto de Mitchell: árbol para predecir si hace

falta una “C-section”

„ Las hojas no son “puras”; se da una proporción pos/neg Fetal_Presentation Previous_Csection + -1 2 3 0 1 [3+, 29-] .11+ .89-[8+, 22-] .27+ .73-[55+, 35-] .61+ .39-Primiparous … …

(2)

Prof. Carlos I. Chesñevar - UNS 7

Poder representativo

„ Típicamente:

¾ los ejemplos se representan con arreglos de atributos ¾ 1 nodo en el árbol testea el valor de 1 atributo ¾ 1 nodo hijo para cada resultado posible del test ¾ Los nodos hoja asignan una clasificación

„ Nota:

¾ el árbol puede representar cualquier función booleana • i.e., también conceptos disjunctivos (<-> ejemplos VS ) ¾ el árbol permite ruido (hojas no puras)

Prof. Carlos I. Chesñevar - UNS 8

Cómo representar fórmulas

booleanas

„ E.g., A ∨ B

„ Similarmente (hacerlo como ejercicio!):

¾ A ∧ B, A xor B, (A ∧ B) ∨ (C ∧ ¬D ∧ E) ¾ Complejidad árbol vs. complejidad fórmula.

A false true B true true false true false

Prof. Carlos I. Chesñevar - UNS 9

Arboles para Clasificación,

Regresión y Clustering

„Los árboles de clasificación representan funciones X -> C con C discreto (como los árboles de decisión antes vistos)

„Los árboles de regresión predicen números en las hojas

¾podría usarse una constante (ej., media), o modelo de regresión lineal, o …

„Los árboles de clustering sólo agrupan ejemplos en las hojas.

„La mayoría (no toda) de la investigación en ML se focaliza en los árboles de clasificación.

Prof. Carlos I. Chesñevar - UNS 10

Arbol de Decisión (estudio de

calidad de agua de un río)

„Aplicación de "Data mining"

„Dadas: descripciones de muestras de aguas de río

¾descripción biológica: aparición de organismos en el agua (“abundancia”, medida entre 0-5)

¾descripción química: 16 variables (temperatura, concentrciones de químicos (NH4, ...))

„Pregunta: caracterizar las propiedades químicas del agua a partir de los organismos que aparecen en ella.

Prof. Carlos I. Chesñevar - UNS 11

abundancia(Tubifex sp.,5) ? T = 0.357111 pH = -0.496808 cond = 1.23151 O2 = -1.09279 O2sat = -1.04837 CO2 = 0.893152 hard = 0.988909 NO2 = 0.54731 NO3 = 0.426773 NH4 = 1.11263 PO4 = 0.875459 Cl = 0.86275 SiO2 = 0.997237 KMnO4 = 1.29711 K2Cr2O7 = 0.97025 BOD = 0.67012 abundancia(Sphaerotilus natans,5) ? no T = 0.0129737 pH = -0.536434 cond = 0.914569 O2 = -0.810187 O2sat = -0.848571 CO2 = 0.443103 hard = 0.806137 NO2 = 0.4151 NO3 = -0.0847706 NH4 = 0.536927 PO4 = 0.442398 Cl = 0.668979 SiO2 = 0.291415 KMnO4 = 1.08462 K2Cr2O7 = 0.850733 BOD = 0.651707 no abundancia(...) valores “estandardizados" (nro. de desvíos estándar por sobre la media)

Arbol de Clustering

...

Prof. Carlos I. Chesñevar - UNS 12

Algoritmos Básicos

para Arboles de Decisión

„ ID3 (Quinlan, 1986)

„Siguiendo el texto de Mitchell, centraremos nuestra discusión en ID3.

„Al final veremos un algoritmo genérico para construir árboles de decisión de manera top-down.

„ C4.5 (Quinlan, 1993)

(3)

Prof. Carlos I. Chesñevar - UNS 13

Inducción Top-Down de

Arboles de Decisión (TDIDT)

„ Algoritmo básico para TDIDT: (luego versión más

formal)

¾ Comenzar con el cjto. de datos completo inicial ¾ encontrar tests que particionen los ejemplos tan bien

como sea posible:

• “bien” = ejemplos con la misma clase, o bien ejemplos similares, deberían ir juntos

¾ Para cada resultado de un test, crear un nodo hijo ¾ mover ejemplos a los hijos según el resultado del test ¾ repetir procedimiento para cada hijo “no puro” ¾ Pregunta ppal: ¿cómo decidir cuál es el mejor ‘test’?

Prof. Carlos I. Chesñevar - UNS 14

Cómo encontrar el mejor test

(para árboles de clasificación)

„ Para árboles de clasificación: hallar el test según el cual los hijos son tan “puros” como sea posible

„ Medida de pureza tomada de la teoría de la información: entropía

¾ es una medida de “información faltante”; más precisamente, #bits necesarios para representar la información faltante, en promedio, usando una codificación optimal

¾ Dado un cjto. S con instancias que pertenecen a la clase i con probabilidad pi:

Entropía(S) = -Σ pilog2pi

Prof. Carlos I. Chesñevar - UNS 15

Entropía: ejemplo

„ Ejemplo: Sea S una colección de 14 ejemplos positivos (p(+)) y negativos (p(-)), tal que hay 9 positivos

y 5 negativos [9+,5-]

„ Entropía(S) = -p(+) log2p(+) - p(-) log2p(-)

„ Entropía([9+,5-]) = -(9/14) log2 (9/14) - (5/14) log2 (5/14)=0.940

„ Si entropía=0, ent. todos los miembros de S pertenecen a la misma clase.

„ Si entropía=1, ent. la cantidad de ejs. positivos y negativos es igual...

Prof. Carlos I. Chesñevar - UNS 16

Entropía

„ Aquí se ve la función Entropía relativa a una clasificación booleana, en función de p(+)oscilando entre 0 y 1:

Entropía: idea intuitiva

„ Entropía: especifica el min. nro. de bits.

necesario para codificar la clasificación de un miembro arbitrario de S (ie, un miembro de S tomado al azar con probabilidad uniforme).

„ Ej: si p(+) = 1, ent. el receptor sabe que el

ejemplo es positivo. Luego la información necesaria para codificar esto es 0.

Entropía: idea intuitiva

„ Razonamiento intuitivo en teoría de la información:

¾ usar codificación más corta para los mensajes más frecuentes

¾ Teoría de la información: un mensaje con probabilidad p debería recibir -log2p bits

• ej. A,B,C,D c/u. con 25% probabilidad: 2 bits para c/u

(00,01,10,11)

• Si hay alguno más probable, es posible hacer las cosas

mejor.

¾ Nro. de bits promedio para un mensaje es ent. -

Σ

pilog2pi

(4)

Prof. Carlos I. Chesñevar - UNS 19

Ganancia de Información

„ Heurística para elegir un test en un nodo:

¾ elegir el test que en promedio provee mayor información acerca de la clase

¾ este es el test que, en promedio, reduce más la entropía de la clase

• En promedio: la reducción de la entropía de la clase difiere según el resultado del test

¾ Reducc. esperada de la entropía = ganancia de información

„ Gain(S,A) = Entropía(S) -Σv ∈Valores(A)(|Sv|/|S|)*Entropía(Sv)

donde A = atributo,

Sv = subcjto. de S para el cual el atributo A tiene valor v.

Prof. Carlos I. Chesñevar - UNS 20

Day Outlook Temp. Humid Wind PlayTennis?

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 Rain Mild High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong Yes

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D10 Rain Mild Normal Weak Yes

D11 Sunny Mild Normal Strong Yes

D12 Overcast Mild High Strong Yes

D13 Overcast Hot Normal Weak Yes

D14 Rain Mild High Strong No

Prof. Carlos I. Chesñevar - UNS 21

Gain(S,A): ejemplo

„ Sea S = [9+,5-] una colección de 14 ejemplos que describen días (ej: Outlook). Hay un atributo (Wind), que tiene los valores Weak y Strong.

„ De los 14 ejemplos, supongamos que para 6 días de los ejemplos positivos y para 2 días de los ejs. negativos tenemos Wind=Weak. El resto, Wind=Strong.

Valores(Wind)={Weak,Strong}

S = [9+,5-], SWeak ← [6+,2-], SStrong ←[3+,3-] Gain(S,Wind) =

= Entropia(S)-Σv ∈ {Weak,Strong}(|Sv|/|S|)*Entropía(Sv) = =Entropia(S)-(8/14)Entropia(SWeak )-(6/14)Entropia(SStrong) = = 0.940 - (8/14)0.811 - (6/14)1.00 = 0.048

Prof. Carlos I. Chesñevar - UNS 22

Ejemplo

S: [9+,5-] S: [9+,5-] Humidity High Normal S: [3+,4-] S: [6+,1-] Wind Strong Weak S: [6+,2-] S: [3+,3-] E = 0.985 E = 0.592 E = 0.811 E = 1.0 E = 0.940 E = 0.940 Gain(S, Humidity) = .940 - (7/14).985 - (7/14).592 = 0.151 Gain(S, Wind) = .940 - (8/14).811 - (6/14)1.0 = 0.048

„ Asumiendo que S tiene ejemplos 9+ y 5 -; veamos la partición según el atributo Wind ó Humidity

Prof. Carlos I. Chesñevar - UNS 23

Ejemplo

„ El algoritmo ID3 básicamente determina la ganancia que brinda cada atributo, y se queda con el mejor. Para la tabla anterior:

Gain(S,Wind) = 0.048 Gain(S,Outlook) = 0.246 Gain(S,Humidity) = 0.151 Gain(S,Temperature)=0.029

„ Ent. elegimos Outlook.

Prof. Carlos I. Chesñevar - UNS 24

„ Supongamos que Outlook fue elegido: continuar particionando en nodos hijos

Outlook

? Yes ?

Sunny Overcast Rainy

[9+,5-] [2+,3-] [4+,0-] [3+,2-] [D4,D5,D6,D10,D14] [D4,D5,D6,D10,D14] [D3,D7,D12,D13] Aplico recursivamente

(5)

Prof. Carlos I. Chesñevar - UNS 25

Arbol de decisión Resultante vía ID3

Outlook

Humidity Wind

No Yes No Yes

Yes

Sunny Overcast Rainy

High Normal Strong Weak

Prof. Carlos I. Chesñevar - UNS 26

Espacio de búsqueda de hipótesis

en TDIDT

„ Espacio de hipótesis H = cjto. de todos los árboles

„ H es recorrido de forma “hill-climbing”, de lo más simple a lo más complejo

...

Prof. Carlos I. Chesñevar - UNS 27

Sesgo inductivo en TDIDT

„ Nota: para conceptos booleanos, H es completo:

¡cada concepto puede representarse!

¾ dados n atributos, se pueden seguir añadiendo tests hasta que todos los atributos hayan sido testeados

„ Entonces..¿que pasa con el sesgo inductivo?

¾ Claramente no hay “sesgo de restricción” (H ⊂ 2U)

como en Version Spaces.

¾ Sesgo de preferencia: algunas hipótesis en H son preferidas por sobre otras

¾ En este caso: preferencia por árboles cortos con

atributos informativos en el tope

Prof. Carlos I. Chesñevar - UNS 28

ID3 vs. Version Spaces

„ ID3 busca en un espacio de hipótesis completo

(=puede expresar cualq. fc. finita discreta). Busca incompletamente en este espacio, de hipótesis simples a hipótesis complejas, hasta encontrar condición de terminación.

„ Su sesgo inductivo: meramente consecuencia del ordenamiento de las hipótesis por su estrategia de búsqueda. El espacio de hipótesis no introduce sesgo adicional.

„ Sesgo inductivo se sigue de la estrategia de búsqueda

ID3 vs. Version Spaces

„ Version Spaces busca en un espacio de hipótesis

incompleto (ej: no puede manejar disyunciones). Explora este espacio completamente, encontrando todas las hipótesis consistentes con los datos de entrenamiento.

„ Su sesgo inductivo: consecuencia del poder expresivo de su hipótesis de representación. Su estrategia de búsqueda no añade un sesgo adicional.

„ Sesgo inductivo se sigue de la def. de espacio de búsqueda.

Navaja de Occam

„ La preferencia por modelos simples por sobre modelos complejos se usa bastante en Machine Learning

„ Principio similar en ciencia: Navaja de Occam ¾ No hacer las cosas más complicadas de lo

necesario

„ El razonamiento, en el caso de los árboles de decisión: los árboles más complejos tienen probabilidad más alta de sobreajustar (overfitting) el conjunto de datos.

(6)

Prof. Carlos I. Chesñevar - UNS 31

Navaja de Occam: discusión

„ Un argumento a favor: hay menos hipótesis cortas

que largas. Por ende, es menos probable encontrar una hipótesis corta que se “ajuste” a los datos de entrenamiento.

„ En contraste, puede haber muchas hipótesis complejas que se ajusten a los datos de entrenamiento, y no se ajusten a los datos subsecuentes.

„ Ej: hay muchos más árboles de decisión de 500 nodos que de 5 nodos. Con 20 ejemplos, es más dificil encuadrarlos en un árbol del segundo tipo.

Prof. Carlos I. Chesñevar - UNS 32

Navaja de Occam: discusión

„ Un argumento en contra: podríamos tambien

argumentar que hay que preferir árboles con pocas ramas, o pocas hojas. O exactamente 17 nodos hoja y 10 nodos no-hoja.

„ Hay pocos árboles como estos, y por el mismo razonamiento que antes, la posibilidad de encontrar un árbol que se “ajuste” a los ejemplos de entrenamiento es baja.

Prof. Carlos I. Chesñevar - UNS 33

Navaja de Occam: discusión

„ Un problema inherente a la representación

interna: notemos que el tamaño de una hipótesis está asociado a cómo un aprendiz las representa.

„ Dos aprendices que usen distintas representaciones internas podrían arribar a distintas hipótesis, y justificar conclusiones contradictorias entre sí aplicando navaja de Occam.

„ Ej: definir un atributo XYZ = combinación de X,Y,Z.

„ Pregunta abierta: ¿Cómo distinguimos un atributo del otro los seres inteligentes?

Prof. Carlos I. Chesñevar - UNS 34

Cuestiones de interés para

Arboles de Decisión

„ Overfitting (Sobreajuste)

„ Incorporación de atributos de valor continuo

„ Medidas alternativas a Entropía

„ Ejemplos de entrenamiento con valores faltantes

„ Tratamiento de Atributos con distintos costos

Estas cuestiones y extensiones redundaron en que el algoritmo básico ID3 fuera extendido para abordar estos aspectos, resultando en el sistema C4.5 (Quinlan, 1993).

Prof. Carlos I. Chesñevar - UNS 35

Overfitting

Def: Dado un espacio de hipótesis H, una

hipótesis h ∈ H se dice que “sobreajusta” los datos de entrenamiento si existe alguna hipótesis h’ ∈H tal que h tiene un error menor que h’ en los ejemplos de entrenamiento, pero h’ tiene un error menor que h sobre toda la distribución de instancias.

Prof. Carlos I. Chesñevar - UNS 36 .. .

.. . ..

. . . .

Cómo Evitar Sobreajuste

„ Fenómeno del sobreajuste (overfitting):

¾ Continuar mejorando un modelo, haciéndolo mejor, mejor y mejor a partir de un conjunto de entrenamiento haciéndolo cada vez más complicado…

¾ aumenta el riesgo de modelar ruido y coincidencias en el cjto. de datos

¾ puede en realidad dañar el poder predictivo de la teoría para casos aún no vistos

(7)

Prof. Carlos I. Chesñevar - UNS 37

área que contiene -probablemente-predicciones erróneas

Sobreajuste: ejemplo

+ + + + + + + -- -- +

-Prof. Carlos I. Chesñevar - UNS 38

Sobreajuste:

efecto en la exactitud predictiva

„ Fenómeno típico con el overfitting:

¾ la exactitud de entrenamiento aumenta continuamente ¾ la exactitud del cjto. de validación aún no visto

comienza a decrecer

exactitud en datos de entrenamiento

exactitud en datos aún no vistos

tam. del árbol exactitud

overfitting comienza aprox. aquí

Prof. Carlos I. Chesñevar - UNS 39

¿Cómo aparece el overfitting?

„ Una forma en que aparezca el overfitting es que aparezcan errores aleatorios o ruido.

„ Ej: consideremos el sgte. ejemplo (incorrectamente etiquetado como negativo):

¾ <Outlook=Sunny, Temperature=Hot, Humidity=Normal, Wind=Strong, PlayTennis=No>

„ Este ejemplo haría que nuestro algoritmo ID3 construya un árbol más complejo que el que teníamos antes (se lo ordenaría en el 2do. nodo hoja desde la izquierda).

Prof. Carlos I. Chesñevar - UNS 40

Outlook

Humidity Wind

No Yes No Yes

Yes Sunny Overcast Rainy

High Normal Strong Weak

Outlook Temp. Wind No No Yes Yes Sunny Overcast Rainy Hot Mild Strong Weak Yes Cool Humidity No Yes High Normal

¿Cómo aparece el overfitting?

„ Resultado: ID3 encontraría exitosamente un árbol de decisión alternativo (h) que es más complejo que el árbol anterior (h’).

„ El árbol h se ajustaría perfectamente a los ejemplos dados, mientras que h’ no lo haría.

„ No obstante, el nuevo nodo en el árbol de decisión es simplemente una consecuencia de un ejemplo que causa “ruido”.

„ Sería razonable que h’ superara a h en pruebas subsecuentes

¿Cómo evitar overfitting cuando se

construyen árboles de classificación?

„ Opción 1:

¾ dejar de añadir nodos al árbol cuando comienza a haber overfitting

¾ necesitamos un criterio de detención

„ Opción 2:

¾ no preocuparse por el overfitting cuando se construye el árbol

¾ después de construir el árbol, comenzar a podarlo nuevamente

(8)

Prof. Carlos I. Chesñevar - UNS 43

Criterios de detención

„ ¿Cómo sabemos cuándo comienza a haber overfitting? ¾ a) usar un cjto. de validación : los datos no son considerados

para elegir el mejor test

• cuando la exactitud baja con respecto al cjto. de validación: dejar de añadir nodos a esta rama.

¾ b) usar algún test estadístico

• test de significación: ej., ¿es el cambio en la distribución de clases aún significativo? (test χ2)

• MDL: principio de minimal description length

– teoría totalmente correcta = árbol + correcciones para clasificaciones erróneas específicas

– minimizar size(teoría tot.correcta) = size(tree) + size(misclassifications(tree))

– Navaja de Occam

Prof. Carlos I. Chesñevar - UNS 44

Cjtos. de entrenamiento y validación

„ Acercamiento común: los datos disponibles se particionan en dos clases:

¾ Cjto. de entrenamiento: se usa para formar las hipótesis

¾ Cjto. de Validación: se usa para evaluar la exactitud de las hipótesis con respecto a los datos subsecuentes, y para evaluar el impacto de la poda con respecto a estas hipótesis.

„ Es importante que el cjto. de validación sea suficientemente grande para tener significancia estadística.

„ Heurística común: 1/3 de los ejemplos para validación, 2/3 para entrenamiento.

Prof. Carlos I. Chesñevar - UNS 45

Post-poda de árboles

„ Después de aprender el árbol: comenzar a

podar ramas

¾ Para todos los nodos del árbol:

• Estimar el efecto de podar el árbol en este nodo con respecto a la exactitud predictiva

– e.g. usar exactitud con respecto a cjto. de validación • Podar el nodo que muestre la mayor mejora ¾ Continuar hasta que no haya mejoras

„ Nota: esta poda constituye una segunda

búsqueda en el espacio de hipótesis.

Prof. Carlos I. Chesñevar - UNS 46

exactitud en datos de entrenamiento exactitud en datos aún no vistos tam. de árbol exactitud efecto de poda

Prof. Carlos I. Chesñevar - UNS 47

Comparación

„ Ventaja de Opción 1: no hay trabajo superfluo

„ Pero: los tests pueden llevarnos a veces por mal camino

¾ Ej., la exactitud de validación puede bajar de repente, y luego volver a subir

„ Por esto, la opción 2 (post-poda) es usualmente la preferida (aunque involucra más trabajo, computacionalmente)

Prof. Carlos I. Chesñevar - UNS 48

Transformando árboles en reglas

„ A partir de un árbol puede derivarse un cjto. de

reglas

¾ Camino de raíz a hoja = regla if-then

„ Ventaja de tales reglas

¾ pueden mejorar la comprensibilidad ¾ pueden ser podadas más flexiblemente

• en 1 regla, 1 única condición puede ser removida – vs. árbol: al remover un nodo, hay que remover todo el subarbol • 1 regla puede removerse enteramente (no puedo eliminar

(9)

Prof. Carlos I. Chesñevar - UNS 49

Outlook

Humidity Wind

No Yes No Yes

Yes

Sunny Overcast Rainy

High Normal Strong Weak

if Outlook = Sunny and Humidity = High then No if Outlook = Sunny and Humidity = Normal then Yes

Reglas a partir de árboles: ejemplo

Prof. Carlos I. Chesñevar - UNS 50

Poda de Reglas

„ Método posible:

¾ 1. Convertir árboles en reglas

¾ 2. Podar cada regla independientemente • remover conds. que no dañen la exactitud de la regla ¾ 3. ordenar reglas (e.g., la regla más exacta primero)

• antes de podar: cada ejemplo cubierto por una regla • después de podar, 1 ejemplo podría estar cubierto por

múltiples reglas

• Luego, algunas reglas podrían contradecirse entre sí

Prof. Carlos I. Chesñevar - UNS 51

A false true B true true false true false

Ejemplo: Poda de Reglas

Arbol que representa A ∨ B

if A=true then true

if A=false and B=true then true if A=false and B=false then false

Reglas que representan A ∨ (¬A∧B) A ∨ B Tener en cuenta que los tests asociados a reglas pueden ser computacionalmente costosos! (de

ahí la utilidad de optimizarlos)

Prof. Carlos I. Chesñevar - UNS 52

Incorporación de Atributos con

Valores Continuos

„ Def. Inicial de ID3: considera sólo atributos con un conjunto discreto de valores.

¾ Atributo meta aprendido: es discreto.

¾ Atributos testeados en el árbol: también discretos.

„ La 2da. restricción puede removerse para incorporar atributos de valores continuos.

„ Para esto: se definen dinámicamente nuevos atributos con valores discretos que particionen el valor de atributo continuo en un cjto. discreto de intervalos.

Incorporación de Atributos con

Valores Continuos

„ Para un atributo A con valor continuo, crear un atributo booleano Ac cuyo valor sea true si A<c, y false en caso contrario.

„ ¿Cómo elegir el valor del umbral c?

„ Ej: Supongamos la siguiente situación

Temperatura 40 48 60 72 80 90

PlayTennis No No Yes Yes Yes No

Incorporación de Atributos con Valores

Continuos

„ Nos gustaría elegir c tal que produjera la mayor ganancia de información.

„ Si ordenamos ejemplos según el atributo continuo A, e identificamos ejemplos “adyacentes”, podemos definir una frontera.

„ Estos umbrales candidatos pueden evaluarse según la ganancia de información asociada a c/u.

„ Ej: en el caso anterior, dos candidatos en donde Temperatura cambia significativamente: (48+60)/2=54 y (80+90)/2=85.

„ Resulta en: Temperatura>54 y Temperatura>85, atributos discretos.

(10)

Prof. Carlos I. Chesñevar - UNS 55

Medidas alternativas

para elegir atributos

„ Ganancia de información: tiene un sesgo natural que favorece atributos con muchos valores por sobre pocos valores.

„ Ej: consideremos el atributo Fecha. Tiene una gran cantidad de valores posibles: ej. 27-Marzo-2006.

„ Si añadieramos fecha a nuestro ejemplo, sería el atributo con mayor ganancia de información.

„ Esto es así…¡porque Fecha predice perfectamente el atributo “meta” con respecto al cjto. de entrenamiento!.

¾ Podríamos hacer un árbol muy amplio, con una rama por fecha, ¡y un nivel de profundidad!

¾ Características de predicción: ¡muy pobres!

Prof. Carlos I. Chesñevar - UNS 56

Tasa de Ganancia (Gain Ratio)

„ Una opción: utilizar la noción de gain ratio, que penaliza atributos como Fecha, incorporando un término llamado “split information” (SI), que es sensible a cuán ampliamente y no-uniformemente el atributo divide a los datos.

„ Tasa de Ganancia:

GainRatio(S,A) = Gain(S,A) / SI(S,A)

• Split-information SI(S,A) = -∑ |Si|/|S| log2 |Si|/|S| • i varía en relación a los distintos resultados del test A

„ Split-Information desalienta la selección de atributos con muchos valores distribuidos uniformemente.

Prof. Carlos I. Chesñevar - UNS 57

„ Tasa de Ganancia:

GainRatio(S,A) = Gain(S,A) / SI(S,A)

• Split-information

SI(S,A) = -i=1…c |Si|/|S| log2|Si|/|S|

• i varía en relación a los distintos resultados del test A

„ Split-Information desalienta la selección de atributos con muchos valores distribuidos uniformemente.

„ Ej: un atributo A con n ejemplos totalmente separados tendrá un valor SplitInformation = log2n.

„ Un atributo booleano B que separe los n ejemplos exactamente por la mitad tendrá SplitInformation=1.

„ Si los atributos A y B tienen igual ganancia de información, ent. B tendrá más valor con respecto a GainRatio.

Prof. Carlos I. Chesñevar - UNS 58

Ejemplos de Entrenamiento

con Valores Faltantes

„ Supongamos querer calcular Gain(S,A) Nos gustaría elegir c tal que produjera la mayor ganancia de información. Supongamos que <x,c(x)> es uno de los ejemplos de entrenamiento en S, y que el valor A(x) es desconocido.

„ Una estrategia: asignar el valor más común entre los ejemplos de entrenamiento que caigan en el nodo n.

„ Otra estrategia: asignar probabilidades a cada valor posible de A. Ej: si un atributo booleano A en un nodo n contiene 6 ejemplos con A=1, y 4 ejemplos con A=0, ent. A(x)=1 tiene probabilidad 0.6, y A(x)=0 tiene probabilidad 0.4.

Prof. Carlos I. Chesñevar - UNS 59

Atributos con diferentes costos

„ Normalmente los atributos tienen distintos costos. ¿Cómo ponderar el costo cuando calculamos la ganancia de información?

„ Una idea sencilla: dividir por Costo(A).

„ Tan&Schlimmer (1990) y Tan(1993): en un problema de percepción de un robot donde el robot con un sonar debía clasificar distintos objetos, el costo se definió a partir del nro. de segundos requeridos para obtener el valor del los atributos del objeto.

¾ Medida usada: Gain2(S,A) / Costo(A)

Prof. Carlos I. Chesñevar - UNS 60

function TDIDT(E: set of examples) returns tree; T' := grow_tree(E);

T := prune(T'); return T;

function grow_tree(E: set of examples) returns tree; T := generate_tests(E);

t := best_test(T, E);

P := partition induced on E by t; if stop_criterion(E, P) then return leaf(info(E)) else

for all Ejin P: tj:= grow_tree(Ej);

return node(t, {(j,tj)};

(11)

Prof. Carlos I. Chesñevar - UNS 61

Para clasificación...

„prune: ej: reduced-error pruning

„generate_tests : Attr=val, Attr<val, ...

¾para atributos numéricos : generar valores

„best_test : Gain, Gainratio, ...

„stop_criterion : MDL, test significancia (ej. χ2 -test), ...

„info : clase más frecuente ("moda")

„Sistemas populares: C4.5 (Quinlan 1993), C5.0 (www.rulequest.com)

Prof. Carlos I. Chesñevar - UNS 62

SINTESIS

„ Aprendizaje de Arboles de Decisión: provee un método práctico para aprendizaje de conceptos y aprender funciones de valores discretos.

„ Familia de algoritmos ID3: recorren un espacio de hipótesis completo. Evitan así la mayor dificultad de otros métodos (ej: VersionSpaces), en los que la función meta buscada podría no estar presente en el espacio de hipótesis.

„ Sesgo inductivo: preferencia por árboles pequeños. „ Problema principal: overfitting

„ Extensiones de ID3: técnicas de poda, inclusión de valores reales, tratamiento de valors faltantes, costo de atributos, etc.

Figure

Actualización...

Referencias