Inducción de Árboles de Decisión
ID3, C4.5
Inducción de árboles de decisión 2
Contenido
1. Representación mediante árboles de decisión
2. Algoritmo básico: divide y vencerás
3. Heurística para la selección de atributos
4. Espacio de búsqueda y bias inductivo
5. Sobreajuste
6. Mejoras a ID3
7. Poda de árboles: C4.5
8. Interpretación geométrica aprendizaje con árboles
9. Conclusiones y ejemplos de aplicación
Inducción de árboles de decisión 3
1. Representación mediante árboles de decisión
Descripción de instancias: pares atributo/valor
Árbol de decisión
Nodos no terminales: test
Arcos: valores
Nodos terminales: clase de decisión
Clasificación instancias no vistas
Recorrer árbol de decisión
Inducción de árboles de decisión 4
Árbol de decisiónConcepto: “Riesgo en la concesión de crédito”
Ingresos
Alto
0 a 2 2 a 5 más de 5
Historia Historia
Deuda Alto Moderado Bajo Moderado Bajo
Desconocida MalaBuena DesconocidaMala Buena
Alto Moderado
Alta Baja
Inducción de árboles de decisión 5
Espacio de hipótesis
Si clase de decisión binaria Cada árbol de decisión representa una
función booleana
Espacio de hipótesis: Conjunto de todos los árboles de decisión o
de todas las funciones booleanas
Tamaño espacio de hipótesis Suponiendo atributos binarios
n atributos
|H|= 22n funciones booleanas distintas
Inducción de árboles de decisión 6
Tarea inducción de árboles de decisión
Dados
Descripción de Instancias, X, (atributos, valores)
Descripción de las Hipótesis, H (espacio de árboles de decisión)
Concepto objetivo, c : X {0,1}
Ejemplos positivos y negativos, D, pares (<x, c(x)>)
Determinar
Hipótesis h de H / h(x) = c(x) para todo xde X
Datos para aplicaciones de concesión de créditos
Nº Riesgo Historia Deuda Avales Ingresos
1 alto mala alta no 0 a 2M
2 alto desconocida alta no 2 a 5M
3 moderado desconocida baja no 2 a 5M
4 alto desconocida baja no 0 a 2M
5 bajo desconocida baja no más de 5M
6 bajo desconocida baja adecuados más de 5M
7 alto mala baja no 0 a 2M
8 moderado mala baja adecuados más de 5M
9 bajo buena baja no más de 5M
10 bajo buena alta adecuados más de 5M
11 alto buena alta no 0 a 2M
12 moderado buena alta no 2 a 5M
13 bajo buena alta no más de 5M
14 alto mala alta no 2 a 5M
7Inducción de árboles de decisión
Árbol de decisión
Historia
DeudaDeuda Avales
DesconocidaMala Buena
Alto Avales
No AdecuadosAlta Baja
Alto Moderado Avales Bajo
Alta Baja
Ingresos Bajo
No Adecuados
Ingresos Bajo
No Adecuados
Alto Moderado Bajo Alto Moderado Bajo
0 a 2 0 a 22 a 5 2 a 5más de 5 más de 5
8Inducción de árboles de decisión
Inducción de árboles de decisión 9
Árbol de decisión “más simple”
Ingresos
Alto
0 a 2 2 a 5 más de 5
Historia Historia
Deuda Alto Moderado Bajo Moderado Bajo
Desconocida MalaBuena DesconocidaMala Buena
Alto Moderado
Alta Baja
2. Algoritmo básico: divide y vencerásInducción analítica (top-down) de árboles de decisión
PROCEDIMIENTO Inducir_Arbol(Ejemplos, Atributos)
BEGIN
SI todos los elementos de Ejemplos pertenecen a la misma clase
ENTONCES devolver un nodo hoja con la clase;
SINO SI Atributos está vacío
ENTONCES devolver nodo hoja con disyunción de clases de Ejemplos;
SINO SI Ejemplos está vacío
ENTONCES devolver un nodo hoja etiquetado “desconocido”;
SINO BEGIN
seleccionar un atributo A como raíz del árbol actual;
eliminar A de Atributos;
PARA CADA valor V de A,
BEGIN
crear una rama del árbol etiquetada con V;
sea particion_V elementos de Ejemplos con valor V en atributo A;
colocar rama V resultado de Inducir_Arbol(particion_V, Atributos);
END;
END;
END 10Inducción de árboles de decisión
Inducción de árboles de decisión 11
3. Heurística para la selección de atributos
¿Atributo más útil para la clasificación?
Elegir atributo cuyo conocimiento aporte mayor información desde la perspectiva de clasificación
Quinlan, ID3 y sucesores: heurística basada en teoría de información
Inducción de árboles de decisión 12
Selección de atributos
¿Qué atributo es mejor?
atributo A atributo B
6+, 4- 6+, 4-
5+, 1- 1+, 3- 3+, 1- 3+, 3-
Inducción de árboles de decisión 13
Fundamentos teoría información
Universo mensajes
M={m1, m2... ...mn}
con probabilidad p(mi), i=1,2... ...n
Información que aporta la recepción de un mensaje
I(M)=-i=1
np(mi)log2(p(mi))
Inducción de árboles de decisión 14
Heurística teoría información
Considerar la clasificación obtenida por un árbol como un mensaje
Estimar el contenido de información a priori, I(D) contenido de información de un mensaje que proporciona la
clasificación de un ejemplo del conjunto de entrenamiento, D, sin conocer el valor de sus atributos
Estimar el contenido de información a posteriori, o resto, Resto(A)
Como antes, pero una vez conocido el valor del atributo A
Seleccionar el atributo A que maximice la ganancia de información Ganancia(D, A) = I(D) – Resto(A)
Inducción de árboles de decisión 15
Información a priori
I(D)
Estimar la probabilidad de cada clase por la frecuencia de aparición en D
Inducción de árboles de decisión 16
Información a posteriori
Resto(A)
Estimar la información promediando la estima para cada posible valor
Conocemos atributo A, con K posibles valores
K particiones de D, según valor de A
Di: partición i-esima conjunto D
Resto(A)= i=1
k|Di|/|D| I(Di)
Datos para aplicaciones de concesión de créditos
Nº Riesgo Historia Deuda Avales Ingresos
1 alto mala alta no 0 a 2M
2 alto desconocida alta no 2 a 5M
3 moderado desconocida baja no 2 a 5M
4 alto desconocida baja no 0 a 2M
5 bajo desconocida baja no más de 5M
6 bajo desconocida baja adecuados más de 5M
7 alto mala baja no 0 a 2M
8 moderado mala baja adecuados más de 5M
9 bajo buena baja no más de 5M
10 bajo buena alta adecuados más de 5M
11 alto buena alta no 0 a 2M
12 moderado buena alta no 2 a 5M
13 bajo buena alta no más de 5M
14 alto mala alta no 2 a 5M
17Inducción de árboles de decisión
Inducción de árboles de decisión 18
Evaluación de la GANANCIA sobre el ejemplo
I(D) = - 6/14log2(6/14) - 3/14log2(3/14) - 5/14log2(5/14)
= - 6/14 *(-1.222) -3/14*(-2.222) -5/14*(-1.485)
= 1.531 bits
GANANCIA(D, Ingresos)= I(D) - Resto(Ingresos)
Resto(Ingresos)
C1={1, 4, 7, 11} C2={2, 3, 12, 14} C3={5, 6, 8, 9, 10, 13}
Resto(Ingresos) = 4/14*I(C1 ) + 4/14*I(C2) + 6/14*I(C3) =
= 4/14*0 + 4/14*1 + 6/14*0.650 =
= 0.564 bits
GANANCIA(D, Ingresos) = 0.967 bits
GANANCIA(D, Historia) =0.266 bits
GANANCIA(D, Deuda) = 0.581 bits
GANANCIA(D, Avales) = 0.756 bits
riesgo alto moderado bajo
frecuencias 6/14 3/14 5/14
Inducción de árboles de decisión 19
4. Espacio de búsqueda y bias inductivo
Espacio de hipótesis:
Conjunto de todos los árboles de decisión o de todas las funciones booleanas
Tamaño espacio de hipótesis
Suponiendo atributos binarios
n atributos
|H|= 22n funciones booleanas distintas
ID3 realiza una búsqueda voraz, escalada, en la dirección de los árboles más simples a los más complejos
Inducción de árboles de decisión 20
Bias BPA-ID3
BPA-ID3:
Primero en anchura, partiendo de árbol vacío, incrementando profundidad
Encuentra árbol de menor profundidad consistente con D
Bias BPA-ID3
Preferir el árbol de menor profundidad.
Inducción de árboles de decisión 21
Bias ID3
ID3: aproximación eficiente a BPA-ID3
Búsqueda heurística voraz, escalada
No garantiza árbol de menor profundidad
Tiende a encontrar árboles sencillos
Aproximación al bias inductivo de ID3
Preferir árboles de menor profundidad. Preferir árboles que sitúan atributos que aportan más información cerca de la raíz
Bias restrictivos /de preferencia
Algoritmo de eliminación de candidatos
Espacio de hipótesis incompleto (por el lenguaje de representación de hipótesis elejido)
Busqueda exhaustiva en el espacio de hipótesis
ID3
Espacio de hipótesis completo
Búsqueda heurística (incompleta): la heurística de selección de atributos impone un orden en la búsqueda de hipótesis
Inducción de árboles de decisión 22
Inducción de árboles de decisión 23
¿Por qué preferir árboles de menor profundidad?
Navaja de Occam: preferir hipótesis más simples que explique los datos
Árbol de decisión hipótesis más simple: árbol de menor profundidad
Justificación adicional Es razonable esperar que las hipótesis más simples
generalicen mejor (clasifique mejor los ejemplos no vistos) pues es razonable esperar que contengan menos atributos irrelevantes
!Validación experimental! (¿más simple = más pequeña?)
Inducción de árboles de decisión 24
5. Sobreajuste
No siempre es una buena estrategia hacer crecer el árbol hasta que clasifique correctamente todos los ejemplo de entrenamiento
Ruido en los ejemplos
¡Podemos aprender el ruido!
Pocos ejemplos
Escasa descripción del concepto objetivo
En ambos casos, mala generalización
Inducción de árboles de decisión 25
Errores
Error de resubstitución, er(h)
Error que comete una hipótesis sobre el conjunto de entrenamiento
= |ejemplos de D mal clasificados|/|D|
Error verdadero o error, eD(h)
Error que comete la hipótesis sobre todo el espacio de instancias X, gobernado por la distribución de probabilidad D
Inducción de árboles de decisión 26
Definición de sobreajuste
Dado un espacio de hipótesis H, una hipótesis h H sobreajusta el conjunto de entrenamiento sii h’ H tal que
er(h) < er(h´)
eD(h) > eD(h’)
Inducción de árboles de decisión 27
Impacto del sobreajuste
Aplicación: aprendizaje del tipo de diabetes de los pacientes
Inducción de árboles de decisión 28
Ejemplo sobreajuste
Nº Riesgo Historia Deuda Avales Ingresos
1 alto mala alta no 0 a 2M
2 alto desconocida alta no 2 a 5M
3 moderado desconocida baja no 2 a 5M
4 alto desconocida baja no 0 a 2M
5 bajo desconocida baja no más de 5M
6 bajo desconocida baja adecuados más de 5M
7 alto mala baja no 0 a 2M
8 moderado mala baja adecuados más de 5M
9 bajo buena baja no más de 5M
10 bajo buena alta adecuados más de 5M
11 alto buena alta no 0 a 2M
12 moderado buena alta no 2 a 5M
13 bajo buena alta no más de 5M
14 alto mala alta no 2 a 5M
Inducción de árboles de decisión 29
Ejemplo sobreajuste
Ingresos
Alto
0 a 2 2 a 5 más de 5
Historia Historia
Deuda Alto Moderado Bajo Moderado Bajo
Desconocida MalaBuena DesconocidaMala Buena
Alto Moderado
Alta Baja
Inducción de árboles de decisión 30
Ejemplo sobreajuste
Imaginar que añadimos un ejemplo etiquetado erróneamente como Riesgo=bajo (en vez de alto) al conjunto inicial de entrenamiento
Nº Riesgo Historia Deuda Avales Ingresos
15 bajo mala alta adecuados 0 a 2M
Inducción de árboles de decisión 31
Ejemplo sobreajuste
Ingresos
0 a 2 2 a 5 más de 5
Historia Historia
DeudaAlto Moderado Bajo Moderado Bajo
Desconocida MalaBuena DesconocidaMala Buena
Alto Moderado
Alta Baja
Avales
AdecuadosNo
Bajo Alto
Inducción de árboles de decisión 32
Motivos sobreajuste
Ruido en los datos
Presencia de regularidades no relevantes en D
Pocos datos
Numerosos atributos
Inducción de árboles de decisión 33
6. Mejoras a ID3
Dificultades en la inducción de árboles
Atributos con valores continuos
Atributos con valores desconocidos
Atributos con numerosos valores
Sobreajuste
Inducción de árboles de decisión 34
Atributos con valores continuos
Se puede discretizar dinámicamente, empleando la misma heurística utilizada para la selección de atributos
Reemplazar los atributos continuos por atributos booleanos que se crean dinámicamente, introduciendo umbrales C
A continuo
A<c , T si a A < C
Inducción de árboles de decisión 35
Discretización atributos continuos
Presión 40 48 60 72 80 90
Clase + + - - - +
Selección de umbral, C: máxima ganancia
Candidatos: valores adyacentes con distinta clase 54=(48+60)/2, 85=(80+90)/2
Para el ejemplo A>54
El nuevo atributo compite con los restantes
Una vez seleccionado, son posibles discretizaciones posteriores En el ejemplo, solo A>85
Inducción de árboles de decisión 36
Atributos con valores desconocidos
En muchos dominios, es frecuente no disponer de los valores de algún(os) atributo(s) para todos los ejemplos
Solución: estimar el valor del atributo en base a los ejemplos para los cuales el atributo tiene valores conocidos
Alternativas Valor más común en nodo actual
Valor más común en nodo actual entre ejemplos de su misma clase
Asignar probabilidades a partir de las frecuencias en nodo actual
Inducción de árboles de decisión 37
Aproximación probabilística
Modificación construcción Generalizar cardinalidad a suma de
probabilidades de pertenencia a la partición
Modificar definición Ganancia(D,A) = F * (I(D)-Resto(A)), siendo F el porcentaje de ejemplos con valor conocido para el atributo A
Si se selecciona el atributo, asignar probabilidades a las ramas
Clasificación Examinar todas las ramas para atributos con
valor desconocido, obteniendose valor más probable (sumando prob. nodos hoja alcanzados)
Inducción de árboles de decisión 38
Atributos con numerosos valores
La heurística de la ganancia favorece la selección de atributos con muchos valores generan muchas particiones con pocos ejemplos de pocas clases
Consecuencia: conocer el valor del atributo tiende a maximizar la ganancia
Ejemplo patológico: añadir atributo DNI al ejemplo de concesión de créditos
El atributo DNI proporciona la máxima ganancia de información: predice perfectamente el riesgo de los ejemplos de D Genera un árbol con un único test y profundidad 1, con un nodo
hoja por cada ejemplo Capacidad de generalización nula
Inducción de árboles de decisión 39
Razón de ganancia
¿Estimación de la información generada al dividir D en k particiones?
Atributo A con k posibles valores
Información media de un mensaje que indique el valor del atributo A de un ejemplo:
IDivisión(D, A)= -i=1
k|Di|/|D| * log2(|Di|/|D| )
Esta expresión proporciona la información generada al dividir D en k subconjuntos
Razón de Ganancia
RG(D, A)= Ganancia(D, A)/IDivision(D, A)
Comportamiento Razón de Ganancia
Penaliza atributos con numerosos valores y ejemplos distribuidos uniformemente
n valores, 1 ejemplo por valor: IDivisión= log2n
2 valores, n/2 ejemplos cada valor: IDivision= 1
Dificultad si algún |Di|~|D| : IDivisión 0
Inducción de árboles de decisión 40
Inducción de árboles de decisión 41
7. Poda de árboles: C4.5
ID3 tiende a general árboles complicados que sobreajustan los datos
Ejemplo patológico
10 atributos , valores binarios, probabilidad 0.5
clase binaria, SI probabilidad 0.25, NO probabilidad 0.75
N=1000, ET 500, EP 500
produce árbol con 119 nodos y tasa error 35%
un árbol, con una única hoja, NO, tendría un error esperado del 25%
Inducción de árboles de decisión 42
Simplificación de Árboles
Métodos de simplificación
prepoda: no subdividir ejemplos según algún criterio
inconveniente: no se sabe cual es el mejor criterio
poda: reemplazar subárboles por una hoja o una de sus ramas
mayor coste computacional, pero mejores resultados
Inducción de árboles de decisión 43
Métodos de poda basados en el error
Utilizan una estimación de la tasa de error de un árbol para realizar la poda
comenzando por las hojas, examinar los subárboles de los nodos no terminales
reemplazar cada subárbol por el nodo terminal o la rama que clasifique más casos, si esto mejora la tasa de error del subárbol
como la estimación del error de un árbol disminuye al disminuir la tasa de error de cada uno de sus subárboles, este proceso genera un árbol cuya estimación de la tasa de error es minimal respecto a las distintas formas de poda
Inducción de árboles de decisión 44
Métodos de poda basados en el error
Observar que la poda del árbol siempre incrementa la tasa de error del árbol calculada sobre los ejemplos de entrenamiento
Distintas familias de técnicas según el método de estimación de errores
Entrenamiento y validación
Métodos pesimistas
Inducción de árboles de decisión 45
Poda mediante entrenamiento y validación
Separar D en tres conjuntos disjuntos
T, conjunto de entrenamiento
V, conjunto de validación
P, conjunto para prueba (estimación del error)
Crear árbol con T, hasta valor mínimo er
Podar árbol hasta que la estimación de eD, según V, empeore
Inducción de árboles de decisión 46
Efecto de la poda mediante entrenamiento y validación
Inducción de árboles de decisión 47
Inconvenientes de la poda mediante entrenamiento y validación
Se precisa un número elevado de datos por la necesidad de usar tres conjuntos disjuntos
Alternativa: evitar el uso de V para guiar la poda
Método pesimista (Quinlan 87): se basan en reemplazar subárbol por hoja si una estimación pesimista del error en la hoja es mejor que la estimación pesimista del error del subárbol
Inducción de árboles de decisión 48
C4.5
Método de inducción de árboles basado en ID3
Mejoras para atributos continuos, desconocidos, con múltiples valores
Poda pesimista
Generación de reglas
Última versión: C4.8 (implementado en WEKA como J4.8)
Inducción de árboles de decisión 49
Estimación del error
Suponer que la observación de E errores en N ejemplos sigue un distribución binomial Experimento base: cometer un error al clasificar un
ejemplo Probabilidad: tasa de error del clasificador
Observación disponible: E errores cometidos al clasificar N ejemplos de entrenamiento
Fijado un nivel de confianza, c%, la distribución binomial proporciona el intervalo de confianza de la probabilidad del experimento base
Inducción de árboles de decisión 50
Estimación pesimista del error
Uc(E,N):extremo superior del intervalo de confianza
Estimar el error al clasificar instancia no vista por Uc(E,N) sobre el conjunto de entrenamiento
Suponer que cada hoja clasifica tantas instancias como ejemplos de entrenamiento Estimación error: N*Uc(E,N)
Estimación error subárbol: suma estimación ramas
Vo
tació
n c
on
greso
: árb
ol sin
po
dar
51Inducción de árboles de decisión
Inducción de árboles de decisión 52
Ejemplo poda
Suponer subárbol
education spending=no : democrat (6)
education spending=yes: democrat (9)
education spending=no: republican(1)
Estimación del error:
6*U25(0, 6)+9*U25(0,9)+1*U25(0,1)=3.273
6*0.206+9*0.143+1*0.750=3.273
Si reemplazamos el subárbol por una única hoja, etiquetada DEMOCRAT, se comete un único error y su estimación es:
16*U25(1,16)=16*0.175=2.512
Según este criterio, se realizaría la poda
Inducción de árboles de decisión 53
Votación congreso: árbol podado
Inducción de árboles de decisión 54
Interpretación geométrica del aprendizaje en árboles (I)
Descripción ejemplos: vector de características
Ejemplo: punto en espacio N-dimensional (N atributos)
Interpretación geométrica del aprendizaje: dividir el espacio en regiones etiquetadas con una sola clase
Clasificación ejemplos no vistos: según región en que se sitúen
En el caso de los árboles: hiperrectangulos
Inducción de árboles de decisión 55
Ejemplo interpretación geométrica (I)
Suponer dos atributos X, Y continuos, discretizados (X < C, Y < C`)
Cada test: hiperplano ortogonal al eje del atributo
C
C`
Inducción de árboles de decisión 56
Ejemplo interpretación geométrica (II)
Concepto objetivo: suponer recta pendiente no nula
C
C`
Inducción de árboles de decisión 57
Ejemplo interpretación geométrica (III)
Cuando no usar árboles Regiones con baja densidad de puntos: mucha holgura para
determinar fronteras Regiones con puntos de distintas clases: distribución probabilística
que no se representa bien con un árbol
C
C`
Inducción de árboles de decisión 58
Conclusiones
Método robusto y transportable a distintas tareas
Comparable a redes de neuronas, como clasificador Árboles: menor coste computacional, conocimiento
explicito
Redes: mayor precisión
Adecuados si Se buscan conceptos disyuntivos
Se requiere conocimiento explícito
Ruido (poda)
Inducción de árboles de decisión 59
Ejemplos de aplicación
Quinlan, 79, ID3, finales de ajedrez
1,4 millones posiciones, 49 atributos binarios: 715 configuraciones distintas Entrenamiento 20%, aleatorio
Tasa acierto: 84%
Induction of decision trees, Machine learning, 1, 81-106, 1986
Inducción de árboles de decisión 60
Ejemplos de aplicación
Soybean (semillas de soja)
R.S. Michalski and R.L. Chilausky, 1980
Diagnosis de enfermedades en las semillas de soja
19 clases (15 significativas)
35 atributos
307 Instancias
Tasa error 11% (C4.5)
J.W. Shavlik, R.J. Mooney, and G.G. Towell. Symbolic and neural learning algorithms: an experimental comparison, machine learning. Machine Learning, 6(2):111-- 143, 1991
Inducción de árboles de decisión 61
Ejemplos de aplicación
Quinlan, hipotiroides, principio 80
varios miles ejemplo
7 atributos continuos, 23 discretos
3-8 clases
Tasa error < 1%
Quinlan J. R. Comparing connectionist and symbolic learning methods. In: Rivest R. L. ed. Computational Learning Theory and Natural Learning Systems, vol.1, Cambridge, MA: MIT Press, 1994, pp.445-456
Inducción de árboles de decisión 62
Ejemplo actual
Console, Picardi, Theseider.
Temporal Decision Trees: Model-based Diagnosis of Dynamic Systems On-Board. Journal of Artificial Intelligence Research 19 (2003) 469-512
Árboles de decisión con restricciones temporales
Aplicación: Diagnosis on board para automóviles
Inducidos a partir de ejemplos generados mediante técnicas de diagnosis basada en modelos
Top Related