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

rboles de decisin

Arrepintanse y convirtanse porque el


Reino de los cielos se ha acercado
Jesucristo
Inteligencia Artificial
2007 2
Dados los datos (o conjunto de aprendizaje)
D={(x
1
, y
1
), (x
2
, y
2
)... (x
m
, y
m
)}


Conjunto de datos
Inteligencia Artificial
2007 3
Dados los datos (o conjunto de aprendizaje)
D={(x
1
, y
1
), (x
2
, y
2
)... (x
m
, y
m
)}


Conjunto de datos
Inteligencia Artificial
2007 4
Dados los datos (o conjunto de aprendizaje)
D={(x
1
, y
1
), (x
2
, y
2
)... (x
m
, y
m
)}


Clasificacin: cuando y es discreta
Regresin: cuando y es continua
Conjunto de datos
rboles de decisin
Algoritmo con datos binarios,
ampliamente aplicable.
f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 1 1
1 1 1 0 1
0 0 1 1 1
1 0 0 1 0
0 1 1 1 0
rboles de decisin
Algoritmo con datos binarios,
ampliamente aplicable.
f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 1 1
1 1 1 0 1
0 0 1 1 1
1 0 0 1 0
0 1 1 1 0
D
Ejemplo positivos: 3, {X2, X3, X4}
Ejemplos negativos: 3, {X1, X5, X6}
rboles de decisin
Algoritmo con datos binarios,
ampliamente aplicable.
f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 1 1
1 1 1 0 1
0 0 1 1 1
1 0 0 1 0
0 1 1 1 0
D
Ejemplo positivos: 3
Ejemplos negativos: 3
f1
1
rboles de decisin
Algoritmo con datos binarios,
ampliamente aplicable.
f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 1 1
1 1 1 0 1
0 0 1 1 1
1 0 0 1 0
0 1 1 1 0
D
Ejemplo positivos: 3
Ejemplos negativos: 3
f1
1
0
2 ejemplos positivos
1 ejemplo negativo
Clase de hiptesis
Nodos internos: nombres de los atributos
Un hijo por cada valor de los atributos
Nodos hojas : salida
0
0
1
1
0
f
2

f
3

f
3

f
4

1
1
1
0
0
1
0
0
Clase de hiptesis
0
0
1
1
0
f
1

f
2

f
2

f
3

h(0,1,1,0)= 0
1
1
1
1
0
0
0
0
Clase de hiptesis
0
0
1
1
0
f
1

f
2

f
2

f
3

h= (-f
3
^ f
2
)v(f
3
^ f
1
^-f
2
)
1
1
1
1
0
0
0
0
Inclinacin hacia rboles
Ambos rboles de decisin y DNF con negacin pueden
representar cualquier funcin booleana. Entonces porque
molestarnos con rboles?


Inclinacin hacia rboles
Ambos rboles de decisin y DNF con negacin pueden
representar cualquier funcin booleana. Entonces porque
molestarnos con rboles?

Porque tenemos un bonito algoritmo de rboles que es
consistente y tiende a la construccin de rboles sencillos(pocos
nodos)


Inclinacin hacia rboles
Ambos rboles de decisin y DNF con negacin pueden
representar cualquier funcin booleana. Entonces porque
molestarnos con rboles?

Porque tenemos un bonito algoritmo de rboles que es
consistente y tiende a la construccin de rboles sencillos(pocos
nodos)

Dado que es difcil encontrar el rbol mnimo en un paso,
usaremos una tcnica voraz (cclica).

Algoritmo
Desarrollado en paralelo en IA por
Quinlan y en estadstica por Breiman,
Fiedman, Olsen y Stone.
Construir-arbol (Datos)
Algoritmo
Desarrollado en paralelo en IA por
Quinlan y en estadstica por Breiman,
Fiedman, Olsen y Stone.
construir-arbol (Datos)
Si todos los elementos de Datos tiene el mismo valor y, entonces
Hacer-nodo-hoja(y)
De lo contrario
Atributo := tomeMejorAtributo(Datos)
HagaNodoInterno( atributo,
Construir-arbol (SeleccionFalso (Datos, atributo)) ,
Construir-arbol (SeleccionVerdad(Datos, atributo)))

Vamos a separar

D: 9 positivos
10 negativos
Nuestra meta: construir un rbol que separa los
negativos de los positivos con la menor cantidad de
evaluaciones posibles.

Vamos a separar

D: 9 positivos
10 negativos
5 positivos
4 negativos
4 positivos
6 negativos
6 positivos
0 negativos
3 positivos
10 negativos
0
0
1
1
f
3

f
7

Cmo medimos del
grado de uniformidad
de los subconjuntos?
Entropa
p: proporcin de los ejemplos positivos
en un conjunto de datos
H= -p log
2
p (1 p) log
2
(1-p)



Entropa
p: proporcin de los ejemplos positivos en un conjunto de datos
H= -p log
2
p (1 p) log
2
(1-p)



H
p
O log 0 = 0
..
..
..
..
.. .. .. .. ..
Entropa
p: proporcin de los ejemplos positivos
en un conjunto de datos
H= -p log
2
p (1 p) log
2
(1-p)


Ejemplo: f1
1
0
2 ejemplos positivos
1 ejemplo negativo
P: 2 /3
1 ejemplo positivo
2 ejemplos negativos
P: 1 /3
Vamos a separar

D: 9 positivos
10 negativos
D
-
3

5 positivos
4 negativos
4 positivos
6 negativos
6 positivos
0 negativos
3 positivos
10 negativos
0
0
1
1
f
3

f
7

D
+
3
D
-
7
D
+
7
H= -p log
2
p (1 p) log
2
(1-p)
H= -5/9 log
2
5/9 (1 5//9) log
2
(1-5/9)
Vamos a separar

D: 9 positivos
10 negativos
5 positivos
4 negativos
4 positivos
6 negativos
6 positivos
0 negativos
3 positivos
10 negativos
0
0
1
1
f
3

f
7

H= -p log
2
p (1 p) log
2
(1-p)
H= -5/9 log
2
5/9 (1 5//9) log
2
(1-5/9)
H= -0.56 log
2
0.56 (1 0.56) log
2
(0.44)
H= - 0.56 (-0.84) - (0.44) (-1.18)
H= 0.470 - (-0.52)
H = 0.99
D
-
3

D
+
3
D
-
7
D
+
7
Vamos a separar

D: 9 positivos
10 negativos
5 positivos
4 negativos
4 positivos
6 negativos
6 positivos
0 negativos
3 positivos
10 negativos
0
0
1
1
f
3

f
7

H=.99
H=.97
H=.00 H=.78
D
+
7
D
-
7
D
+
3
D
-
3

Vamos a separar

D: 9 positivos
10 negativos
D
3
-


5 positivos
4 negativos
4 positivos
6 negativos
6 positivos
0 negativos
3 positivos
10 negativos
0
0
1
1
f
3

f
7

D
3
+


D7
-

-

D
7
+


H=.99
H=.97
H=.00 H=.78
AE(j) = p
j
H(D
j
+
) + (1 p
j
)H(D
j
-
)
AE: promedio
de entropa
% de D con f
j
=1 Subconjunto de D con f
j
=1
Vamos a separar

D: 9 positivos
10 negativos
D
3
5 positivos
4 negativos
4 positivos
6 negativos
6 positivos
0 negativos
3 positivos
10 negativos
0
0
1
1
f
3

f
7

D
3
D
7
D
7
H=.99
H=.97
H=.00 H=.78
AE = (9/19)*. 99 + (10/19)*. 97
= . 98
AE: promedio
de entropa
AE = (6/19)* 0 + (13/19)*. 78
= . 53
Vamos a separar

D: 9 positivos
10 negativos
D
3
5 positivos
4 negativos
4 positivos
6 negativos
6 positivos
0 negativos
3 positivos
10 negativos
0
0
1
1
f
3

f
7

D
3
D
7
D
7
H=.99
H=.97
H=.00 H=.78
AE = (9/19)*. 99 + (10/19)*. 97
= . 98
AE: promedio
de entropa
AE = (6/19)* 0 + (13/19)*. 78
= . 53
El mejor
Algoritmo
Desarrollado en paralelo en IA por
Quinlan y en estadstica por Breiman,
Fiedman, Olsen y Stone.
Construir-arbol (Datos)
Si todos los elementos de Datos tiene el mismo valor y, entonces
Hacer-nodo-hoja(y)
De lo contrario
Atributo := tomeMejorAtributo(Datos)
HagaNodoInterno( atributo,
ConstruyaArbol (SeleccionFalso (Datos, atributo)) ,
ConstruyaArbol (SeleccionVerdad(Datos, atributo)))

Tomaremos el atributo que minimiza el promedio de
entropa.
Detenindose
Detener la recursin si los datos contienen solo
instancias mltiples de la misma x con diferentes
valores y ponindole a la hoja el valor y
mas frecuente.

Considere detenerlo para evitar saturar cuando:
La entropa de los datos es mas bajo que el umbral (ej. 0.2)
El nmero de elementos en el conjunto de datos esta bajo el
umbral (ej. 3 elementos)
Simulacin
f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 1 1
1 1 1 0 1
0 0 1 1 1
1 0 0 1 0
0 1 1 1 0
H(D) = . 92
AE
1
= . 92, AE
2
= . 92,
AE
3
=. 81, AE
4
= 1
Simulacin
f
3

f
1
f
2
f
3
f
4
y
1 0 0 1 0
f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 1 1
1 1 1 0 1
0 0 1 1 1
0 1 1 1 0
0 1
Simulacin
f
3

f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 1 1
1 1 1 0 1
0 0 1 1 1
0 1 1 1 0
0 1
0
Simulacin
AE
1
= . 55,
AE
2
= .55, AE
4
= . 95
f
3

f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 1 1
1 1 1 0 1
0 0 1 1 1
0 1 1 1 0
0 1
0
Simulacin
f
3

f
1
f
2
f
3
f
4
y
0 1 1 0 0
0 0 1 1 1
0 1 1 1 0
0 1
0
f
1
f
2
f
3
f
4
y
1 0 1 1 1
1 1 1 0 1
1
0
f
1

Simulacin
f
3

f
1
f
2
f
3
f
4
y
0 1 1 0 0
0 0 1 1 1
0 1 1 1 0
0 1
0
1
0
f
1

1
Simulacin
f
1
f
2
f
3
f
4
y
0 0 1 1 1
f
3

0 1
0
1
0
f
1

1
0 1
f
1
f
2
f
3
f
4
y
0 1 1 0 0
0 1 1 1 0
f
2

Simulacin
f
3

0 1
0
1
0
f
1

1
0 1
1
0
f
2

Hecho!
Or Exclusivo
(A ^-B) v(-A^B)
Or Exclusivo
(A ^-B) v(-A^B)
H(D) = .92
AE
1
= .92, AE
2
=.92,

AE
3
=.92, AE
4
= .92

f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 0 0
1 1 1 0 1
0 0 0 1 1
1 0 0 1 0
0 1 0 1 0
Or Exclusivo
f
1
f
2
f
3
f
4
y
1 0 1 0 0
1 1 1 0 1
1 0 0 1 0
f
1
f
2
f
3
f
4
y
0 1 1 0 0
0 0 0 1 1
0 1 0 1 0
0
1
f
1

Or Exclusivo
f
1
f
2
f
3
f
4
y
1 0 1 0 0
1 1 1 0 1
1 0 0 1 0
f
1
f
2
f
3
f
4
y
0 1 1 0 0
0 1 0 1 0

0
1
f
2
f
1

f
1
f
2
f
3
f
4
y
0 0 0 1 1
0
1
Or Exclusivo
f
1
f
2
f
3
f
4
y
1 0 1 0 0
1 1 1 0 1
1 0 0 1 0

0
1
f
2
f
1

0
1
1
0
Or Exclusivo

0
1
f
2
f
1

0
1
1
0
0
1
f
2
0
1
Votacin del congreso
Honorarios mdicos congelados
R
D
D
R
Misiles mx
Recorte combustible
119
90
20
3
0 1
0
1
0
1
Tamao mnimo de
la hoja= 20
Minera de datos (data
mining)
Para hacer predicciones tiles en
aplicaciones.
Los rboles de decisin son muy populares
porque
Son fciles de implementar
Eficientes(aun con inmensas cantidades de
datos)
Fcil de entender la hiptesis resultante
Tomado del Instituto Tecnolgico de
Massachusetts
www.owc.mit.edu
6.034 Artificial Intelligence 2004

Archivo: ch5-mach1.pdf

Ejercicio 1
f
1
f
2
f
3
f
4
y
0 1 1 0 0
1 0 1 1 1
1 1 1 0 0
0 0 1 1 1
1 0 0 1 0
0 1 1 1 1
1 0 0 1
Dado el siguiente conjunto de datos:


a. Calcule los valores de entropa para cada atributo hasta
organizar la hiptesis como rbol de decisin sabiendo
que:

H: -p log
2
p (1- p) log
2
(1 p) y que:

AE(j)= p
j
H(D
+
j
) + (1- p
j
) H(D
-
j
)

b. Clasifique el nuevo caso con la hiptesis encontrada.

Para usar las calculadoras que no tienen
logaritmo base 2:Log base 2 de x = log(x) /
log(2) o Ln (x) / ln(2)
x y -(x/y)*log(x/y) x
y -(x/y)*log(x/y)
1 2 0.5 1 8 0.38
1 3 0.53 3 8 0.53
2 3 0.39 5 8 0.42
1 4 0.5 7 8 0.17
3 4 0.31 1 9 0.35
1 5 0.46 2 9 0.48
2 5 0.53 4 9 0.52
3 5 0.44 5 9 0.47
4 5 0.26 7 9 0.28
1 6 0.43 8 9 0.15
2 6 0.53 1 10 0.33
5 6 0.22 3 10 0.52
1 7 0.4 7 10 0.36
2 7 0.52 9 10 0.14
3 7 0.52
4 7 0.46
5 7 0.35
6 7 0.19
Ejercicio 2
Responda el siguiente problema.


0 1 1 0 1 1 0 1





1 2 3 4 5 6 7 8 9 10 11 12


Cual de los tres siguientes
evaluaciones usted escogera como
el nodo raz en un rbol de decisin?
X <= 1.5 x<= 5 x<=10.5
Justifique su respuesta.
49
Entregar para el prximo da de clase:

Busque un tema (medicina, finanzas, ingeniera)
con el cual se puedan organizar un
conjunto de casos resueltos.

Inclyalos en una matriz.

Escrbalo como una matriz binaria.

Вам также может понравиться