Tema 3
Juan A. Botı́a Blaya
juanbot@um.es
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.1/38
Árboles de decisión
1. Introducción
2. Aplicabilidad
3. Algoritmo básico
4. Búsqueda en ID3
5. Sobre-aprendizaje
6. Valores continuos
7. Medidas alternativas para selección de atributos
8. Valores nulos
9. Atributos con costes diferentes
10. Árboles de regresión
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.2/38
Introducción [Mit97]
Método para aproximar funciones de valores discretos a la entrada y
a la salida.
La función de salida viene representada por un árbol de decisión
Los nodos representan atributos de entrada, y los arcos los
diferentes valores que éstos pueden tomar.
Las hojas son los valores de salida de la función.
También pueden escribirse en forma de reglas IF-THEN
Aplicación típica: concesión de créditos
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.3/38
Ejemplos → Árbol binario
Color=verde
si no
Uva
tamaño=grande color=amarillo
si no si no
si no no
si no si
si no
si no
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.4/38
Ejemplos → Árbol n-ario
Tiempo
Soleado Lluvioso
Nublado
Humedad Si Viento
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.5/38
7
7O K ;9 E7 <; 7 > P ' (
: +* &
H E 9 79 <7 E7
<H -,
C
7 8 I H P # )
F : 8Q 8
= 9 .
E ; :
G = 9 /
EH 9 ; G ; B ; :
7 P
79 E 1 0
2
E7 I #
J= E : <
8= : 9 ; 4 3
5 &
|
<H <H H I 9
T :
: 9 K
I T <F
% 7 )
< H G
R > 9K !76 # &
7
9 K 9
HRG 9 8; E7 7 8
< 8H M = L J; 9
:
> H <H 9 " #
; P 7 O N ; :
I &
O8H = >
9 ; = H M : <=
;9 EH
M N H )
8 ; G > 7 $ #
%
8= 8H &
= 8= !
: <= <
HOE J=
8 S : < ; : >
F : E; H )
7
9 "
G S : < ? <7 ?
9 H P F
> : H A@ I A@
:
E7 <F <7 H K ' (
E <H T 7
; I B C B
D
<H Q8
;9 N9
9 87 7 &
C I ; =
I 8H
; B
K 9 E E
I E7 E = E
9 H G :
9 I # #
HRG 9 H : 8
: 8 E7O F :
E7 9
<F : >
E 9 H G
C ; : ;9 9
H8 8
9
O > : Q P
R E7 #
9 < = &
: ; : ; V ; !
9 M <H
9 9 8HO
; : < ;9 7 G &
H I
M N =
: O9 " # $ #
<
= < 8= ; G
N 7 7 K
L 9 H I L S :
8 H G
R < H U H J=
9K !"
´
atica. Tema3. ADs. Juan A. Bot´ıa – p.6/38
Aplicabilidad
Los ejemplos se presentan en forma de pares
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.7/38
ID3 para clasificación
Los problemas típicos a los que se aplica este tipo de enfoque son
denominados problemas de clasificación [Qui93].
Relación de casos, formados por pares < atributo, valor >, junto
con una etiqueta que informa sobre la clase de concepto a la que
pertenece el ejemplo particular.
Una vez aprendido el árbol, se emplea para clasificar nuevos casos.
Ejemplos
Para diagnosticar enfermedades (i.e. clases), dependiendo de
los síntomas (i.e. atributos de entrada).
Problemas de malfuncionamiento en equipos y
problemas de concesión de préstamos.
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.8/38
El algoritmo básico de aprendizaje
Estrategia de búsqueda top-down, del tipo greedy.
El espacio de búsqueda es el formado por todos los árboles de
decisión posibles.
El algoritmo por excelencia es el ID3
Se comienza respondiendo a
¿qué atributo usamos como raíz para el árbol?
Esta cuestión se resuelve aplicando un test estadístico para
averiguar cual de los atributos clasificaría mejor las instancias por sí
solo.
Se desarrolla una rama para cada posible valor.
En los nuevos nodos se vuelve a hacer la misma pregunta
Así hasta desarrollar un árbol completo (en la versión básica)
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.9/38
El algoritmo básico de aprendizaje (II)
Paso 0: Definición
Sea Ejemplos el conjunto de ejemplos,
Paso 2: Si todos los ejemplos son positivos, devolver el nodo raíz, con etiqueta +.
Paso 3: si todos los ejemplos son negativos, devolver el nodo raíz, con etiqueta −.
Paso 4: Si Atributos está vacío, devolver el nodo raíz, con el valor de Etiquetas más probable en Ejemplos.
Si no
Inicializar A ← atributo que mejor clasifica Ejemplos.
Ahora ∀vi ∈ A
Añadir arco bajo raíz, con test A = vi
Sea Ejemplosv el subconjunto de Ejemplos con valor vi en el atributo A.
i
Si Ejemplosv = ∅ añadir un nodo hoja al arco que acabamos de añadir con la etiqueta de Etiquetas más probable en
i
Ejemplos.
Sino añadir al nuevo arco el subárbol generado por ID3(Ejemplosv , Etiquetas, Atributos − {A})
i
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.10/38
Encontrando el atributo mejor clasificador
Func. Entropia
K
1
0.5
1
0.8
00 0.6
0.2 0.4 0.4 p. ej. -
p. ej. +0.6 0.8 0.2
1 0
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.11/38
Encontrando el atributo mejor clasificador (II)
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.12/38
Ganancia de información
Informalmente es la reducción en entropía del conjunto, al clasificar
S usando el ejemplo determinado.
Es una medida relativa al conjunto S y a cada atributo.
X |Sv |
Ganancia(S, A) = Et(S) − Et(Sv )
|S|
v∈V alores(A)
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.13/38
Ejemplo
Sea S con atributos V iento = {Suave, F uerte} y Humedad = {Alta, N ormal}.
S tiene 14 ejemplos, 9 de ellos positivos y 5 negativos.
Cuando la humedad es Alta, 3 ejemplos son negativos y 4 positivos.
Cuando es N ormal 6 de los ejemplos son positivos y 1 ejemplo negativo.
Si el viento es Suave se presentan 6 ejemplos positivos y 2 negativos.
Cuando es F uerte se tienen tres positivos y tres negativos.
¿Cuál de ellos sería el que mejor clasifica el conjunto S?
Et(Humedad = Alta) = − 37 × log2 ( 73 ) − 4
7
× log2 ( 74 ) = 0.985
Et(Humedad = N ormal) = − 76 × log2 ( 67 ) − 1
7
× log2 ( 17 ) = 0.592
Ganancia(S, Humedad) = 0.940 − (7/14) × 0.985 − (7/14) × 0.592 = 0.151
Et(V iento = Suave) = − 68 × log2 ( 68 ) − 2
8
× log2 ( 28 ) = 0.811
Et(V iento = F uerte) = − 63 × log2 ( 36 ) − 36 × log2 ( 36 ) = 1.0
Et(S) = 0.940
Ganancia(S, V iento) = 0.940 − (8/14) × 0.811 − (6/14) × 1.00 = 0.048
Más ganancia con el atributo Humedad
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.14/38
Otras medidas de calidad para atributos [HTF01]
Sea
1 X
p̂mk = I(yi = k)
Nm
xi ∈Rm
Inidice Gini
X X
K
p̂mk p̂mk0 = (1 − p̂mk )
k6=k0 k=1
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.15/38
;
,6 K :@ 1 B
> ;; 7 "!
0.0 0.1 0.2 0.3 0.4 0.5
/ ,1 #$
C 7 EDC: &'%
0.0
6,8 *)(
4 ;:
:F -,+
G
5 0/. in
0.2
ii
nd
; C<
M
321 ex
is
// L @ 7 cl
as
45
si
fic
at
C ,C 1
io
n
6987 1
0.4
:;@ ,
er
ro
/ A 7< 2 r
p
. F /:
,7 /
;5
0.6
:4 46,
las medidas en la figura siguiente
/6
;; 4,
7 67 ;
,< En
tro
0.8
6,5 F ,CG 1 67 py
M ?>=,
JPOF N C 1 :@ A
1.0
RJP QO :@ A ;;
; :@
P Q S JI; H >;A
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
´
Comparativa de medidas
atica.
Para dos clases, si p es la proporción de la segunda clase,
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.17/38
Búsqueda en árboles de decisión
El espacio de búsqueda de ID3, está formado por todos los posibles árboles de
decisión que clasifican S perfectamente.
El tipo de búsqueda es top-down con estrategia hill-climbing (o greedy)
+ - *
A1 A2
+ - * + - *
A2
A2
+ - * -
A4
+ - * -
A3
-
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.18/38
Sobre-aprendizaje
ID3 puede adolecer de overfitting.
El conjunto de ejemplos no es lo suficientemente
representativo
Los ejemplos tienen errores
Definimos sobreaprendizaje.
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.19/38
Sobre-aprendizaje (II)
0.9
0.85
0.8
0.75
Accuracy
0.7
0.65
0.5
0 10 20 30 40 50 60 70 80 90 100
Size of tree (number of nodes)
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.20/38
Influencia de errores en el overfitting
Conjunto de ejemplos de la aplicación inicial
Day Outlook Temperature Humidity 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
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.21/38
Influencia de errores en el overfitting (II)
Se generará un nuevo nodo en el árbol
Tiempo
Humedad Viento
Si
Si No Si
Temp.
No Si Si
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.22/38
Influencia de errores en el overfitting (II)
¿Cómo podemos evitarlo? Siguiendo uno de los dos
enfoque siguientes:
Parar de construir el árbol, antes de que este
clasifique perfectamente todos los ejemplos
(pre-prunning).
Se puede construir el árbol y después intentar una
poda (post-prunning).
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.23/38
Incorporación de valores continuous
Podemos transformar ID3 para que trabaje con atributos continuos
Transformamos el dominio de los continuos en una serie de intervalos
Sea A un atributo continuo,
El nuevo Ac será true si A < c y false si A ≥ c.
Problema: umbral c.
Nuevo atributo, Temperatura
Temperatura 40 48 60 72 80 90
Jugar Tenis No No Si Si Si No
Usaremos la ganancia de información para decidir entre varios posibles valores para c
1. Candidato: T emp54 = (60 + 48)/2 y
2. Candidado: T emp85 = (80 + 90)/2.
3. Ganancia(T emp54 ) > Ganancia(T emp85 )
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.24/38
Otras medidas alternativas para selección de atributos
X
c
|Si | |Si |
SplitInf ormation(S, A) = − log2
i=1
|S| |S|
Ganancia(S, A)
GainRatio(S, A) =
SplitInf ormation(S, A)
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.26/38
Atributos con relevancias diferentes
Podemos necesitar diferenciar atributos en términos de
su coste
Ejemplo, diagnóstico médico con atributos
Temperatura, ResultadoBiopsia, Pulso y
ResultadoTestSanguı́neo.
Ejemplos de medidas
Ganancia2 (S, A)
Coste(A)
2Ganancia(S,A) − 1
w
, w ∈ [0, 1]
(Coste(A) + 1)
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.27/38
Obtención de un AD con el tamaño adecuado
Motivación
Construimos un conjunto de datos artificialmente con, digamos, 10 atributos,
cada uno de los cuales tomando valores en {0, 1}, con igual probabilidad, dos
clases diferentes, yes con probabilidad 0.25 y no con probabilidad 0.75.
Generamos 1000 ejemplos, y los dividimos aleatoriamente en 500 ejemplos de
test y 500 ejemplos de entrenamiento. Pues bien, el algoritmo básico produce
un árbol de 119 nodos, con un error de clasificación del 35% en los casos de
test. Obsérvese que un árbol con una única hoja etiquetada con la clase no
habría producido un error de clasificación del 25%.
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.28/38
Técnicas de control de crecimiento [BA97]
Control del tamaño Modificación del Modificación de búsqueda Restricciones en los datos Estructuras de datos
espacio de tests de tests Alternativas
Pre-prunning
Dirigida por datos Medidas de selección Selección de casos Grafos de decisión
Post-prunning
Incremental Dirigida por hipotesis Atributos continuos Selección de atributos Reglas
Búsqueda anticipada
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.29/38
Técnicas (II)
A continuación comentamos las más importantes:
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.30/38
Técnicas (III)
Modificación del espacio de los tests
La construcción de test dirigida por datos se basa en construir
nuevos atributos mediante
1. combinación de atributos base mediante operadores numéricos,
2. por combinación de éstos por operadores lógicos
En la construcción de tests dirigida por hipótesis
se almacenan los tests construidos según la forma anterior,
los árboles que van construyéndose influyen en la decisión de si
aplicarlos postreramente o no.
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.31/38
Técnicas (IV)
Modificación de la búsqueda de tests: se puede modificar la búsqueda usando una
diferente a la de tipo greedy.
Nuevas medidas de selección: podemos usar medidas alternativas a la ganancia
como por ejemplo la basada en el principio MDL (Minimun Description Length), la
medida de Kolmogorov-Smirnoff, separabilidad de clases, etc.
Uso de atributos continuos: la discretización de atributos continuous se puede
realizar de tal forma que se reduzca el sesgo y la selección de tests en atributos
continuous.
Búsqueda anticipada: en esta, se construyen en forma tentativa subárboles
usando determinados tests, y se evalúan a una profundidad suficiente. Así, se
puede escoger el tests que mejores resultados ha dado con más información que
si se realizara una simple búsqueda greedy.
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.32/38
Técnicas (V)
Restricciones en los datos
Podemos eliminar casos o atributos
Estructuras de datos alternativas
Una vez se ha construido el árbol, podemos
convertir este en una estructura diferente, más
compacta
grafos y
reglas de decisión
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.33/38
Árboles para regresión
Seguiremos la metodología CART (Classification and Regression
Trees)
Los árboles de regresión son estimadores de funciones de regresión
que tienen la propiedad de ser constantes en rectángulos.
Resultan de utilidad cuando los datos de entrada son una mezcla de
variables continuas y discretas.
La metodología CART para la construcción de árboles de regresión
consiste en las partes
1. Construcción de un árbol de regresión sobreajustado a los datos
de aprendizaje.
2. Poda del árbol usando poda coste-complejidad (i.e.
cost-complexity prunning)
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.34/38
Construcción del árbol
Secuencialmente
1. Tomamos como estimador inicial de la función de regresión un valor constante
1 Xn
fˆr (x) = yi
n i=1
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.35/38
Construcción del árbol (Cont.)
El estimador de regresión en el segundo paso
ˆ 1 X 1 X
fr (x) = Yi + Yi
|I1 | I |I2 | I
1 2
en donde I1 = {i : Xi ∈ R1 },
|I1 | es el número de elementos en I1 , análogamente para I2 .
La división de R en R1 y R2 se realiza de tal forma que se ha de minimizar
X
n
(Yi − fˆr (Xi ))2 .
i=1
1 X
ĉm = yi
Nm xi ∈Rm
1 X
Qm (T ) = (yi − ĉm )2
Mm xi ∈Rm
|T |
X
Cα (T ) = Nm Qm (T ) + α|T |, 0 ≤ α ≤ 1
m=1
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.37/38
Referencias
[BA97] L. A. Breslow and D. W. Aha, Simplifying decision trees: a survey, Knowledge
Engineering Review 12 (1997), no. 1, 1–40.
[HTF01] Hastie, Tibshirani, and Friedman, The elements of statistical learning,
Springer-Verlag, 2001.
[Mit97] Tom M. Mitchell, Machine learning, McGraw-Hill, 1997.
[Mur97] Sheerama K. Murthy, Automatic construction of decision trees from data: A
multi-disciplinary survey, Data Mining and Knowledge Discovery (1997).
[Qui93] J. Ross Quinlan, C4.5: Programs for machine learning, The Morgan Kaufmann
series in Machine Learning, Morgan-Kauffman, San Mateo, California, 1993.
´
Aprendizaje Computacional. Ingenier´ıa Superior en Inform
atica. Tema3. ADs. Juan A. Bot´ıa – p.38/38