Árboles de decisión No sólo de pan vive el hombre, sino de toda palabra que sale de la boca de Dios. Jesucristo
Árboles de decisión El algoritmo de aprendizaje DNF es un poco engorroso e ineficiente. También, el efecto exacto de la heurística no es claro. Otro algoritmo con datos binarios, pero mucho mas ampliamente aplicable.
Clase de hip贸tesis f4
1
0 f3
0 0
f2
0
1 1
1
0
f3
0 1
Nodos internos: nombres de los atributos Un hijo por cada valor de los atributos Nodos hojas : salida
1 0
Clase de hip贸tesis f3
0
1
f2
0 0
f1
0
1 1
1
0 0 1
h(0,1,1,0)= 0
f2
1 0
Clase de hip贸tesis f3
0
1
f2
0 0
f1
0
1 1
1
0 0 1
h= (-f3 ^ f2)v(f3^ f1 ^-f2)
f2
1 0
Inclinación hacia árboles Ambos árboles de decisión y DNF con negación pueden representar cualquier función booleana. Entonces porque molestarnos con árboles? Porque tenemos un bonito algoritmo árboles que crecen que es consistentes con la tendencia a la construcción de árboles sencillos(pocos nodos) Como es difícil encontrar este árbol mínimo, usaremos una técnica voraz nuevamente.
Árboles versus DNF Pequeños árboles = F
0
1
H
expresiones pequeñas? NO
G 1
0
1
1
0
K
J
1 1
0 0
1 1 0
0
1
(-F^-H)v(-F^H^J)v(F^-G^K)v(F^G)
Ă rboles versus DNF (F^G)v(H^J) F 0
H 0 0
0 0
1
G
1 J 1
0
1
H
1
0
1
1 J
0
0 0
1 1
Algoritmo Desarrollado en paralelo en IA por Quinlan y en estadĂstica por Breiman, Fiedman, Olsen y Stone. Construir-arbol (Datos)
Algoritmo Desarrollado en paralelo en IA por Quinlan y en estadĂstica 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)))
Vamos a separar D: 9 positivos 10 negativos
f3 0 5 positivos 4 negativos
1 4 positivos 6 negativos
f7 0 6 positivos 0 negativos
1 3 positivos 10 negativos
Entropía p: proporción de los ejemplos positivos en un conjunto de datos H= -p log2 p –(1 –p) log2 (1-p)
Vamos a separar D: 9 positivos 10 negativos
f3 0 D3
5 positivos 4 negativos
f7
1 D3
4 positivos 6 negativos
0 D7
6 positivos 0 negativos
1 3 positivos
D7 10 negativos
Vamos a separar D: 9 positivos 10 negativos
f3 0 D3
5 positivos 4 negativos
H=.99
f7
1 D3
0
4 positivos 6 negativos
H=.97
D7
6 positivos 0 negativos
H=.00
1 3 positivos
D7 10 negativos
H=.78
Vamos a separar D: 9 positivos 10 negativos
f3 0 D3-
5 positivos 4 negativos
H=.99
f7
1 D3
+
1
0
4 positivos 6 negativos
H=.97
6 positivos - 0 negativos
D7 -
3 positivos
D7+ 10 negativos
H=.00
H=.78
AE(j) = pjH(Dj+) + (1 – pj)H(Dj- ) % de D con fj =1
Subconjunto de D con fj =1
AE: promedio de entropĂa
Vamos a separar D: 9 positivos 10 negativos
f3 0 D3
5 positivos 4 negativos
H=.99
f7
1 D3
0
4 positivos 6 negativos
H=.97
AE = (9/19)*. 99 + (10/19)*. 97 = . 98
D7
6 positivos 0 negativos
H=.00
1 3 positivos
D7 10 negativos
H=.78
AE = (6/19)* 0 + (13/19)*. 78 = . 53 AE: promedio de entropĂa
Algoritmo Desarrollado en paralelo en IA por Quinlan y en estadĂstica 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 entropĂa.
DeteniĂŠndose Detener la recursiĂłn si los datos contienen solo instancias mĂşltiples de la misma x con diferentes valores y. Considere detenerlo para evitar saturar cuando: La entropĂa de los datos es mas bajo que el umbral El numero de elementos en el conjunto de datos esta bajo el umbral.
f1
f2
f3
f4
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
Simulación •H(D) = . 92 •AE1= . 92, AE2 = . 92, AE3 =. 81, AE4 = 1
Simulaci贸n f3
0 f1
f2
f3
f4
1 y
1 0 0 1 0
f1
f2
f3
f4
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
Simulaci贸n f3
0 0
1 f1
f2
f3
f4
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
Simulaci贸n AE1 = . 55,
f3
0 0
AE2 = .55, AE4 = . 95
1 f1
f2
f3
f4
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
Simulaci贸n f3
0
1
0
f1
1
0 f1
f2
f3
f4
y
f1
f2
0
1 1 0 0
1
0 1 1 1
0
0 1 1 1
1
1 1 0 1
0
1 1 1 0
f3
f4
y
Simulaci贸n f3
0
1
0
f1
1
0 f1
f2
f3
f4
y
0
1 1 0 0
0
0 1 1 1
0
1 1 1 0
1
Simulaci贸n
f3
0
1
0
f1
1
0
1 0 f3
f4
1
f1
f2
y
f1
f2
f3
f4
y
0
0 1 1 1
0
1 1 0 0
0
1 1 1 0
Simulaci贸n
f3
0
1
0
f1
1
0
1
f2
0 1
1 0 Hecho!
Or Exclusivo (A ^-B) v(-A^B)
Or Exclusivo •H(D) = .92 •AE1= .92, AE2=.92, •AE3=.92, AE4= .92
(A ^-B) v(-A^B) f1
f2
f3
f4
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 f1 0 f3
1
f1
f2
f4
y
f1
f2
f3
f4
y
0
1 1 0
0
1
0 1 0 0
0
0 0 1
1
1
1 1 0 1
0
1 0 1
0
1
0 0 1 0
Or Exclusivo f1 0
1
f2 0 f1
f2
f3
f4
y
0
0 0 1
1
1
f3
f1
f2
1
0 1 0 0
1
1 1 0 1
1
0 0 1 0
f1
f2
f4
y
0
1 1 0
0
0
1 0 1
0
f3
f4
y
Or Exclusivo f1 0
1
f2 0
1
1 0
f1
f2
f3
f4
y
1
0 1 0 0
1
1 1 0 1
1
0 0 1 0
Or Exclusivo f1
0
0
1
f2
f2 1
1
1
0 0
0
1
Votación del congreso Honorarios médicos congelados 0
1
R
Recorte combustible
119
0
1
D
Misiles mx
90
0
D Tamaño mínimo de la hoja= 20
20
1
R 3
Minería de datos (data mining) Para hacer predicciones útiles en aplicaciones. Los árboles de decisión son muy populares porque Son fáciles de implementar Eficientes(aun con inmensas cantidades de datos) Fácil de entender la hipótesis resultante
Tomado del Instituto Tecnol贸gico de Massachusetts www.owc.mit.edu 6.034 Artificial Intelligence 2004 Archivo: ch5-mach1.pdf
Ejercicio -1 Responda el siguiente problema.
0
1
1 2
1
3
0
4
1
5
6
7
1
8
0
9
1
10 11 12
Cual de los tres siguientes evaluaciones usted escogería como el nodo raíz en un árbol de decisión? X <= 1.5 x<= 5 x<=10.5 Justifique su respuesta.
i
xi
yi
1
1
0
2
2
1
3
3
1
4
4
0
5
6
1
6
7
1
7
10
0
8
11
1
Ejercicio- 2 Dado el siguiente conjunto de datos, elabore el 谩rbol de decisi贸n. F1
F2
F3
F4
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
Quizรกs les puede servir x 1 1 2 1 3 1 2 3 4 1 2 5 1 2 3 4 5 6
y 2 3 3 4 4 5 5 5 5 6 6 6 7 7 7 7 7 7
-(x/y)*log(x/y) 0.5 0.53 0.39 0.5 0.31 0.46 0.53 0.44 0.26 0.43 0.53 0.22 0.4 0.52 0.52 0.46 0.35 0.19
x 1 3 5 7 1 2 4 5 7 8 1 3 7 9
y 8 8 8 8 9 9 9 9 9 9 10 10 10 10
-(x/y)*log(x/y) 0.38 0.53 0.42 0.17 0.35 0.48 0.52 0.47 0.28 0.15 0.33 0.52 0.36 0.14