3.2 Aprendizaje Árboles 2011 (47d)

Page 1

Árboles de decisión Si Dios no edifica Nicaragua, en vano trabajan los que la edifican


Conjunto de datos Dados los datos (o conjunto de aprendizaje) D={(x1, y1), (x2, y2)... (xm, ym)}

Inteligencia Artificial 2007

2


Conjunto de datos Dados los datos (o conjunto de aprendizaje) D={(x1, y1), (x2, y2)... (xm, ym)}

(X11, X12,...X1n) entrada

Inteligencia Artificial 2007

3


Conjunto de datos Dados los datos (o conjunto de aprendizaje) D={(x1, y1), (x2, y2)... (xm, ym)}

(X11, X12,...X1n) entrada

Inteligencia Artificial 2007

salida

Clasificación: cuando “y” es discreta Regresión: cuando “y” es continua

4


Árboles de decisión Algoritmo con datos binarios, ampliamente aplicable. 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


Árboles de decisión Algoritmo con datos binarios, ampliamente aplicable. f1

f2

f3

f4

y

0 1 1 0 0

Ejemplo positivos: 3, {X2, X3, X4} Ejemplos negativos: 3, {X1, X5, X6}

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


Árboles de decisión Algoritmo con datos binarios, ampliamente aplicable. f1

f2

f3

f4

Ejemplo positivos: 3 Ejemplos negativos: 3

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

f1 D

1


Árboles de decisión Algoritmo con datos binarios, ampliamente aplicable. f1

f2

f3

f4

Ejemplo positivos: 3 Ejemplos negativos: 3

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

f1 D

1 2 ejemplos positivos 1 ejemplo negativo

0


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?


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 de árboles que es consistentes y tiende a la construcción de árboles sencillos(pocos nodos)


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 de árboles que es consistentes y tiende a la construcción de árboles sencillos(pocos nodos) Como es difícil encontrar el árbol mínimo en un paso, usaremos una técnica voraz (cíclica).


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 de árboles que es consistentes y tiende a la construcción de árboles sencillos(pocos nodos) Como es difícil encontrar el árbol mínimo en un paso, usaremos una técnica voraz (cíclica).


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, 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

f3 0 5 positivos 4 negativos

1 4 positivos 6 negativos

f7 0 6 positivos 0 negativos

1 3 positivos 10 negativos

C贸mo medimos del grado de uniformidad de los subconjuntos?


Entropía p: proporción de los ejemplos positivos en un conjunto de datos H= -p log2 p –(1 –p) log2 (1-p)


Entropía p: proporción de los ejemplos positivos en un conjunto de datos H= -p log2 p –(1 –p) log2 (1-p)

.. H .. .. .. ..

..

.. p

.. .. O log 0 = 0


Entropía p: proporción de los ejemplos positivos en un conjunto de datos H= -p log2 p –(1 –p) log2 (1-p)

f1

Ejemplo: 1 2 ejemplos positivos 1 ejemplo negativo

P: 2 /3

0 1 ejemplo positivo 2 ejemplos negativos

P: 1 /3


Vamos a separar H= -p log2 p –(1 –p) log2 (1-p)

D: 9 positivos 10 negativos

f3 0 D-3

5 positivos 4 negativos

f7

1 D

+

3

0

4 positivos 6 negativos

D-7 H= -5/9 log2 5/9 –(1 –5//9) log2 (1-5/9)

6 positivos 0 negativos

1 3 positivos

D+7 10 negativos


Vamos a separar H= -p log2 p –(1 –p) log2 (1-p)

D: 9 positivos 10 negativos

f3 0 D-3

5 positivos 4 negativos

f7

1 D

+

3

0

4 positivos 6 negativos

D-7 H= -5/9 log2 5/9 –(1 –5//9) log2 (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

6 positivos 0 negativos

1 3 positivos

D+7 10 negativos


Vamos a separar D: 9 positivos 10 negativos

f3 0 D-3

5 positivos 4 negativos

H=.99

f7

1 D

+

3

0

4 positivos 6 negativos -

H=.97

D7

6 positivos 0 negativos

H=.00

1 D+7

3 positivos 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


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 El mejor

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…  poniéndole a la hoja el valor y mas frecuente. Considere detenerlo para evitar saturar cuando: La entropía de los datos es mas bajo que el umbral (ej. 0.2) El número de elementos en el conjunto de datos esta bajo el umbral (ej. 3 elementos)


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

f2

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 Dado el siguiente conjunto de datos: a. Calcule los valores de entropía para cada atributo hasta organizar la hipótesis como árbol de decisión sabiendo que: f 1 f2 f3 f4 y

0 1 1 0 0

H: -p log2 p – (1- p) log2 (1 – p) y que:

1 0 1 1 1

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

1 1 1 0 0

b. Clasifique el nuevo caso con la hipótesis encontrada.

0 0 1 1 1 1 0 0 1 0 0 1 1 1 1

1 0 0 1

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 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

-(x/y)*log(x/y)

8 8 8 8 9 9 9 9 9 9 10 10 10 10

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


Ejercicio 2 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.

50


EntrEgar para El próximo día dE clasE: BusquE un tEma (medicina, finanzas, ingeniería) con El cual sE puEdan organizar un conjunto dE casos rEsuEltos. inclúyalos En una matriz. EscríBalo como una matriz Binaria.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.