Download Inducción de Árboles de Decisión

Document related concepts

C4.5 wikipedia , lookup

Aprendizaje basado en árboles de decisión wikipedia , lookup

Algoritmo ID3 wikipedia , lookup

Árbol de decisión alternativo wikipedia , lookup

Árbol de decisión wikipedia , lookup

Transcript
Inducción de Árboles de
Decisión
ID3, C4.5
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
Representación mediante árboles de decisión
Algoritmo básico: divide y vencerás
Heurística para la selección de atributos
Espacio de búsqueda y bias inductivo
Sobreajuste
Mejoras a ID3
Poda de árboles: C4.5
Interpretación geométrica aprendizaje con
árboles
Conclusiones y ejemplos de aplicación
Inducción de árboles de decisión
2
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
3
Árbol de decisión
Concepto: “Riesgo en la concesión de crédito”
Ingresos
0a2
2a5
Alto
Historia
Desconocida
Deuda
Alta
Alto
más de 5
Mala
Alto
Historia
Buena
Desconocida
Mala
Buena
Moderado
Bajo
Moderado
Bajo
Baja
Moderado
Inducción de árboles de decisión
4
Espacio de hipótesis

Si clase de decisión binaria


Espacio de hipótesis:


Cada árbol de decisión representa una
función booleana
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
n
2
|H|= 2 funciones booleanas distintas
Inducción de árboles de decisión
5
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 x
de X
Inducción de árboles de decisión
6
Datos para aplicaciones de
concesión de créditos
Nº
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Riesgo
alto
alto
moderado
alto
bajo
bajo
alto
moderado
bajo
bajo
alto
moderado
bajo
alto
Historia
mala
desconocida
desconocida
desconocida
desconocida
desconocida
mala
mala
buena
buena
buena
buena
buena
mala
Deuda
alta
alta
baja
baja
baja
baja
baja
baja
baja
alta
alta
alta
alta
alta
Avales
no
no
no
no
no
adecuados
no
adecuados
no
adecuados
no
no
no
no
Ingresos
0 a 2M
2 a 5M
2 a 5M
0 a 2M
más de 5M
más de 5M
0 a 2M
más de 5M
más de 5M
más de 5M
0 a 2M
2 a 5M
más de 5M
2 a 5M
Inducción de árboles de decisión
7
Árbol de decisión
Historia
Desconocida
Buena
Mala
Deuda
Avales
Alta
Baja
No
Alto
Avales
Alto
No
Deuda
Moderado
Adecuados
Ingresos
0a2
2a5
Alto
Moderado
Bajo
Ingresos
0a2
Alto
Baja
Avales
No
Bajo
más de 5
Alta
Adecuados
2a5
Moderado
Bajo
Adecuados
Bajo
más de 5
Bajo
Inducción de árboles de decisión
8
Árbol de decisión “más simple”
Ingresos
0a2
2a5
Alto
Historia
Desconocida
Deuda
Alta
Alto
más de 5
Mala
Alto
Historia
Buena
Desconocida
Mala
Buena
Moderado
Bajo
Moderado
Bajo
Baja
Moderado
Inducción de árboles de decisión
9
2. Algoritmo básico: divide y vencerás
Inducció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
Inducción de árboles de decisión 10
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
11
Selección de atributos

¿Qué atributo es mejor?
6+, 4-
6+, 4-
atributo A
5+, 1-
1+, 3-
atributo B
3+, 1-
3+, 3-
Inducción de árboles de decisión
12
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
n
I(M)=- i=1 p(mi)log2(p(mi))
Inducción de árboles de decisión
13
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)


Estimar el contenido de información a posteriori, o
resto, Resto(A)


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
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
14
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
15
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=1k |Di|/|D| I(Di)
Inducción de árboles de decisión
16
Datos para aplicaciones de
concesión de créditos
Nº
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Riesgo
alto
alto
moderado
alto
bajo
bajo
alto
moderado
bajo
bajo
alto
moderado
bajo
alto
Historia
mala
desconocida
desconocida
desconocida
desconocida
desconocida
mala
mala
buena
buena
buena
buena
buena
mala
Deuda
alta
alta
baja
baja
baja
baja
baja
baja
baja
alta
alta
alta
alta
alta
Avales
no
no
no
no
no
adecuados
no
adecuados
no
adecuados
no
no
no
no
Ingresos
0 a 2M
2 a 5M
2 a 5M
0 a 2M
más de 5M
más de 5M
0 a 2M
más de 5M
más de 5M
más de 5M
0 a 2M
2 a 5M
más de 5M
2 a 5M
Inducción de árboles de decisión
17
Evaluación de la GANANCIA
sobre el ejemplo
I(D)
riesgo
alto
moderado
bajo
frecuencias
6/14
3/14
5/14
= - 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,
GANANCIA(D,
GANANCIA(D,
GANANCIA(D,
Ingresos) = 0.967 bits
Historia) =0.266 bits
Deuda) = 0.581 bits
Avales) = 0.756 bits
Inducción de árboles de decisión
18
4. Espacio de búsqueda y bias
inductivo

Espacio de hipótesis:


Tamaño espacio de hipótesis




Conjunto de todos los árboles de decisión o de todas
las funciones booleanas
Suponiendo atributos binarios
n atributos
n
|H|= 22 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
19
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
20
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
Inducción de árboles de decisión
21
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
¿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
23
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
24
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
25
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
26
Impacto del sobreajuste

Aplicación: aprendizaje del tipo de diabetes de
los pacientes
Inducción de árboles de decisión
27
Ejemplo sobreajuste
Nº
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Riesgo
alto
alto
moderado
alto
bajo
bajo
alto
moderado
bajo
bajo
alto
moderado
bajo
alto
Historia
mala
desconocida
desconocida
desconocida
desconocida
desconocida
mala
mala
buena
buena
buena
buena
buena
mala
Deuda
alta
alta
baja
baja
baja
baja
baja
baja
baja
alta
alta
alta
alta
alta
Avales
no
no
no
no
no
adecuados
no
adecuados
no
adecuados
no
no
no
no
Ingresos
0 a 2M
2 a 5M
2 a 5M
0 a 2M
más de 5M
más de 5M
0 a 2M
más de 5M
más de 5M
más de 5M
0 a 2M
2 a 5M
más de 5M
2 a 5M
Inducción de árboles de decisión
28
Ejemplo sobreajuste
Ingresos
0a2
2a5
Alto
Historia
Desconocida
Deuda
Alta
Alto
más de 5
Mala
Alto
Historia
Buena
Desconocida
Mala
Buena
Moderado
Bajo
Moderado
Bajo
Baja
Moderado
Inducción de árboles de decisión
29
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
15 bajo
Historia
mala
Deuda
alta
Avales
Ingresos
adecuados 0 a 2M
Inducción de árboles de decisión
30
Ejemplo sobreajuste
Ingresos
0a2
2a5
Avales
Adecuados
Bajo
No
Alto
Historia
Desconocida
Deuda
Alta
Alto
más de 5
Alto
Mala
Historia
Buena
Moderado
Desconocida
Bajo
Mala
Buena
Moderado
Bajo
Baja
Moderado
Inducción de árboles de decisión
31
Motivos sobreajuste


Ruido en los datos
Presencia de regularidades no
relevantes en D


Pocos datos
Numerosos atributos
Inducción de árboles de decisión
32
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
33
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
34
Discretización atributos
continuos




40 48 60 72 80 90
Clase
+
+
-
-
-
+
Selección de umbral, C: máxima ganancia
Candidatos: valores adyacentes con distinta clase


Presión
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
35
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
36
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
37
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
38
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=1k |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)
Inducción de árboles de decisión
39
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
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
41
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
42
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
43
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
44
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
45
Efecto de la poda mediante
entrenamiento y validación
Inducción de árboles de decisión
46
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
47
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
48
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
49
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
Inducción de árboles de decisión
50
Votación congreso:
árbol sin podar
Inducción de árboles de decisión
51
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
52
Votación congreso: árbol podado
Inducción de árboles de decisión
53
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
54
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
55
Ejemplo interpretación
geométrica (II)

Concepto objetivo: suponer recta pendiente no
nula
C`
C
Inducción de árboles de decisión
56
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
57
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
58
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
59
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
60
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
61
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
Inducción de árboles de decisión
62