Вы находитесь на странице: 1из 24

Inteligencia Artificial 2

Curso 200203

Tema 7: Aprendizaje de
arboles
de decisi
on

Jos
e A. Alonso Jim
enez
Miguel A. Guti
errez Naranjo
Francisco J. Martn Mateos
Jos
e L. Ruiz Reina

Dpto. de Ciencias de la Computaci


on e Inteligencia Artificial

Universidad de Sevilla

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.1

Contenido
x

Arboles
de decisi
on

El algoritmo ID3

Entropa e informaci
on

Ejemplos

B
usqueda y sesgo inductivo

Sobreajuste y ruido

Poda

Otras cuestiones

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.2


Arboles
de decisi
on
x

Ejemplos de
arboles de decisi
on
Color
Verde

Soleado

Alta

IA2 200203

Forma

Nublado

+
Normal

Tamao

Lluvia
Grande

Humedad

Azul

Rojo

Cielo

Viento

Fuerte

Debil

Cc Ia

Pequeo

Redondo

Cuadrado

Tamao
Grande

Pequeo

Aprendizaje de
arboles de decisi
on

7.3


Arboles
de decisi
on
x

Arboles
de decisi
on
u

Nodos interiores: atributos

Arcos: posibles valores del nodo origen

Hojas: valor de clasificaci


on (usualmente +
o , aunque podra ser cualquier conjunto de valores, no necesariamente binario)

Representaci
on de una funci
on objetivo

Disyunci
on de reglas proposicionales:

(Cielo = Soleado Humedad = Alta Jugar T enis = )


(Cielo = Soleado Humedad = N ormal Jugar T enis = +)
(Cielo = N ublado Jugar T enis = +)
(Cielo = Lluvioso V iento = F uerte Jugar T enis = )
(Cielo = Lluvioso V iento = Debil Jugar T enis = +)

Capaz de representar cualquier subconjunto de instancias

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.4

Aprendizaje de
arboles de decisi
on
x

Objetivo: aprender un
arbol de decisi
on consistente con los ejemplos
u

Para posteriormente clasificar ejemplos nuevos

Ejemplos de conjuntos de entrenamiento:


Ej.
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14

Cielo
Sol
Sol
Nubes
Lluvia
Lluvia
Lluvia
Nubes
Sol
Sol
Lluvia
Sol
Nubes
Nubes
Lluvia

IA2 200203

Temperatura
Alta
Alta
Alta
Suave
Baja
Baja
Baja
Suave
Baja
Suave
Suave
Suave
Alta
Suave

Humedad
Alta
Alta
Alta
Alta
Normal
Normal
Normal
Alta
Normal
Normal
Normal
Alta
Normal
Alta

Viento
Debil
Fuerte
Debil
Debil
Debil
Fuerte
Fuerte
Debil
Debil
Debil
Fuerte
Fuerte
Debil
Fuerte
Cc Ia

Jugar tenis
+
+
+
+
+
+
+
+
+
-

Ej.
O1
O2
O3
O4
O5
O6

Color
Rojo
Azul
Rojo
Verde
Rojo
Verde

Forma
Cuadrado
Cuadrado
Redondo
Cuadrado
Redondo
Cuadrado

Tamano
Grande
Grande
Pequeno
Pequeno
Grande
Grande

Clase
+
+
+
-

Aprendizaje de
arboles de decisi
on

7.5

Algoritmo ID3
x

ID3(Ejemplos, Atributo-objetivo, Atributos)

1. Si todos los Ejemplos son positivos, devolver un nodo etiquetado con +


2. Si todos los Ejemplos son negativos, devolver un nodo etiquetado con 3. Si Atributos est
a vac
o, devolver un nodo etiquetado con el valor m
as
frecuente de Atributo-objetivo en Ejemplos.
4. En otro caso:
4.1. Sea A el atributo de Atributos que MEJOR clasifica Ejemplos
4.2. Crear
Arbol, con un nodo etiquetado con A.
4.3. Para cada posible valor v de A, hacer:
* A~
nadir un arco a
Arbol, etiquetado con v.
* Sea Ejemplos(v) el subconjunto de Ejemplos con valor
del atributo A igual a v.
* Si Ejemplos(v) es vac
o:
- Entonces colocar debajo del arco anterior un nodo etiquetado con
el valor m
as frecuente de Atributo-objetivo en Ejemplos.
- Si no, colocar debajo del arco anterior el sub
arbol
ID3(Ejemplos(v), Atributo-objetivo, Atributos-{A}).
4.4 Devolver
Arbol
IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.6

C
omo saber qu
e atributo clasifica mejor?
x

Entropa de un conjunto de ejemplos D (resp. de una clasificaci


on):
|P |
|P | |N |
|N |
log2

log2
|D|
|D| |D|
|D|
donde P y N son, resp., los subconjuntos de ejemplos positivos y negativos de D
Ent(D) =

u
x

Notaci
on: Ent([p+, n]), donde p = |P | y n = |N |

Intuici
on:
u

Mide la ausencia de homegeneidad de la clasificaci


on

Teora de la Informaci
on: cantidad media de informaci
on (en bits) necesaria para
codificar la clasificaci
on de un ejemplo de D

Ejemplos:
u

9
5
5
9
log2 14
14
log2 14
= 0.94
Ent([9+, 5]) = 14

Ent([k+, k]) = 1 (ausencia total de homogeneidad)

Ent([p+, 0]) = Ent([0, n]) = 0 (homogeneidad total)

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.7

Ganancia de informaci
on
x

Preferimos nodos con menos entropa (


arboles peque
nos)

Entropa esperada despu


es de usar un atributo A en el
arbol:
X
vV alores(A)

|Dv |
Ent(Dv )
|D|

donde Dv es el subconjunto de ejemplos de D con valor del atributo A igual a v


x

Ganancia de informaci
on esperada despu
es de usar un atributo A:
Ganancia(D, A) = Ent(D)

X
vV alores(A)

|Dv |
Ent(Dv )
|D|

En el algoritmo ID3, en cada nodo usamos el atributo con mayor ganancia de informaci
on (considerando los ejemplos correspondientes al nodo)

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.8

Algoritmo ID3 (ejemplo 1)


D:[9+,5]
E=0.940

D:[9+,5]
E=0.940

Humedad

Viento

Alta

Normal

[6+,1]
E=0.592

[3+,4]
E=0.985

Debil

[3+,3]
E=1.00

[6+,2]
E=0.811

Ganancia(D,Viento)=

Ganancia(D,Humedad)=
0.94(7/14)0.985(7/14)0.592=0.151

0.94(8/14)0.811(6/14)1=0.048

D:[9+,5]
E=0.940

D:[9+,5]
E=0.940

Cielo

Temperatura

Soleado

[2+,3]
E=0.970

Nubes

[4+,0]
E=0

Lluvia

[3+,2]
E=0.970

Ganancia(D,Cielo)=
0.94(5/14)0.97(4/14)0(5/14)0.97=0.246
IA2 200203

Fuerte

Cc Ia

Alta

[2+,2]
E=1

Suave

[4+,2]
E=0.918

Baja

[3+,1]
E=0.811

Ganancia(D,Temperatura)=
0.94(4/14)1(6/14)0.918(4/14)0.811=0.029
Aprendizaje de
arboles de decisi
on

7.9

Algoritmo ID3 (ejemplo 1)


x

Entropa inicial en el ejemplo Jugar tenis, Ent([9+, 5]) = 0.94

Selecci
on del atributo para el nodo raiz:
u

7
7
Ganancia(D, Humedad) = 0.94 14
0.985 14
0.592 = 0.151

8
6
Ganancia(D, V iento) = 0.94 14
0.811 14
1 = 0.048

5
4
5
Ganancia(D, Cielo) = 0.94 14
0.970 14
0 14
0.970 = 0.246 (mejor atributo)

6
4
4
1 14
0.918 14
0.811 = 0.02
Ganancia(D, T emperatura) = 0.94 14

Se selecciona el atributo Cielo, que es el que produce mayor ganacia de informaci


on

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.10

Algoritmo ID3 (ejemplo 1)


x

Arbol
parcialmente construido:

Cielo

Soleado

Nubes

{D1,D2,D8,D9,D11}

{D3,D7,D12,D13}

[2+,3]

[4+,0]

?
IA2 200203

Cc Ia

Lluvia

{D4,D5,D6,D10,D14}
[3+,2]

?
Aprendizaje de
arboles de decisi
on

7.11

Algoritmo ID3 (ejemplo 1)


x

Selecci
on del atributo para el nodo Cielo = Sol:
DSol = {D1, D2, D8, D9, D11} con entropa Ent([2+, 3]) = 0.971
3
2
u Ganancia(D
Sol , Humedad) = 0.971 5 0 5 0 = 0.971 (mejor atributo)
2
2
1
u Ganancia(D
Sol , T emperatura) = 0.971 5 0 5 1 5 0 = 0.570
2
3
u Ganancia(D
Sol , V iento) = 0.971 5 1 5 0.918 = 0.019
u

Selecci
on del atributo para el nodo Cielo = Lluvia:
DLluvia = {D4, D5, D6, D10, D14} con entropa Ent([3+, 2]) = 0.971
2
3
u Ganancia(D
Lluvia , Humedad) = 0.971 5 1 5 0.918 = 0.820
2
3
u Ganancia(D
Lluvia , T emperatura) = 0.971 5 0.918 5 1 = 0.820
3
2
u Ganancia(D
Lluvia , V iento) = 0.971 5 0 5 0 = 0.971 (mejor atributo)
u

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.12

Algoritmo ID3 (ejemplo 1)


x

Arbol
finalmente aprendido:

Cielo

Soleado

IA2 200203

Nublado

Humedad

Alta

Lluvia

Normal

+
Cc Ia

Viento

Fuerte

Debil

+
Aprendizaje de
arboles de decisi
on

7.13

Algoritmo ID3 (ejemplo 2)


x

Entropa inicial en el ejemplo de los objetos, Ent([3+, 3]) = 1

Selecci
on del atributo para el nodo raiz:
u

Ganancia(D, Color) = 1 63 Ent([2+, 1]) 16 Ent([1+, 0]) 26 Ent([0+, 2]) = 0.543

Ganancia(D, F orma) = 1 46 Ent([2+, 2]) 26 Ent([1+, 1]) = 0

Ganancia(D, T amano) = 1 46 Ent([3+, 1]) 26 Ent([0+, 2]) = 0.459

El atributo seleccionado es Color

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.14

Algoritmo ID3 (ejemplo 2)


x

Arbol
parcialmente construido:
Color

Rojo

Verde

{O1,O3,O5}

{O4,O6}

{O2}

[2+,1]

[0+,2]

[1+,0]

IA2 200203

Azul

Cc Ia

Aprendizaje de
arboles de decisi
on

7.15

Algoritmo ID3 (ejemplo 2)


x

Selecci
on del atributo para el nodo Color = Rojo:
u

DRojo = {O1, O3, O5} con entropa Ent([2+, 1]) = 0.914

Ganancia(DRojo, F orma) = 0.914 13 Ent([1+, 0]) 23 Ent([1+, 1]) = 0.247

Ganancia(DRojo, T amano) = 0.914 23 Ent([2+, 0]) 13 Ent([0+, 1]) = 0.914

El atributo seleccionado es Tama


no

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.16

Algoritmo ID3 (ejemplo 2)


x

Arbol
finalmente aprendido:

Color
Rojo

Azul
Verde

Tamao

Grande

Pequeo

+
IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.17

B
usqueda y sesgo inductivo
x

B
usqueda en un espacio de hip
otesis
u

Espacio de hip
otesis completo

Un u
nico
arbol candidato en cada paso

Sin retroceso (peligro de


optimos locales), b
usqueda en escalada

Decisiones tomadas a partir de conjuntos de ejemplos

Sesgo inductivo
u

Se prefieren
arboles m
as cortos sobre los m
as largos

Sesgo preferencial, implcito en la b


usqueda

Principio de la navaja de Occam

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.18

Medida del rendimiento del aprendizaje


x

Conjunto de entrenamiento y conjunto de prueba


u

Aprender con el conjunto de entrenamiento

Medida del rendimiento: proporci


on de ejemplos bien clasificados en el conjunto
de prueba

Repetici
on de este proceso
u

Curva de aprendizaje

Estratificaci
on: cada clase correctamente representada en el entrenamiento y en la
prueba

Validaci
on cruzada
u

Dividir en k partes, y hace k aprendizajes, cada uno de ellos tomando como prueba
una de las partes y entrenamiento el resto. Finalmente hacer la media de los
rendimientos.

En la pr
actica: validaci
on cruzada, con k = 10 y estratificaci
on

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.19

Sobreajuste y ruido
u

Una hip
otesis h H sobreajusta los ejemplos de entrenamiento si existe h0 H que
se ajusta peor que h a los ejemplos pero act
ua mejor sobre la distribuci
on completa
de instancias.

Ruido: ejemplos incorrectamente clasificados. Causa sobreajuste

Ejemplo: supongamos que por error, se incluye el ejemplo


< V erde, Redondo, P equeno > como ejemplo positivo

El
arbol aprendido en este caso sera (sobrejustado a los datos):
Color
Rojo

Color
Rojo

Azul

Grande

+
IA2 200203

Tamao

Pequeo

Cc Ia

Tamao

Grande

Verde

Azul

Verde

Pequeo

Forma
Redondo

Cuadrado

Aprendizaje de
arboles de decisi
on

7.20

Sobreajuste y ruido
x

Otras causas de sobreajuste:


u

Atributos que en los ejemplos presentan una aparente regularidad pero que no son
relevantes en realidad

Conjuntos de entrenamiento peque


nos

Maneras de evitar el sobreajuste:


u

Parar el desarrollo del


arbol antes de que se ajuste perfectamente a todos los datos

Podar el
arbol a posteriori

Poda a posteriori, dos aproximaciones:


u

Transformaci
on a reglas, podado de las condiciones de las reglas

Realizar podas directamente en el


arbol

Las podas se producen siempre que reduzcan el error sobre un conjunto de prueba

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.21

Podado de
arboles
x

Un algoritmo de poda para reducir el error

1.
2.
3.

Dividir el conjunto de ejemplos en Entrenamiento y Prueba

Arbol=arbol obtenido por ID3 usando Entrenamiento


Medida = proporci
on de ejemplos en Prueba correctamente clasificados por
Arbol
Continuar=True
4. Mientras Continuar:
* Por cada nodo interior N de
Arbol:
- Podar temporalmente
Arbol en el nodo N y sustituirlo por una
hoja etiquetada con la clasificaci
on mayoritaria en ese nodo
- Medir la proporci
on de ejemplos correctamente clasificados
en el conjunto de prueba.
* Sea K el nodo cuya poda produce mejor rendimiento
* Si este rendimiento es mejor que Medida, entonces

Arbol = resultado de podar permanentemente


Arbol en K
* Si no, Continuar=Falso
5. Devolver
Arbol

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.22

Otra cuestiones pr
acticas del algoritmo ID3
x

Extensiones del algoritmo:


u

Atributos con valores contnuos

Otras medidas para seleccionar atributos

Otras estimaciones de error

Atributos sin valores

Atributos con coste

Algoritmos C4.5 y C5.0 (Quinlan)

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.23

Bibliografa
x

Mitchell, T.M. Machine Learning (McGraw-Hill, 1997)


u

Russell, S. y Norvig, P. Inteligencia artificial (Un enfoque moderno)


(PrenticeHall Hispanoamericana, 1996)
u

Cap. 3: Decision tree learning

Cap. 18: Aprendiendo de observaciones

Witten, I.H. y Frank, E. Data mining (Morgan Kaufmann Publishers,


2000)
u

Cap. 3: Output: Knowledge representation

Cap. 4: Algorithms: The basic methods

Cap. 5: Credibility: Evaluating whats has been learned

Cap. 6: Implementations: Real machine learning schemes

IA2 200203

Cc Ia

Aprendizaje de
arboles de decisi
on

7.24