Está en la página 1de 24

rboles de decisin (Primera parte)

Tema 3
Juan A. Bota Blaya
juanbot@um.es

y las Comunicaciones
Departamento de Ingeniera de la Informacion
Universidad de Murcia

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.1/24

rboles de decisin
1. Introduccin
2. Aplicabilidad
3. Algoritmo bsico
4. Bsqueda en ID3
5. Sobre-aprendizaje
6. Valores continuos
7. Medidas alternativas para seleccin de atributos
8. Valores nulos
9. Atributos con costes diferentes

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.2/24

Introduccin
Mtodo para aproximar funciones de valores discretos a la entrada y
a la salida.
La funcin de salida viene representada por un rbol de decisin
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 funcin.
Tambin pueden escribirse en forma de reglas IF-THEN
Aplicacin tpica: concesin de crditos

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.3/24

Ejemplos rbol binario


Color=verde
si

Uva

no
color=amarillo

tamao=grande
si

Meln

no

si

no
tamao=medio
si
Manzana

no

forma=redondeado
si

Uva

Pomelo

no

si

no
Banana

tamao=grande
si

tamao=pequeo

no
Limn

Manzana
sabor=dulce
si
Cereza

no
Uva

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.4/24

Ejemplos rbol n-ario


Tiempo
Soleado
Nublado
Si

Humedad
Normal
No

Alta
Si

Lluvioso
Viento

Fuerte
No

Suave
Si

(T iempo = Soleado Humedad = N ormal)

(T iempo = N ublado)

(T iempo = Lluvioso V iento = Suave)


T HEN JUGAR=Si

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.5/24

rboles monotticos - Espacio de hiptesis


x2

C1
x2

x3

C2

C1

x1

x1

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.6/24

Aplicabilidad
Los ejemplos se presentan en forma de pares
< atributo, valor >
Mejor si los atributos tienen un dominio de valores reducido.
La funcin de salida presenta valores discretos.
Es interesante el tipo de representacin con vistas a la explotacin posterior del
modelo.
Resulta conveniente una representacin del tipo de la disyuncin de conjunciones.
Los datos de aprendizaje pueden contener errores.
Los datos de aprendizaje pueden contener valores nulos en algn atributo para algn
ejemplo.

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.7/24

ID3 para clasificacin


Los problemas tpicos a los que se aplica este tipo de enfoque son
denominados problemas de clasificacin.
Relacin 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 sntomas (i.e. atributos de entrada).
Problemas de malfuncionamiento en equipos y
problemas de concesin de prstamos.

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.8/24

El algoritmo bsico de aprendizaje


Estrategia de bsqueda top-down, del tipo greedy.
El espacio de bsqueda es el formado por todos los rboles de
decisin posibles.
El algoritmo por excelencia es el ID3
Se comienza respondiendo a
qu atributo usamos como raz para el rbol?
Esta cuestin se resuelve aplicando un test estadstico para
averiguar cual de los atributos clasificara 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 versin bsica)

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.9/24

El algoritmo bsico de aprendizaje (II)


ID3(Ejemplos, Etiquetas, Atributos)
Paso 0: Definicin
Sea Ejemplos el conjunto de ejemplos,
Etiquetas es el conjunto de posibles clases.
Atributos es el cjto. de atributos en los datos.

Paso 1: Crear un nodo raz para el rbol.


Paso 2: Si todos los ejemplos son positivos, devolver el nodo raz, con etiqueta +.
Paso 3: si todos los ejemplos son negativos, devolver el nodo raz, con etiqueta .
Paso 4: Si Atributos est vaco, devolver el nodo raz, con el valor de Etiquetas ms probable en Ejemplos.
Si no
Inicializar A atributo que mejor clasifica Ejemplos.
Hacer que el nodo root tenga como atributo de decisin al atributo A.
Ahora vi A
Aadir arco bajo raz, con test A = vi
Sea Ejemplosv el subconjunto de Ejemplos con valor vi en el atributo A.
i
Si Ejemplosv

= aadir un nodo hoja al arco que acabamos de aadir con la etiqueta de Etiquetas ms probable en

Ejemplos.
Sino aadir al nuevo arco el subrbol generado por ID3(Ejemplosv , Etiquetas, Atributos {A})
i
Paso 5: Devolver el nodo raz

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.10/24

Encontrando el atributo mejor clasificador

Medida bsica ganancia de informacion

Basada en la entropa
Entropa: la cantidad de bits, en promedio, que haran falta para codificar mensajes
que indicaran las clases de los ejemplos.
Et(S) = p log2 p p log2 p

Func. Entropia
K
1
0.5
00

0.2 0.4
p. ej. +0.6 0.8

1 0

1
0.8
0.6
0.4 p. ej. 0.2

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.11/24

Encontrando el atributo mejor clasificador (II)


La funcin de entropa corresponde a los valores
p + p = 1
Si una clase tiene P = 1 entropa es 0.
Valor mximo p = p = 0.5.
Si la etiqueta de los ejemplos puede tomar c valores
diferentes
c
X
pi log2 pi
Et(S) =
i=1

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.12/24

Ganancia de informacin
Informalmente es la reduccin en entropa del conjunto, al clasificar
S usando el ejemplo determinado.
Es una medida relativa al conjunto S y a cada atributo.
X

Ganancia(S, A) = Et(S)

vV alores(A)

|Sv |
Et(Sv )
|S|

V alores(A) es el conjunto de posibles valores del atributo A,


|Sv | es el nmero de ejemplos en S etiquetados con v,
|S| es el nmero total de ejemplos y
Et(Sv ) es la entropa de los ejemplos etiquetados con v.

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.13/24

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.
Cul de ellos sera 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 )
Et(V iento = F uerte) = 63 log2 ( 36 )

2
log2 ( 28 ) = 0.811
8
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
Ms ganancia con el atributo Humedad

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.14/24

Bsqueda en rboles de decisin


El espacio de bsqueda de ID3, est formado por todos los posibles rboles de
decisin que clasifican S perfectamente.
El tipo de bsqueda es top-down con estrategia hill-climbing (o greedy)

A2

A1

A2
A2
+

*
A4

*
A3

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.15/24

Sobre-aprendizaje
ID3 puede adolecer de overfitting.
El conjunto de ejemplos no es lo suficientemente
representativo
Los ejemplos tienen errores

Definimos sobreaprendizaje.
Definicin 1 Dado un espacio de hiptesis H , se dice
que una hiptesis particular h H sobreajusta los
datos de entrenamiento si existe una hiptesis
alternativa h0 H , tal que h presenta un error menor
que h0 sobre los ejemplos de entrenamiento, pero h0
presenta un error menor que h sobre el conjunto total
de observaciones.

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.16/24

Sobre-aprendizaje (II)
0.9
0.85

Accuracy

0.8
0.75
0.7
0.65
0.6

On training data
On test data

0.55
0.5
0

10

20

30

40

50

60

70

80

90

100

Size of tree (number of nodes)

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.17/24

Influencia de errores en el overfitting


Conjunto de ejemplos de la aplicacin inicial
Day
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14

Outlook
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain

Temperature
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild

Humidity
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
High

Wind
Weak
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Strong

PlayTennis
No
No
Yes
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
No

Introducimos un nuevo ejemplo


< Outlook = Sunny, T emperature = Hot, Humidity = N ormal,
W ind = Strong, P layT ennis = N o >

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.18/24

Influencia de errores en el overfitting (II)


Se generar un nuevo nodo en el rbol
Tiempo

Soleado

Nublado

Lluvioso

Humedad

Viento
Si
Alta

Normal

Si

Temp.

Cal.

Media

Fria

No

Si

Si

Fuerte

No

Suave

Si

El nuevo rbol h es ms complejo y preciso en el error de


entrenamiento que h0 .
Sin embargo, es de esperar que h se comporte peor con nuevas
observaciones.

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.19/24

Influencia de errores en el overfitting (II)


Cmo podemos evitarlo? Siguiendo uno de los dos
enfoque siguientes:
Parar de construir el rbol, antes de que este
clasifique perfectamente todos los ejemplos.
Se puede construir el rbol y despus intentar una
poda (post-prunning).

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.20/24

Incorporacin 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 informacin 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. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.21/24

Otras medidas alternativas para seleccin de atributos


Ganancia(S, A) favorece a los atributos que tienen ms valores.
Ejemplo: atributo fecha.
Solucin: nueva medida que tenga en cuenta este hecho
SplitInf ormation(S, A) =

c
X
|Si |
i=1

|Si |
log2
|S|
|S|

Es, en realidad, la entropa del conjunto S con respecto a los valores


del atributo A.
El ratio de ganancia vendr dado por la expresin
Ganancia(S, A)
GainRatio(S, A) =
SplitInf ormation(S, A)
Por tanto, se amortigua la eleccin de atributos con muchos valores,
uniformemente distribuidos.

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.22/24

Ejemplos de entrenamiento con valores nulos

Es posible que en S tengamos valores desconocidos


Al calcular Ganancia(S, A), siendo < x, c(x) > un ejemplo de S para el cual el valor
A(x) no se conoce. Cmo damos un valor a A(x)?
Podramos calcular el valor ms probable
Podramos calcular el valor ms probable de entre los ejemplos que pertenecen a
la clase c(x).
Podramos asignar probabilidades a los distintos valores de un determinado
atributo.
Sea A un atributo booleano.
Se observan en S 6 valores de verdad true y
4 valores de verdad false.
Para nuevos < x, c(x) > con valor nulo para A le asignaremos un true con
probabilidad 0.6 y false con probabilidad 0.4.

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.23/24

Atributos con relevancias diferentes


Podemos necesitar diferenciar atributos en trminos de
su coste
Ejemplo, diagnstico mdico con atributos
Temperatura, ResultadoBiopsia, Pulso y
ResultadoTestSangu
neo.
Ejemplos de medidas
Ganancia2 (S, A)
Coste(A)
2Ganancia(S,A) 1
, w [0, 1]
w
(Coste(A) + 1)

Aprendizaje Computacional. Ingeniera Superior en Informatica.


Tema3. ADs. Juan A. Bota p.24/24

También podría gustarte