68
Aprendizaje inductivo: ´ arboles y reglas de decisi´on M. A. Guti´ errez Naranjo F. J. Mart´ ın Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´ arboles y reglas de decisi´on

Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Aprendizaje inductivo: arboles y reglas de decision

M. A. Gutierrez NaranjoF. J. Martın MateosJ. L. Ruiz Reina

Dpto. Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 2: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Contenido

Introduccion

Arboles de decision:

El algoritmo ID3Entropıa e informacionBusqueda y sesgo inductivoSobreajuste y ruidoPoda y otras cuestiones

Reglas:

Reglas proposicionalesAlgoritmo de cobertura para aprendizaje de reglasproposicionalesReglas de primer orden: programacion logica inductivaEl algoritmo FOIL

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 3: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Aprendizaje

Definiciones de aprendizaje:

Cualquier cambio en un sistema que le permita realizar lamisma tarea de manera mas eficiente la proxima vez (H.Simon)Modificar la representacion del mundo que se esta percibiendo(R. Michalski)Realizar cambios utiles en nuestras mentes (M. Minsky)

Aprendizaje automatico: construir programas que mejoranautomaticamente con la experiencia

Ejemplos de tareas:

Construccion de bases de conocimiento a partir de laexperienciaClasificacion y diagnosticoMinerıa de datos, descubrir estructuras desconocidas engrandes grupos de datosResolucion de problemas, planificacion y accion

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 4: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Tipos de aprendizaje y paradigmas

Tipos de aprendizaje

SupervisadoNo supervisadoCon refuerzo

Paradigmas

Aprendizaje por memorizacionClasificacion (Clustering)Aprendizaje inductivoAprendizaje por analogıaDescubrimientoAlgoritmos geneticos, redes neuronales

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 5: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Aprendizaje supervisado (ejemplo)

Conjunto de entrenamiento

Ejemplos: dıas en los que es recomendable (o no) jugar al tenisRepresentacion como una lista de pares atributo–valor

Ej. Cielo Temperatura Humedad Viento JugarTenisD1 Soleado Alta Alta Debil -D2 Soleado Alta Alta Fuerte -D3 Nublado Alta Alta Debil +D4 Lluvia Suave Alta Debil +. . .

Objetivo: Dado el conjunto de entrenamiento, aprender elconcepto “Dıas en los que se juega al tenis”

Problema: ¿Como expresar lo aprendido?

En este tema, veremos algoritmos para aprender arboles dedecision y para aprender reglas

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 6: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Arboles de decision

Ejemplos de arboles de decision

Cielo

LluviaSoleado Nublado

+Viento

Debil

+

Humedad

Alta

+− −

Normal Fuerte

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 7: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Arboles de decision

Ejemplos de arboles de decision

Color

Rojo Verde Azul

Forma

Redondo Cuadrado

Grande

Tamano

Pequeno

Grande

Tamano

Pequeno

+ −

+ −

+

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 8: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Arboles de decision

Arboles de decision

Nodos interiores: atributosArcos: posibles valores del nodo origenHojas: valor de clasificacion (usualmente + o −, aunquepodrıa ser cualquier conjunto de valores, no necesariamentebinario)Representacion de una funcion objetivo

Disyuncion de reglas proposicionales:

(Cielo=Soleado ∧ Humedad=Alta → JugarTenis= −)∨ (Cielo=Soleado ∧ Humedad=Normal → JugarTenis= +)∨ (Cielo=Nublado → JugarTenis= +)∨ (Cielo=Lluvioso ∧ Viento=Fuerte → JugarTenis= −)∨ (Cielo=Lluvioso ∧ Viento=Debil → JugarTenis= +)

Capaz de representar cualquier subconjunto de instancias

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 9: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Aprendizaje de arboles de decision

Objetivo: aprender un arbol de decision consistente con losejemplos, para posteriormente clasificar ejemplos nuevos

Ejemplo de conjunto de entrenamiento:

Ej. Cielo Temperatura Humedad Viento JugarTenisD1 Soleado Alta Alta Debil -D2 Soleado Alta Alta Fuerte -D3 Nublado Alta Alta Debil +D4 Lluvia Suave Alta Debil +. . .

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 10: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3

Algoritmo ID3ID3(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 esta vacıo, devolver un nodo etiquetado con el valor

mas frecuente de Atributo-objetivo en Ejemplos.4. En otro caso:4.1. Sea A el atributo de Atributos que MEJOR clasifica Ejemplos4.2. Crear Arbol, con un nodo etiquetado con A.4.3. Para cada posible valor v de A, hacer:

* Anadir un arco a Arbol, etiquetado con v.

* Sea Ejemplos(v) el subconjunto de Ejemplos con valor delatributo A igual a v.

* Si Ejemplos(v) es vacıo:- Entonces colocar debajo del arco anterior un nodo etiquetado

con el valor mas frecuente de Atributo-objetivo en Ejemplos.- Si no, colocar debajo del arco anterior el subarbol

ID3(Ejemplos(v), Atributo-objetivo, Atributos-{A}).4.4 Devolver Arbol

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 11: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

¿Como saber que atributo clasifica mejor?

Entropıa de un conjunto de ejemplos D (resp. de unaclasificacion):

Ent(D) = − |P||D|

· log2|P||D|

− |N||D|

· log2|N||D|

donde P y N son, respectivamente, los subconjuntos deejemplos positivos y negativos de D

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

Intuicion:

Mide la ausencia de “homegeneidad” de la clasificacionTeorıa de la Informacion: cantidad media de informacion (enbits) necesaria para codificar la clasificacion de un ejemplo

Ejemplos:

Ent([9+, 5−]) = − 914

· log2914

− 514

· log2514

= 0,94

Ent([k+, k−]) = 1 (ausencia total de homogeneidad)Ent([p+, 0−]) = Ent([0+, n−]) = 0 (homogeneidad total)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 12: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ganancia de informacion

Preferimos nodos con menos entropıa (arboles pequenos)

Entropıa esperada despues de usar un atributo A en el arbol:∑

v∈Valores(A)|Dv||D|

· Ent(Dv)

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

Ganancia de informacion esperada despues de usar unatributo A:Ganancia(D,A) = Ent(D) −

∑v∈Valores(A)

|Dv||D|

· Ent(Dv)

En el algoritmo ID3, en cada nodo usamos el atributo conmayor ganancia de informacion (considerando los ejemploscorrespondientes al nodo)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 13: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 1)

Conjunto de entrenamiento:

Ej. Cielo Temperatura Humedad Viento JugarTenisD1 Soleado Alta Alta Debil -D2 Soleado Alta Alta Fuerte -D3 Nublado Alta Alta Debil +D4 Lluvia Suave Alta Debil +D5 Lluvia Baja Normal Debil +D6 Lluvia Baja Normal Fuerte -D7 Nublado Baja Normal Fuerte +D8 Soleado Suave Alta Debil -D9 Soleado Baja Normal Debil +D10 Lluvia Suave Normal Debil +D11 Soleado Suave Normal Fuerte +D12 Nublado Suave Alta Fuerte +D13 Nublado Alta Normal Debil +D14 Lluvia Suave Alta Fuerte -

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 14: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 1)

Normal

Humedad

Alta

[3+, 4−] [6+, 1−]

Viento

Fuerte Debil

[6+, 2−] [3+, 3−]

TemperaturaCielo

[2+, 2−] [4+, 2−] [3+, 1−]

BajaSuaveAltaLluvia

[2+, 3−] [3+, 2−][4+, 0−]

Soleado Nublado

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 15: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 1)

Entropıa inicial: Ent([9+, 5−]) = 0,94

Seleccion del atributo para el nodo raız:

Ganancia(D,Humedad) =0,94 − 7

14· Ent([3+, 4−]) − 7

14· Ent([6+, 1−]) = 0,151

Ganancia(D,Viento) =0,94 − 8

14· Ent([6+, 2−]) − 6

14· Ent([3+, 3−]) = 0,048

Ganancia(D,Cielo) =0,94 − 5

14· Ent([2+, 3−]) − 4

14· Ent([4+, 0−])

− 514

· Ent([3+, 2−]) = 0,246 (mejor atributo)Ganancia(D,Temperatura) =0,94 − 4

14· Ent([2+, 2−]) − 6

14· Ent([4+, 2−])

− 414

· Ent([3+, 1−]) = 0,02

El atributo seleccionado es Cielo

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 16: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 1)

Arbol parcialmente construido:

?

Cielo

Soleado Nublado Lluvia

+ ?

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 17: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 1)

Seleccion del atributo para el nodo Cielo=Soleado

DSoleado = {D1,D2,D8,D9,D11} con entropıaEnt([2+, 3−]) = 0,971

Ganancia(DSoleado,Humedad) =0,971 − 3

5· 0 − 2

5· 0 = 0,971 (mejor atributo)

Ganancia(DSoleado,Temperatura) =0,971 − 2

5· 0 − 2

5· 1 − 1

5· 0 = 0,570

Ganancia(DSoleado,Viento) =0,971 − 2

5· 1 − 3

5· 0,918 = 0,019

El atributo seleccionado es Humedad

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 18: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 1)

Seleccion del atributo para el nodo Cielo=Lluvia:

DLluvia = {D4,D5,D6,D10,D14} con entropıaEnt([3+, 2−]) = 0,971

Ganancia(DLluvia,Humedad) =0,971 − 2

5· 1 − 3

5· 0,918 = 0,820

Ganancia(DLluvia,Temperatura) =0,971 − 3

5· 0,918 − 2

5· 1 = 0,820

Ganancia(DLluvia,Viento) =0,971 − 3

5· 0 − 2

5· 0 = 0,971 (mejor atributo)

El atributo seleccionado es Viento

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 19: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 1)

Arbol finalmente aprendido:

Cielo

LluviaSoleado Nublado

+Viento

Debil

+

Humedad

Alta

+− −

Normal Fuerte

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 20: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 2)

Conjunto de entrenamiento:

Ej. Color Forma Tamano ClaseO1 Rojo Cuadrado Grande +O2 Azul Cuadrado Grande +O3 Rojo Redondo Pequeno -O4 Verde Cuadrado Pequeno -O5 Rojo Redondo Grande +O6 Verde Cuadrado Grande -

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 21: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 2)

Entropıa inicial en el ejemplo de los objetos,Ent([3+, 3−]) = 1

Seleccion del atributo para el nodo raız:

Ganancia(D,Color) =1− 3

6·Ent([2+, 1−])− 1

6·Ent([1+, 0−])− 2

6·Ent([0+, 2−]) =

0,543Ganancia(D,Forma) =1 − 4

6· Ent([2+, 2−]) − 2

6· Ent([1+, 1−]) = 0

Ganancia(D,Tamano) =1 − 4

6· Ent([3+, 1−]) − 2

6· Ent([0+, 2−]) = 0,459

El atributo seleccionado es Color

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 22: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 2)

Arbol parcialmente construido:

?

Color

Rojo Verde Azul

− +

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 23: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 2)

Seleccion del atributo para el nodo Color=Rojo:

DRojo = {O1,O3,O5} con entropıa Ent([2+, 1−]) = 0,914

Ganancia(DRojo,Forma) =0,914 − 1

3· Ent([1+, 0−]) − 2

3· Ent([1+, 1−]) = 0,247

Ganancia(DRojo,Tamano) =0,914 − 2

3· Ent([2+, 0−]) − 1

3· Ent([0+, 1−]) = 0,914

El atributo seleccionado es Tamano

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 24: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo ID3 (ejemplo 2)

Arbol finalmente aprendido:

Grande

Color

Rojo Verde Azul

−Tamano

Pequeno

+

+ −

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 25: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Busqueda y sesgo inductivo

Busqueda en un espacio de hipotesis

Espacio de todos los arboles de decisionUn unico arbol candidato en cada pasoSin retroceso (peligro de optimos locales), busqueda enescaladaDecisiones tomadas a partir de conjuntos de ejemplos

Sesgo inductivo

Se prefieren arboles mas cortos sobre los mas largosSesgo preferencial, implıcito en la busquedaPrincipio de la navaja de Occam

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 26: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Medida del rendimiento del aprendizaje

Conjunto de entrenamiento y conjunto de prueba

Aprender con el conjunto de entrenamientoMedida del rendimiento: proporcion de ejemplos bienclasificados en el conjunto de prueba

Repeticion de este proceso

Curva de aprendizajeEstratificacion: cada clase correctamente representada en elentrenamiento y en la prueba

Validacion cruzada

Dividir en k partes, y hace k aprendizajes, cada uno de ellostomando como prueba una de las partes y entrenamiento elresto. Finalmente hacer la media de los rendimientos.En la practica: validacion cruzada, con k = 10 y estratificacion

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 27: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Sobreajuste y ruido

Una hipotesis h ∈ H sobreajusta los ejemplos deentrenamiento si existe h′ ∈ H que se ajusta peor que h a losejemplos pero actua mejor sobre la distribucion completa deinstancias.

Ruido: ejemplos incorrectamente clasificados. Causasobreajuste

Ejemplo: supongamos que por error, se incluye el ejemplo<Azul,Redondo,Pequeno> como ejemplo negativo

El arbol aprendido en este caso serıa (sobrejustado a losdatos):

Color

Rojo Verde Azul

Grande

−Tamano

+ −

Pequeno

+

Color

Rojo Verde Azul

Forma

CuadradoGrande

−Tamano

+ − − +

RedondoPequeno

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 28: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Sobreajuste y ruido

Otras causas de sobreajuste:

Atributos que en los ejemplos presentan una aparenteregularidad pero que no son relevantes en realidadConjuntos de entrenamiento pequenos

Maneras de evitar el sobreajuste:

Parar el desarrollo del arbol antes de que se ajusteperfectamente a todos los datosPodar el arbol a posteriori

Poda a posteriori, dos aproximaciones:

Transformacion a reglas, podado de las condiciones de lasreglasRealizar podas directamente en el arbolLas podas se producen siempre que reduzcan el error sobre unconjunto de prueba

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 29: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Podado de arboles

Algoritmo de poda para reducir el error1. Dividir el conjunto de ejemplos en Entrenamiento y Prueba2. Arbol=arbol obtenido por ID3 usando Entrenamiento3. Continuar=True4. Mientras Continuar:

* Medida = proporcion de ejemplos en Prueba correctamenteclasificados por Arbol

* Por cada nodo interior N de Arbol:- Podar temporalmente Arbol en el nodo N y sustituirlo por una

hoja etiquetada con la clasificacion mayoritaria en ese nodo- Medir la proporcion 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, entoncesArbol = resultado de podar permanentemente Arbol en K

* Si no, Continuar=Falso5. Devolver Arbol

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 30: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Otras cuestiones practicas del algoritmo ID3

Extensiones del algoritmo:

Atributos con valores contınuosOtras medidas para seleccionar atributosOtras estimaciones de errorAtributos sin valoresAtributos con coste

Algoritmos C4.5 y C5.0 (Quinlan)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 31: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Cambiando la salida: reglas proposicionales

Reglas de clasificacion:

R1: Si Cielo=Soleado ∧ Humedad=Alta

Entonces JugarTenis= −R2: Si Astigmatismo=+ ∧ Lagrima=Normal

Entonces Lente=Rigida

Ventaja de usar el formalismo de reglas

ClaridadModularidadExpresividad: pueden representar cualquier conjunto deinstanciasMetodos generalizables a primer orden de manera naturalFormalismo usado en sistemas basados en el conocimiento

Reglas y arboles de decision

Facil traduccion de arbol a reglas, pero no a la inversa

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 32: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Aprendizaje de reglas

Objetivo: aprender un conjunto de reglas consistente con losejemplos

Una regla cubre un ejemplo si el ejemplo satisface lascondicionesLo cubre correctamente si ademas el valor del atributo en laconclusion de la regla coincide con el valor que el ejemplotoma en ese atributo

Una medida del ajuste de una regla R a un conjunto deejemplos D:

Frecuencia relativa: p/t (donde t = ejemplos cubiertos por Ren D, p = ejemplos correctamente cubiertos). Notacion:FR(R,D)

Algoritmos de aprendizaje de reglas:

ID3 + traduccion a reglasCoberturaAlgoritmos geneticos

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 33: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Un conjunto de entrenamiento

Ej. Edad Dignostico Astigmatismo Lagrima LenteE1 Joven Miope - Reducida NingunaE2 Joven Miope - Normal BlandaE3 Joven Miope + Reducida NingunaE4 Joven Miope + Normal RıgidaE5 Joven Hipermetrope - Reducida NingunaE6 Joven Hipermetrope - Normal BlandaE7 Joven Hipermetrope + Reducida NingunaE8 Joven Hipermetrope + Normal RıgidaE9 PrePresbicia Miope - Reducida NingunaE10 PrePresbicia Miope - Normal BlandaE11 PrePresbicia Miope + Reducida NingunaE12 PrePresbicia Miope + Normal RıgidaE13 PrePresbicia Hipermetrope - Reducida NingunaE14 PrePresbicia Hipermetrope - Normal BlandaE15 PrePresbicia Hipermetrope + Reducida NingunaE16 PrePresbicia Hipermetrope + Normal Ninguna

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 34: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Un conjunto de entrenamiento

Ej. Edad Dignostico Astigmatismo Lagrima LenteE17 Presbicia Miope - Reducida NingunaE18 Presbicia Miope - Normal NingunaE19 Presbicia Miope + Reducida NingunaE20 Presbicia Miope + Normal RıgidaE21 Presbicia Hipermetrope - Reducida NingunaE22 Presbicia Hipermetrope - Normal BlandaE23 Presbicia Hipermetrope + Reducida NingunaE24 Presbicia Hipermetrope + Normal Ninguna

R2: Si Astigmatismo=+ ∧ Lagrima=Normal

Entonces Lente=Rigida

R2 cubre E4, E8, E12, E16, E20 y E24, de los cuales cubrecorrectamente E4, E8, E12 y E20

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 35: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Aprendiendo reglas que cubren ejemplos

Aprender una regla para clasificar Lente=Rigida

Si ?Entonces Lente=Rigida

Alternativas para ?, y frecuencia relativa de la regla resultante

Edad=Joven 2/8Edad=PrePresbicia 1/8Edad=Presbicia 1/8Diagnostico=Miopıa 3/12Diagnostico=Hipermetropıa 1/12Astigmatismo=− 0/12Astigmatismo=+ 4/12 *Lagrima=Reducida 0/12Lagrima=Normal 4/12 *

Regla parcialmente aprendida

Si Astigmatismo=+Entonces Lente=Rigida

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 36: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Aprendiendo reglas que cubren ejemplos

Continuamos para excluir ejemplos cubiertos incorrectamente

Si Astigmatismo=+ ∧ ?Entonces Lente=Rigida

Alternativas para ?, y frecuencia relativa de la regla resultante

Edad=Joven 2/4Edad=PrePresbicia 1/4Edad=Presbicia 1/4Diagnostico=Miopıa 3/6Diagnostico=Hipermetropıa 1/6Lagrima=Reducida 0/6Lagrima=Normal 4/6 *

Regla parcialmente aprendida

Si Astigmatismo=+ ∧ Lagrima=Normal

Entonces Lente=Rigida

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 37: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Aprendiendo reglas que cubren ejemplos

Continuamos para excluir ejemplos cubiertos incorrectamente

Si Astigmatismo=+ ∧ Lagrima=Normal ∧ ?Entonces Lente=Rigida

Alternativas para ?, y frecuencia relativa de la regla resultante

Edad=Joven 2/2 *Edad=PrePresbicia 1/2Edad=Presbicia 1/2Diagnostico=Miopıa 3/3 *Diagnostico=Hipermetropıa 1/3

Regla finalmente aprendida (no cubre incorrectamente ningunejemplo)

Si Astigmatismo=+ ∧ Lagrima=Normal ∧Diagnostico=Miopia

Entonces Lente=Rigida

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 38: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Aprendiendo reglas que cubren ejemplos

Queda un ejemplo con Lente=Rigida no cubierto por R2

Comenzamos otra vez con “Si ? Entonces Lente=Rigida”,pero ahora con D′ = D \ {E4, E12, E20}

Reglas finalmente aprendidas para Lente=Rigida:

R1: Si Astigmatismo= + ∧ Lagrima=Normal ∧Diagnostico=Miopia

Entonces Lente=Rigida

R2: Si Edad=Joven ∧ Astigmatismo= + ∧Lagrima=Normal

Entonces Lente=Rigida

Cubren correctamente los 4 ejemplos de Lente=Rigida (y sesolapan)

Ahora se podrıa continuar para aprender reglas queclasifiquen:

Lente=Blanda

Lente=Ninguna

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 39: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo de aprendizaje de reglas por cobertura

Algoritmo de aprendizaje por coberturaAprendizaje-por-Cobertura(D,Atributo,v)1. Hacer Reglas-aprendidas igual a vacıo2. Hacer E igual a D3. Mientras E contenga ejemplos cuyo valor de Atributo es v, hacer:3.1 Crear una regla R sin condiciones y conclusion Atributo=v3.2 Mientras que haya en E ejemplos cubiertos por R incorrectamente

o no queden atributos que usar, hacer:3.2.1 Elegir la MEJOR condicion A=w para anadir a R, donde A es

un atributo que no aparece en R y w es un valor de losposibles que puede tomar A

3.2.2 Actualizar R anadiendo la condicion A=w a R3.3 Incluir R en Reglas-aprendidas3.4 Actualizar E quitando los ejemplos cubiertos por R4. Devolver Reglas-Aprendidas

Algoritmo para aprender un conjunto de reglas (a partir de D)

Reglas para predecir situaciones en las que un Atributo dadotoma un valor v

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 40: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Control en el algoritmo de cobertura

Bucle externo:

Anade reglas (la hipotesis se generaliza)Cada regla anadida cubre algunos ejemplos correctamenteElimina en cada vuelta los ejemplos cubiertos por la reglaanadidaY se anaden reglas mientras queden ejemplos sin cubrir

Bucle interno:

Anade condiciones a la regla (la regla se especializa)Cada nueva condicion excluye ejemplos cubiertosincorrectamenteY esto se hace mientras haya ejemplos incorrectamentecubiertos

Cobertura frente a ID3

Aprende una regla cada vez, ID3 lo hace simultaneamenteID3: elecciones de atributosCobertura: elcciones de parejas atributo-valor

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 41: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Algoritmo de cobertura (propiedades)

Diferentes criterios para elegir la mejor condicion en cadavuelta del bucle interno:

Se anade la condicion que produzca la regla con mayorfrecuencia relativa (como en el ejemplo)Se anade la que produzca mayor ganancia de informacion:

p · (log2p′

t′− log2

pt)

donde p′/t′ es la frecuencia relativa despues de anadir lacondicion y p/t es la frecuencia relativa antes de anadir lacondicion

Las reglas aprendidas por el algoritmo de cobertura se ajustanperfectamente al conjunto de entrenamiento (peligro desobreajuste)

Podado de las reglas a posterioriEliminar progresivamente condiciones hasta que no seproduzca mejoraCriterio probabilıstico para decidir la mejora

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 42: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Insuficiencia expresiva de las reglas proposicionales

Ejemplo:

Aprender el concepto “ser hija de” a partir de una base dedatos de relaciones entre miembros de una familia, conejemplos positivos y negativos del conceptoDificultad de ser expresado en el modelo proposicional de paresatributo-valor

Formalizacion del ejemplo en logica de primer orden

Ejemplos positivos: (maria,ana), (eva,tomas)Ejemplos negativos: (tomas,ana), (eva,ana), (eva,ignacio)Conocimiento base: hombre(tomas), hombre(ignacio)mujer(ana), mujer(eva), mujer(maria),progenitor(ana,maria), progenitor(ana,tomas),progenitor(tomas,eva), progenitor(tomas,ignacio)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 43: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Programacion Logica Inductiva

Datos:

Ejemplos positivos: E⊕

Ejemplos negativos: E⊖

Conocimiento base: TLenguaje de hipotesis: L

Condiciones:

Necesidad a priori: (∃e⊕ ∈ E⊕)[T 6⊢ e⊕]Consistencia a priori: (∀e⊖ ∈ E⊖)[T 6⊢ e⊖]

Objetivo: Encontrar un conjunto finito H ⊂ L tal que secumplan

Suficiencia a posteriori: (∀e⊕ ∈ E⊕)[T⋃

H ⊢ e⊕]Consistencia a posteriori: (∀e⊖ ∈ E⊖)[T

⋃H 6⊢ e⊖]

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 44: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Terminologıa en PLI

Se aprenden relaciones (o predicados) en lugar de paresatributo-valor

Los ejemplos vienen dados por tuplas de constantes sobre losque la relacion es cierta o falsa

(eva,tomas) es un ejemplo positivo de la relacion “ser hija de”y (tomas,ana) un ejemplo negativo

Una regla cubre un ejemplo si el ejemplo satisface lascondiciones de la regla.

La regla hija(A,B) :- progenitor(B,A), mujer(A)

cubre el ejemplo (maria,ana) y no cubre el ejemplo(eva,ignacio)

Una regla cubre correctamente un ejemplo si y solo si este espositivo

Objetivo: Encontrar un conjunto de reglas PROLOG quecubra todos los ejemplos positivos y ninguno negativo

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 45: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

El algoritmo FOIL

Algoritmo FOILFOIL(Ejemplos,Conocimiento-base,Predicado-objetivo)1. Hacer Reglas-aprendidas igual a vacıo2. Hacer E igual a Ejemplos3. Mientras E contenga ejemplos positivos, hacer:3.1 Crear una regla R sin cuerpo y con cabeza P(X1,...,Xn)

(donde P es el Predicado-objetivo y n su aridad)3.2 Mientras que haya en E ejemplos negativos cubiertos por R:3.2.1 GENERAR todos los posibles literales que pueden ser

anadidos al cuerpo de la regla R3.2.2 De todos ellos, sea L el MEJOR3.2.2 Actualizar R anadiendo el literal L al cuerpo de R3.3 Incluir R en Reglas-aprendidas3.4 Actualizar E quitando los ejemplos cubiertos por R4. Devolver Reglas-Aprendidas

Debemos precisar GENERAR y MEJOR

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 46: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Generacion de nuevos literales en FOIL

Literales tomados de los predicados del conocimiento base:

De la forma Q(x1, . . . , xn) donde Q es un predicado delconocimiento base y xi son variables de la regla que se quiereextender o nuevas (al menos una de las variables ha de estaren la regla)Para ampliar la regla hija(A,B) :- podemos usar:hombre(A), hombre(B), mujer(A), mujer(B),progenitor(C,A), progenitor(A,C), progenitor(C,B),progenitor(B,C), progenitor(A,A), progenitor(B,A),progenitor(A,B), progenitor(B,B)

Literales de igualdad entre las variables que aparecen en laregla

Negaciones de los anteriores

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 47: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Eleccion del mejor literal

El criterio mas usado:

Dada una regla R y un literal L medimos la mejora producidaen la cobertura al anadir un nuevo literal L a R para obteneruna nueva regla R′

Se elige el que produzca mayor ganancia de informacion:

t · (log2p′

p′+n′− log2

pp+n

)

donde R cubre p ejemplos positivos y n negativos, R′ cubre p′

ejemplos positivos y n′ negativos y t es el numero de ejemplospositivos cubiertos por R que siguen cubriendose en R′

Otros criterios posibles

Frecuencia relativaContenido de informacion

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 48: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Un ejemplo de calculo de la ganancia de informacion

Ejemplos cubiertos por la regla hija(A,B) :-

Positivos (2): (maria,ana) y (eva,tomas)

Negativos (3): (tomas,ana), (eva,ana) y (eva,ignacio)

Ejemplos cubiertos por la reglahija(A,B) :- progenitor(B,A)

Positivos (2): (maria,ana) y (eva,tomas).Negativos (1): (tomas,ana).Positivos cubiertos por la regla original que siguen estandocubiertos por la regla extendida (2): (maria,ana), y(eva,tomas).

Ganancia de informacion producida:2 · (log2(2/(2 + 1)) − log2(2/(2 + 3))) = 1,474

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 49: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Literales que introducen nuevas variables

Al introducir nuevas variables:

Las tuplas se extienden con las nuevas ligadurasPor tanto, el numero de ejemplos cubiertos puede aumentar(tanto positivos como negativos)Precision del valor t en la formula de ganancia de informacion:un ejemplo positivo se considera que sigue cubierto al extenderla regla si existe alguna extension del ejemplo que quedacubierto por la regla

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 50: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Literales que introducen nuevas variables (ejemplo)

Ejemplos cubiertos por la regla hija(A,B) :-

Positivos (2): (maria,ana) y (eva,tomas)

Negativos (3): (tomas,ana), (eva,ana) y (eva,ignacio)

Ejemplos (extendidos) cubiertos por la reglahija(A,B) :- progenitor(B,C)

Positivos (4): (maria,ana,maria), (maria,ana,tomas),(eva,tomas,eva) y (eva,tomas,ignacio)

Negativos (4): (tomas,ana,maria), (tomas,ana,tomas),(eva,ana,maria) y (eva,ana,tomas)

Positivos cubiertos por la regla original que siguen estandocubiertos por la regla extendida (2): (maria,ana), y(eva,tomas).

Ganancia de informacion producida:2 · (log2(4/(4 + 4)) − log2(2/(2 + 3))) = 0,644

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 51: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo con FOIL

Regla inicial: hija(A,B) :-

Ejemplos positivos cubiertos: (maria, ana), (eva, tomas)Ejemplos negativos cubiertos: (tomas, ana), (eva, ana),(eva, ignacio)

Posibles reglas y ganancia de las mismashija(A,B) :- hombre(A) 0.000hija(A,B) :- hombre(B) 0.322hija(A,B) :- mujer(A) 0.644hija(A,B) :- mujer(B) -0.263hija(A,B) :- progenitor(C,A) 0.000hija(A,B) :- progenitor(A,C) 0.000hija(A,B) :- progenitor(C,B) 0.322hija(A,B) :- progenitor(B,C) 0.644hija(A,B) :- progenitor(A,A) 0.000hija(A,B) :- progenitor(B,A) 1.474hija(A,B) :- progenitor(A,B) 0.000hija(A,B) :- progenitor(B,B) 0.000

Regla extendida: hija(A,B) :- progenitor(B,A)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 52: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo con FOIL

Regla obtenida: hija(A,B) :- progenitor(B,A)

Ejemplos positivos cubiertos: (maria, ana), (eva, tomas)Ejemplos negativos cubiertos: (tomas, ana)Posibles reglas y ganancia de las mismashija(A,B) :- progenitor(B,A), hombre(A) 0.000hija(A,B) :- progenitor(B,A), hombre(B) 0.585hija(A,B) :- progenitor(B,A), mujer(A) 1.170hija(A,B) :- progenitor(B,A), mujer(B) -0.415hija(A,B) :- progenitor(B,A), progenitor(C,A) 0.000hija(A,B) :- progenitor(B,A), progenitor(A,C) 0.000hija(A,B) :- progenitor(B,A), progenitor(C,B) 0.585hija(A,B) :- progenitor(B,A), progenitor(B,C) 0.000hija(A,B) :- progenitor(B,A), progenitor(A,A) 0.000hija(A,B) :- progenitor(B,A), progenitor(B,A) 0.000hija(A,B) :- progenitor(B,A), progenitor(A,B) 0.000hija(A,B) :- progenitor(B,A), progenitor(B,B) 0.000

Regla extendida: hija(A,B) :- progenitor(B,A), mujer(A)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 53: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo

Aprender la relacion “ser abuelo de” a partir del siguienteejemplo

Isabel - Felipe

Diana - Carlos

Guillermo Harry

EduardoAndres - Sara

EugeniaBeatriz

Ana - Frank

Pedro Zara

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 54: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo

Ejemplos positivos: (felipe,guillermo), (felipe,harry),(felipe,pedro), (felipe,zara), (felipe,beatriz),(felipe,eugenia)

Ejemplos negativos: Todos los demas (Hipotesis del MundoCerrado)

Conocimiento base:padre(felipe,carlos), padre(felipe,ana), padre(felipe,andres),

padre(felipe,eduardo), padre(carlos,guillermo), padre(carlos,harry),

padre(mark,pedro), padre(mark,zara), padre(andres,beatriz),

padre(andres,eugenia), madre(isabel,carlos), madre(isabel,ana),

madre(isabel,andres), madre(isabel,eduardo), madre(diana,guillermo),

madre(diana,harry), madre(ana,pedro), madre(ana,zara),

madre(sara,beatriz), madre(sara,eugenia),

progenitor(X,Y) :- padre(X,Y),

progenitor(X,Y) :- madre(X,Y)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 55: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo con FOIL

Regla inicial: abuelo(A,B) :-

Ejemplos positivos cubiertos: (felipe,guillermo),(felipe,harry), (felipe,pedro), (felipe,zara),(felipe,beatriz), (felipe,eugenia)Ejemplos negativos cubiertos: (felipe,felipe),(felipe,isabel), (felipe,diana), (felipe,carlos),(felipe,ana), (felipe,frank), (felipe,andres),(felipe,sara), (felipe,eduardo), (isabel,isabel),(isabel,diana), (isabel,carlos), (isabel,ana),(isabel,frank), (isabel,andres), (isabel,sara),(isabel,eduardo), (isabel,guillermo), (isabel,harry),(isabel,pedro), (isabel,zara), (isabel,beatriz),(isabel,eugenia), ...

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 56: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo con FOIL

Regla inicial: abuelo(A,B) :-

Posibles reglas y ganancia de las mismasabuelo(A,B) :- padre(C,A) 0.000abuelo(A,B) :- padre(A,C) 15.510abuelo(A,B) :- padre(C,B) 3.510abuelo(A,B) :- padre(B,C) 0.000abuelo(A,B) :- padre(A,A) 0.000abuelo(A,B) :- padre(B,A) 0.000abuelo(A,B) :- padre(A,B) 0.000abuelo(A,B) :- padre(B,B) 0.000abuelo(A,B) :- madre(C,A) 0.000abuelo(A,B) :- madre(A,C) 0.000abuelo(A,B) :- madre(C,B) 3.510abuelo(A,B) :- madre(B,C) 0.000abuelo(A,B) :- madre(A,A) 0.000abuelo(A,B) :- madre(B,A) 0.000abuelo(A,B) :- madre(A,B) 0.000abuelo(A,B) :- madre(B,B) 0.000

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 57: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo con FOIL

Regla inicial: abuelo(A,B) :-

Posibles reglas y ganancia de las mismasabuelo(A,B) :- progenitor(C,A) 0.000abuelo(A,B) :- progenitor(A,C) 9.510abuelo(A,B) :- progenitor(C,B) 3.510abuelo(A,B) :- progenitor(B,C) 0.000abuelo(A,B) :- progenitor(A,A) 0.000abuelo(A,B) :- progenitor(B,A) 0.000abuelo(A,B) :- progenitor(A,B) 0.000abuelo(A,B) :- progenitor(B,B) 0.000

Regla extendida: abuelo(A,B) :- padre(A,C)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 58: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo con FOIL

Regla obtenida: abuelo(A,B) :- padre(A,C)

Ejemplos positivos cubiertos: (felipe,guillermo),(felipe,harry), (felipe,pedro), (felipe,zara),(felipe,beatriz), (felipe,eugenia)Ejemplos negativos cubiertos: (felipe,ana), (felipe,andres),(felipe,carlos), (felipe,diana), (felipe,eduardo),(felipe,felipe), (felipe,isabel), (felipe,mark),(felipe,sara), (carlos,ana), (carlos,andres),(carlos,beatriz), (carlos,carlos), (carlos,diana),(carlos,eduardo), (carlos,eugenia), (carlos,felipe),(carlos,guillermo), (carlos,harry), (carlos,isabel),(carlos,mark), (carlos,pedro), (carlos,sara),(carlos,zara), ...

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 59: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo con FOIL

Regla obtenida: abuelo(A,B) :- padre(A,C)

Posibles reglas y ganancia de las mismasabuelo(A,B) :- padre(A,C), progenitor(D,A) 0.000abuelo(A,B) :- padre(A,C), progenitor(A,D) 3.087abuelo(A,B) :- padre(A,C), progenitor(D,B) 3.510abuelo(A,B) :- padre(A,C), progenitor(B,D) 0.000abuelo(A,B) :- padre(A,C), progenitor(D,C) 0.000abuelo(A,B) :- padre(A,C), progenitor(C,D) 7.932abuelo(A,B) :- padre(A,C), progenitor(A,A) 0.000abuelo(A,B) :- padre(A,C), progenitor(B,A) 0.000abuelo(A,B) :- padre(A,C), progenitor(C,A) 0.000abuelo(A,B) :- padre(A,C), progenitor(A,B) 0.000abuelo(A,B) :- padre(A,C), progenitor(B,B) 0.000abuelo(A,B) :- padre(A,C), progenitor(C,B) 15.863abuelo(A,B) :- padre(A,C), progenitor(A,C) 0.000abuelo(A,B) :- padre(A,C), progenitor(B,C) 0.000abuelo(A,B) :- padre(A,C), progenitor(C,C) 0.000abuelo(A,B) :- padre(A,C), madre(D,A) 0.000abuelo(A,B) :- padre(A,C), madre(A,D) 0.000abuelo(A,B) :- padre(A,C), madre(D,B) 3.510

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 60: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo con FOIL

Regla obtenida: abuelo(A,B) :- padre(A,C)

Posibles reglas y ganancia de las mismasabuelo(A,B) :- padre(A,C), madre(B,D) 0.000abuelo(A,B) :- padre(A,C), madre(D,C) 0.000abuelo(A,B) :- padre(A,C), madre(C,D) 7.932abuelo(A,B) :- padre(A,C), madre(A,A) 0.000abuelo(A,B) :- padre(A,C), madre(B,A) 0.000abuelo(A,B) :- padre(A,C), madre(C,A) 0.000abuelo(A,B) :- padre(A,C), madre(A,B) 0.000abuelo(A,B) :- padre(A,C), madre(B,B) 0.000abuelo(A,B) :- padre(A,C), madre(C,B) 5.288abuelo(A,B) :- padre(A,C), madre(A,C) 0.000abuelo(A,B) :- padre(A,C), madre(B,C) 0.000abuelo(A,B) :- padre(A,C), madre(C,C) 0.000abuelo(A,B) :- padre(A,C), padre(D,A) 0.000abuelo(A,B) :- padre(A,C), padre(A,D) 3.087abuelo(A,B) :- padre(A,C), padre(D,B) 3.510abuelo(A,B) :- padre(A,C), padre(B,D) 0.000abuelo(A,B) :- padre(A,C), padre(D,C) 0.000abuelo(A,B) :- padre(A,C), padre(C,D) 7.932

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 61: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo con FOIL

Regla obtenida: abuelo(A,B) :- padre(A,C)

Posibles reglas y ganancia de las mismasabuelo(A,B) :- padre(A,C), padre(A,A) 0.000abuelo(A,B) :- padre(A,C), padre(B,A) 10.000abuelo(A,B) :- padre(A,C), padre(C,A) 0.000abuelo(A,B) :- padre(A,C), padre(A,B) 0.000abuelo(A,B) :- padre(A,C), padre(B,B) 0.000abuelo(A,B) :- padre(A,C), padre(C,B) 10.575abuelo(A,B) :- padre(A,C), padre(A,C) 0.000abuelo(A,B) :- padre(A,C), padre(B,C) 0.000abuelo(A,B) :- padre(A,C), padre(C,C) 0.000abuelo(A,B) :- padre(A,C), abuelo(C,A) 0.000abuelo(A,B) :- padre(A,C), abuelo(C,B) 0.000abuelo(A,B) :- padre(A,C), abuelo(A,C) 0.000abuelo(A,B) :- padre(A,C), abuelo(B,C) 0.000abuelo(A,B) :- padre(A,C), abuelo(C,C) 0.000

Regla extendida:abuelo(A,B) :- padre(A,C), progenitor(C,B)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 62: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo de relacion recursiva con FOIL

Grafo

1 2 3

4

5

Ejemplos positivos: (1,2), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5),(3,4), (3,5)

Conocimiento base: enlace(1,2), enlace(2,3),enlace(3,4), enlace(3,5)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 63: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo de relacion recursiva con FOIL

Regla inicial: camino(A,B) :-

Ejemplos positivos cubiertos: (1,2), (1,3), (1,4), (1,5), (2,3),(2,4), (2,5), (3,4), (3,5)Ejemplos negativos cubiertos: (1,1), (2,1), (2,2), (3,1), (3,2),(3,3), (4,1), (4,2), (4,3), (4,4), (4,5), (5,1), (5,2), (5,3), (5,4),(5,5)

Posibles reglas y ganancia de las mismascamino(A,B) :- enlace(C,A) -2.630camino(A,B) :- enlace(A,C) 5.503camino(A,B) :- enlace(C,B) 2.897camino(A,B) :- enlace(B,C) -1.578camino(A,B) :- enlace(A,A) 0.000camino(A,B) :- enlace(B,A) 0.000camino(A,B) :- enlace(A,B) 5.896camino(A,B) :- enlace(B,B) 0.000

Regla extendida: camino(A,B) :- enlace(A,B)

No cubre ejemplos negativos

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 64: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo de relacion recursiva con FOIL

Regla inicial: camino(A,B) :-

Ejemplos positivos cubiertos: (1,3), (1,4), (1,5), (2,4), (2,5)Ejemplos negativos cubiertos: (1,1), (2,1), (2,2), (3,1), (3,2),(3,3), (4,1), (4,2), (4,3), (4,4), (4,5), (5,1), (5,2), (5,3), (5,4),(5,5)

Posibles reglas y ganancia de las mismascamino(A,B) :- enlace(C,A) -2.034camino(A,B) :- enlace(A,C) 2.925camino(A,B) :- enlace(C,B) 1.962camino(A,B) :- enlace(B,C) -1.017camino(A,B) :- enlace(A,A) 0.000camino(A,B) :- enlace(B,A) 0.000camino(A,B) :- enlace(A,B) 0.000camino(A,B) :- enlace(B,B) 0.000

Regla extendida: camino(A,B) :- enlace(A,C)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 65: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo de relacion recursiva con FOIL

Regla obtenida: camino(A,B) :- enlace(A,C)

Ejemplos positivos cubiertos: (1,3), (1,4), (1,5), (2,4), (2,5)Ejemplos negativos cubiertos: (1,1), (2,1), (2,2), (3,1), (3,2),(3,3)

Posibles reglas y ganancia de las mismascamino(A,B) :- enlace(A,C), camino(C,A) 0.000camino(A,B) :- enlace(A,C), camino(C,B) 7.427camino(A,B) :- enlace(A,C), camino(A,C) 0.000camino(A,B) :- enlace(A,C), camino(B,C) 0.000camino(A,B) :- enlace(A,C), camino(C,C) 0.000camino(A,B) :- enlace(A,C), enlace(D,A) -1.673camino(A,B) :- enlace(A,C), enlace(A,D) -2.573camino(A,B) :- enlace(A,C), enlace(D,B) 2.427camino(A,B) :- enlace(A,C), enlace(B,D) -1.215camino(A,B) :- enlace(A,C), enlace(D,C) 0.000camino(A,B) :- enlace(A,C), enlace(C,D) 3.539

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 66: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo de relacion recursiva con FOIL

Regla obtenida: camino(A,B) :- enlace(A,C)

Posibles reglas y ganancia de las mismascamino(A,B) :- enlace(A,C), enlace(A,A) 0.000camino(A,B) :- enlace(A,C), enlace(B,A) 0.000camino(A,B) :- enlace(A,C), enlace(C,A) 0.000camino(A,B) :- enlace(A,C), enlace(A,B) 0.000camino(A,B) :- enlace(A,C), enlace(B,B) 0.000camino(A,B) :- enlace(A,C), enlace(C,B) 4.456camino(A,B) :- enlace(A,C), enlace(A,C) 0.000camino(A,B) :- enlace(A,C), enlace(B,C) 0.000camino(A,B) :- enlace(A,C), enlace(C,C) 0.000

Regla extendida:camino(A,B) :- enlace(A,C), camino(C,B)

No cubre ejemplos negativos

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 67: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Ejemplo de relacion recursiva con FOIL

Grafo

1 2 3

4

5

Concepto aprendido:camino(A,B) :- enlace(A,B)

camino(A,B) :- enlace(A,C), camino(C,B)

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision

Page 68: Aprendizaje inductivo: rboles y reglas de decisi n · El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: ´arboles y reglas de decisi´on. Aprendizaje

Bibliografıa

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

Cap. 3: “Decision tree learning”Cap. 10: “Learning Sets of Rules”

Russell, S. y Norvig, P. Artificial Intelligence (A modernapproach) (Second edition) (Prentice Hall, 2003)

Cap. 18: “Learning from observations”Cap. 19: “Knowledge in learning”

Russell, S. y Norvig, P. Inteligencia artificial (Un enfoquemoderno) (Tercera edicion) (Pearson-Prentice Hall, 2010)

Witten, I.H. y Frank, E. Data mining (Second edition)(Morgan Kaufmann Publishers, 2005)

Cap. 3, 4, 5 y 6.

Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: arboles y reglas de decision