Aprendizaje inductivo: árboles y reglas de decisión M. A. Gutiérrez Naranjo F. J. Martı́n Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Contenido Introducción Árboles de decisión: El algoritmo ID3 Entropı́a e información Búsqueda y sesgo inductivo Sobreajuste y ruido Poda y otras cuestiones Reglas: Reglas proposicionales Algoritmo de cobertura para aprendizaje de reglas proposicionales Reglas de primer orden: programación lógica inductiva El algoritmo FOIL Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Aprendizaje Definiciones de aprendizaje: Cualquier cambio en un sistema que le permita realizar la misma tarea de manera más eficiente la próxima vez (H. Simon) Modificar la representación del mundo que se está percibiendo (R. Michalski) Realizar cambios útiles en nuestras mentes (M. Minsky) Aprendizaje automático: construir programas que mejoran automáticamente con la experiencia Ejemplos de tareas: Construcción de bases de conocimiento a partir de la experiencia Clasificación y diagnóstico Minerı́a de datos, descubrir estructuras desconocidas en grandes grupos de datos Resolución de problemas, planificación y acción Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Tipos de aprendizaje y paradigmas Tipos de aprendizaje Supervisado No supervisado Con refuerzo Paradigmas Aprendizaje por memorización Clasificación (Clustering) Aprendizaje inductivo Aprendizaje por analogı́a Descubrimiento Algoritmos genéticos, redes neuronales Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Aprendizaje supervisado (ejemplo) Conjunto de entrenamiento Ejemplos: dı́as en los que es recomendable (o no) jugar al tenis Representación como una lista de pares atributo–valor Ej. D1 D2 D3 D4 ... Cielo Soleado Soleado Nublado Lluvia Temperatura Alta Alta Alta Suave Humedad Alta Alta Alta Alta Viento Débil Fuerte Débil Débil JugarTenis + + Objetivo: Dado el conjunto de entrenamiento, aprender el concepto “Dı́as en los que se juega al tenis” Problema: ¿Cómo expresar lo aprendido? En este tema, veremos algoritmos para aprender árboles de decisión y para aprender reglas Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Árboles de decisión Ejemplos de árboles de decisión Cielo Soleado Nublado + Humedad Alta − Lluvia Normal + Inteligencia Artificial II 2012–2013 Viento Fuerte Debil − + Aprendizaje inductivo: árboles y reglas de decisión Árboles de decisión Ejemplos de árboles de decisión Color Rojo Verde − Tamaño Grande + Azul Pequeño Forma Redondo − Cuadrado + Tamaño Grande + Inteligencia Artificial II 2012–2013 Pequeño − Aprendizaje inductivo: árboles y reglas de decisión Árboles de decisión Árboles de decisión Nodos interiores: atributos Arcos: posibles valores del nodo origen Hojas: valor de clasificación (usualmente + ó −, aunque podrı́a ser cualquier conjunto de valores, no necesariamente binario) Representación de una función objetivo Disyunción 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: árboles y reglas de decisión Aprendizaje de árboles de decisión Objetivo: aprender un árbol de decisión consistente con los ejemplos, para posteriormente clasificar ejemplos nuevos Ejemplo de conjunto de entrenamiento: Ej. D1 D2 D3 D4 ... Cielo Soleado Soleado Nublado Lluvia Temperatura Alta Alta Alta Suave Inteligencia Artificial II 2012–2013 Humedad Alta Alta Alta Alta Viento Débil Fuerte Débil Débil JugarTenis + + Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 Algoritmo ID3 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á vacı́o, devolver un nodo etiquetado con el valor más 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 Árbol, con un nodo etiquetado con A. 4.3. Para cada posible valor v de A, hacer: * Añadir un arco a Árbol, 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ás frecuente de Atributo-objetivo en Ejemplos. - Si no, colocar debajo del arco anterior el subárbol ID3(Ejemplos(v), Atributo-objetivo, Atributos-{A}). 4.4 Devolver Árbol Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión ¿Cómo saber qué atributo clasifica mejor? Entropı́a de un conjunto de ejemplos D (resp. de una clasificación): |P| |N| |P| · log2 |D| − |D| · log2 |N| Ent(D) = − |D| |D| donde P y N son, respectivamente, los subconjuntos de ejemplos positivos y negativos de D Notación: Ent([p+ , n− ]), donde p = |P| y n = |N| Intuición: Mide la ausencia de “homegeneidad” de la clasificación Teorı́a de la Información: cantidad media de información (en bits) necesaria para codificar la clasificación de un ejemplo Ejemplos: 9 9 5 5 Ent([9+ , 5− ]) = − 14 · log2 14 − 14 · log2 14 = 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: árboles y reglas de decisión Ganancia de información Preferimos nodos con menos entropı́a (árboles pequeños) Entropı́a esperada después de usar un atributo A en el árbol: P |Dv | v∈Valores(A) |D| · Ent(Dv ) donde Dv es el subconjunto de ejemplos de D con valor del atributo A igual a v Ganancia de información esperada después de usar un atributo A: P v| Ganancia(D, A) = Ent(D) − v∈Valores(A) |D · Ent(Dv ) |D| En el algoritmo ID3, en cada nodo usamos el atributo con mayor ganancia de información (considerando los ejemplos correspondientes al nodo) Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 1) Conjunto de entrenamiento: Ej. D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 Cielo Soleado Soleado Nublado Lluvia Lluvia Lluvia Nublado Soleado Soleado Lluvia Soleado Nublado Nublado Lluvia Temperatura Alta Alta Alta Suave Baja Baja Baja Suave Baja Suave Suave Suave Alta Suave Inteligencia Artificial II 2012–2013 Humedad Alta Alta Alta Alta Normal Normal Normal Alta Normal Normal Normal Alta Normal Alta Viento Débil Fuerte Débil Débil Débil Fuerte Fuerte Débil Débil Débil Fuerte Fuerte Débil Fuerte JugarTenis + + + + + + + + + - Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 1) Humedad Alta Viento Normal [3+ , 4− ] [6+ , 1− ] Fuerte Debil [6+ , 2− ] Cielo [3+ , 3− ] Temperatura Soleado Nublado Lluvia [2+ , 3− ] [4+ , 0− ] [3+ , 2− ] Inteligencia Artificial II 2012–2013 Alta [2+ , 2− ] Suave [4+ , 2− ] Baja [3+ , 1− ] Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 1) Entropı́a inicial: Ent([9+ , 5− ]) = 0,94 Selección del atributo para el nodo raı́z: Ganancia(D,Humedad) = 7 7 · Ent([3+ , 4− ]) − 14 · Ent([6+ , 1− ]) = 0,151 0,94 − 14 Ganancia(D,Viento) = 6 8 · Ent([6+ , 2− ]) − 14 · Ent([3+ , 3− ]) = 0,048 0,94 − 14 Ganancia(D,Cielo) = 5 4 0,94 − 14 · Ent([2+ , 3− ]) − 14 · Ent([4+ , 0− ]) 5 + − − 14 · Ent([3 , 2 ]) = 0,246 (mejor atributo) Ganancia(D,Temperatura) = 4 6 0,94 − 14 · Ent([2+ , 2− ]) − 14 · Ent([4+ , 2− ]) 4 · Ent([3+ , 1− ]) = 0,02 − 14 El atributo seleccionado es Cielo Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 1) Árbol parcialmente construido: Cielo Soleado ? Inteligencia Artificial II 2012–2013 Nublado + Lluvia ? Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 1) Selección del atributo para el nodo Cielo=Soleado DSoleado = {D1 , D2 , D8 , D9 , D11 } con entropı́a Ent([2+ , 3− ]) = 0,971 Ganancia(DSoleado ,Humedad) = 0,971 − 35 · 0 − 25 · 0 = 0,971 (mejor atributo) Ganancia(DSoleado ,Temperatura) = 0,971 − 25 · 0 − 25 · 1 − 15 · 0 = 0,570 Ganancia(DSoleado ,Viento) = 0,971 − 25 · 1 − 35 · 0,918 = 0,019 El atributo seleccionado es Humedad Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 1) Selección del atributo para el nodo Cielo=Lluvia: DLluvia = {D4 , D5 , D6 , D10 , D14 } con entropı́a Ent([3+ , 2− ]) = 0,971 Ganancia(DLluvia ,Humedad) = 0,971 − 25 · 1 − 35 · 0,918 = 0,820 Ganancia(DLluvia ,Temperatura) = 0,971 − 53 · 0,918 − 25 · 1 = 0,820 Ganancia(DLluvia ,Viento) = 0,971 − 53 · 0 − 25 · 0 = 0,971 (mejor atributo) El atributo seleccionado es Viento Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 1) Árbol finalmente aprendido: Cielo Soleado Nublado + Humedad Alta − Lluvia Normal + Inteligencia Artificial II 2012–2013 Viento Fuerte Debil − + Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 2) Conjunto de entrenamiento: Ej. O1 O2 O3 O4 O5 O6 Color Rojo Azul Rojo Verde Rojo Verde Forma Cuadrado Cuadrado Redondo Cuadrado Redondo Cuadrado Tamaño Grande Grande Pequeño Pequeño Grande Grande Inteligencia Artificial II 2012–2013 Clase + + + - Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 2) Entropı́a inicial en el ejemplo de los objetos, Ent([3+ , 3− ]) = 1 Selección del atributo para el nodo raı́z: Ganancia(D,Color) = 1− 36 ·Ent([2+ , 1− ])− 16 ·Ent([1+ , 0− ])− 62 ·Ent([0+ , 2− ]) = 0,543 Ganancia(D,Forma) = 1 − 46 · Ent([2+ , 2− ]) − 62 · Ent([1+ , 1− ]) = 0 Ganancia(D,Tamaño) = 1 − 46 · Ent([3+ , 1− ]) − 62 · Ent([0+ , 2− ]) = 0,459 El atributo seleccionado es Color Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 2) Árbol parcialmente construido: Color Rojo ? Inteligencia Artificial II 2012–2013 Verde − Azul + Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 2) Selección del atributo para el nodo Color=Rojo: DRojo = {O1 , O3 , O5 } con entropı́a Ent([2+ , 1− ]) = 0,914 Ganancia(DRojo ,Forma) = 0,914 − 31 · Ent([1+ , 0− ]) − Ganancia(DRojo ,Tamaño) = 0,914 − 23 · Ent([2+ , 0− ]) − 2 3 · Ent([1+ , 1− ]) = 0,247 1 3 · Ent([0+ , 1− ]) = 0,914 El atributo seleccionado es Tamaño Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Algoritmo ID3 (ejemplo 2) Árbol finalmente aprendido: Color Rojo Verde − Tamaño Grande + Inteligencia Artificial II 2012–2013 Azul + Pequeño − Aprendizaje inductivo: árboles y reglas de decisión Búsqueda y sesgo inductivo Búsqueda en un espacio de hipótesis Espacio de todos los árboles de decisión Un único árbol candidato en cada paso Sin retroceso (peligro de óptimos locales), búsqueda en escalada Decisiones tomadas a partir de conjuntos de ejemplos Sesgo inductivo Se prefieren árboles más cortos sobre los más largos Sesgo preferencial, implı́cito en la búsqueda Principio de la navaja de Occam Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Medida del rendimiento del aprendizaje Conjunto de entrenamiento y conjunto de prueba Aprender con el conjunto de entrenamiento Medida del rendimiento: proporción de ejemplos bien clasificados en el conjunto de prueba Repetición de este proceso Curva de aprendizaje Estratificación: cada clase correctamente representada en el entrenamiento y en la prueba Validación cruzada 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áctica: validación cruzada, con k = 10 y estratificación Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Sobreajuste y ruido Una hipótesis h ∈ H sobreajusta los ejemplos de entrenamiento si existe h′ ∈ H que se ajusta peor que h a los ejemplos pero actúa mejor sobre la distribución completa de instancias. Ruido: ejemplos incorrectamente clasificados. Causa sobreajuste Ejemplo: supongamos que por error, se incluye el ejemplo <Azul,Redondo,Pequeno> como ejemplo negativo El árbol aprendido en este caso serı́a (sobrejustado a los datos): Color Color Rojo Tamaño Grande + Verde Azul − + Pequeño − Inteligencia Artificial II 2012–2013 Rojo Grande + Verde Azul − Tamaño Forma Pequeño Redondo − − Cuadrado + Aprendizaje inductivo: árboles y reglas de decisión Sobreajuste y ruido Otras causas de sobreajuste: Atributos que en los ejemplos presentan una aparente regularidad pero que no son relevantes en realidad Conjuntos de entrenamiento pequeños Maneras de evitar el sobreajuste: Parar el desarrollo del árbol antes de que se ajuste perfectamente a todos los datos Podar el árbol a posteriori Poda a posteriori, dos aproximaciones: Transformación a reglas, podado de las condiciones de las reglas Realizar podas directamente en el árbol Las podas se producen siempre que reduzcan el error sobre un conjunto de prueba Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Podado de árboles Algoritmo de poda para reducir el error 1. 2. 3. 4. * * * * * 5. Dividir el conjunto de ejemplos en Entrenamiento y Prueba Árbol=árbol obtenido por ID3 usando Entrenamiento Continuar=True Mientras Continuar: Medida = proporción de ejemplos en Prueba correctamente clasificados por Árbol Por cada nodo interior N de Árbol: - Podar temporalmente Árbol en el nodo N y sustituirlo por una hoja etiquetada con la clasificación mayoritaria en ese nodo - Medir la proporción 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 Árbol = resultado de podar permanentemente Árbol en K Si no, Continuar=Falso Devolver Árbol Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Otras cuestiones prácticas del algoritmo ID3 Extensiones del algoritmo: Atributos con valores contı́nuos Otras medidas para seleccionar atributos Otras estimaciones de error Atributos sin valores Atributos con coste Algoritmos C4.5 y C5.0 (Quinlan) Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Cambiando la salida: reglas proposicionales Reglas de clasificación: R1: Si Cielo=Soleado ∧ Humedad=Alta Entonces JugarTenis= − R2: Si Astigmatismo= + ∧ Lagrima=Normal Entonces Lente=Rigida Ventaja de usar el formalismo de reglas Claridad Modularidad Expresividad: pueden representar cualquier conjunto de instancias Métodos generalizables a primer orden de manera natural Formalismo usado en sistemas basados en el conocimiento Reglas y árboles de decisión Fácil traducción de árbol a reglas, pero no a la inversa Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Aprendizaje de reglas Objetivo: aprender un conjunto de reglas consistente con los ejemplos Una regla cubre un ejemplo si el ejemplo satisface las condiciones Lo cubre correctamente si además el valor del atributo en la conclusión de la regla coincide con el valor que el ejemplo toma en ese atributo Una medida del ajuste de una regla R a un conjunto de ejemplos D: Frecuencia relativa: p/t (donde t = ejemplos cubiertos por R en D, p = ejemplos correctamente cubiertos). Notación: FR(R, D) Algoritmos de aprendizaje de reglas: ID3 + traducción a reglas Cobertura Algoritmos genéticos Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Un conjunto de entrenamiento Ej. E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12 E13 E14 E15 E16 Edad Joven Joven Joven Joven Joven Joven Joven Joven PrePresbicia PrePresbicia PrePresbicia PrePresbicia PrePresbicia PrePresbicia PrePresbicia PrePresbicia Dignostico Miope Miope Miope Miope Hipermétrope Hipermétrope Hipermétrope Hipermétrope Miope Miope Miope Miope Hipermétrope Hipermétrope Hipermétrope Hipermétrope Inteligencia Artificial II 2012–2013 Astigmatismo + + + + + + + + Lagrima Reducida Normal Reducida Normal Reducida Normal Reducida Normal Reducida Normal Reducida Normal Reducida Normal Reducida Normal Lente Ninguna Blanda Ninguna Rı́gida Ninguna Blanda Ninguna Rı́gida Ninguna Blanda Ninguna Rı́gida Ninguna Blanda Ninguna Ninguna Aprendizaje inductivo: árboles y reglas de decisión Un conjunto de entrenamiento Ej. E17 E18 E19 E20 E21 E22 E23 E24 Edad Presbicia Presbicia Presbicia Presbicia Presbicia Presbicia Presbicia Presbicia Dignostico Miope Miope Miope Miope Hipermétrope Hipermétrope Hipermétrope Hipermétrope Astigmatismo + + + + Lagrima Reducida Normal Reducida Normal Reducida Normal Reducida Normal Lente Ninguna Ninguna Ninguna Rı́gida Ninguna Blanda Ninguna Ninguna R2: Si Astigmatismo= + ∧ Lagrima=Normal Entonces Lente=Rigida R2 cubre E4 , E8 , E12 , E16 , E20 y E24 , de los cuales cubre correctamente E4 , E8 , E12 y E20 Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión 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 Edad=PrePresbicia Edad=Presbicia Diagnostico=Miopı́a Diagnostico=Hipermetropı́a Astigmatismo= − Astigmatismo= + Lágrima=Reducida Lágrima=Normal 2/8 1/8 1/8 3/12 1/12 0/12 4/12 * 0/12 4/12 * Regla parcialmente aprendida Si Astigmatismo= + Entonces Lente=Rigida Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión 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 Edad=PrePresbicia Edad=Presbicia Diagnostico=Miopı́a Diagnostico=Hipermetropı́a Lágrima=Reducida Lágrima=Normal 2/4 1/4 1/4 3/6 1/6 0/6 4/6 * Regla parcialmente aprendida Si Astigmatismo= + ∧ Lagrima=Normal Entonces Lente=Rigida Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión 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 Edad=PrePresbicia Edad=Presbicia Diagnostico=Miopı́a Diagnostico=Hipermetropı́a 2/2 * 1/2 1/2 3/3 * 1/3 Regla finalmente aprendida (no cubre incorrectamente ningún ejemplo) Si Astigmatismo= + ∧ Lagrima=Normal ∧ Diagnostico=Miopia Entonces Lente=Rigida Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión 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 se solapan) Ahora se podrı́a continuar para aprender reglas que clasifiquen: Lente=Blanda Lente=Ninguna Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Algoritmo de aprendizaje de reglas por cobertura Algoritmo de aprendizaje por cobertura Aprendizaje-por-Cobertura(D,Atributo,v) 1. Hacer Reglas-aprendidas igual a vacı́o 2. Hacer E igual a D 3. Mientras E contenga ejemplos cuyo valor de Atributo es v, hacer: 3.1 Crear una regla R sin condiciones y conclusión Atributo=v 3.2 Mientras que haya en E ejemplos cubiertos por R incorrectamente o no queden atributos que usar, hacer: 3.2.1 Elegir la MEJOR condición A=w para añadir a R, donde A es un atributo que no aparece en R y w es un valor de los posibles que puede tomar A 3.2.2 Actualizar R añadiendo la condición A=w a R 3.3 Incluir R en Reglas-aprendidas 3.4 Actualizar E quitando los ejemplos cubiertos por R 4. Devolver Reglas-Aprendidas Algoritmo para aprender un conjunto de reglas (a partir de D) Reglas para predecir situaciones en las que un Atributo dado toma un valor v Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Control en el algoritmo de cobertura Bucle externo: Añade reglas (la hipótesis se generaliza) Cada regla añadida cubre algunos ejemplos correctamente Elimina en cada vuelta los ejemplos cubiertos por la regla añadida Y se añaden reglas mientras queden ejemplos sin cubrir Bucle interno: Añade condiciones a la regla (la regla se especializa) Cada nueva condición excluye ejemplos cubiertos incorrectamente Y esto se hace mientras haya ejemplos incorrectamente cubiertos Cobertura frente a ID3 Aprende una regla cada vez, ID3 lo hace simultáneamente ID3: elecciones de atributos Cobertura: elcciones de parejas atributo-valor Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Algoritmo de cobertura (propiedades) Diferentes criterios para elegir la mejor condición en cada vuelta del bucle interno: Se añade la condición que produzca la regla con mayor frecuencia relativa (como en el ejemplo) Se añade la que produzca mayor ganancia de información: ′ p · (log2 pt′ − log2 pt ) donde p′ /t′ es la frecuencia relativa después de añadir la condición y p/t es la frecuencia relativa antes de añadir la condición Las reglas aprendidas por el algoritmo de cobertura se ajustan perfectamente al conjunto de entrenamiento (peligro de sobreajuste) Podado de las reglas a posteriori Eliminar progresivamente condiciones hasta que no se produzca mejora Criterio probabilı́stico para decidir la mejora Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Insuficiencia expresiva de las reglas proposicionales Ejemplo: Aprender el concepto “ser hija de” a partir de una base de datos de relaciones entre miembros de una familia, con ejemplos positivos y negativos del concepto Dificultad de ser expresado en el modelo proposicional de pares atributo-valor Formalización del ejemplo en lógica 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: árboles y reglas de decisión Programación Lógica Inductiva Datos: Ejemplos positivos: E⊕ Ejemplos negativos: E⊖ Conocimiento base: T Lenguaje de hipótesis: 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 se cumplan S Suficiencia a posteriori: (∀e⊕ ∈ E⊕ )[T S H ⊢ e⊕ ] Consistencia a posteriori: (∀e⊖ ∈ E⊖ )[T H 6⊢ e⊖ ] Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Terminologı́a en PLI Se aprenden relaciones (o predicados) en lugar de pares atributo-valor Los ejemplos vienen dados por tuplas de constantes sobre los que la relación es cierta o falsa (eva,tomas) es un ejemplo positivo de la relación “ser hija de” y (tomas,ana) un ejemplo negativo Una regla cubre un ejemplo si el ejemplo satisface las condiciones 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 sólo si éste es positivo Objetivo: Encontrar un conjunto de reglas PROLOG que cubra todos los ejemplos positivos y ninguno negativo Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión El algoritmo FOIL Algoritmo FOIL FOIL(Ejemplos,Conocimiento-base,Predicado-objetivo) 1. Hacer Reglas-aprendidas igual a vacı́o 2. Hacer E igual a Ejemplos 3. 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 añadidos al cuerpo de la regla R 3.2.2 De todos ellos, sea L el MEJOR 3.2.2 Actualizar R añadiendo el literal L al cuerpo de R 3.3 Incluir R en Reglas-aprendidas 3.4 Actualizar E quitando los ejemplos cubiertos por R 4. Devolver Reglas-Aprendidas Debemos precisar GENERAR y MEJOR Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Generación de nuevos literales en FOIL Literales tomados de los predicados del conocimiento base: De la forma Q(x1 , . . . , xn ) donde Q es un predicado del conocimiento base y xi son variables de la regla que se quiere extender o nuevas (al menos una de las variables ha de estar en 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 la regla Negaciones de los anteriores Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Elección del mejor literal El criterio más usado: Dada una regla R y un literal L medimos la mejora producida en la cobertura al añadir un nuevo literal L a R para obtener una nueva regla R′ Se elige el que produzca mayor ganancia de información: ′ p t · (log2 p′p+n′ − log2 p+n ) donde R cubre p ejemplos positivos y n negativos, R′ cubre p′ ejemplos positivos y n′ negativos y t es el número de ejemplos positivos cubiertos por R que siguen cubriéndose en R′ Otros criterios posibles Frecuencia relativa Contenido de información Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Un ejemplo de cálculo de la ganancia de información 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 regla hija(A,B) :- progenitor(B,A) Positivos (2): (maria,ana) y (eva,tomas). Negativos (1): (tomas,ana). Positivos cubiertos por la regla original que siguen estando cubiertos por la regla extendida (2): (maria,ana), y (eva,tomas). Ganancia de información producida: 2 · (log2 (2/(2 + 1)) − log2 (2/(2 + 3))) = 1,474 Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Literales que introducen nuevas variables Al introducir nuevas variables: Las tuplas se extienden con las nuevas ligaduras Por tanto, el número de ejemplos cubiertos puede aumentar (tanto positivos como negativos) Precisión del valor t en la fórmula de ganancia de información: un ejemplo positivo se considera que sigue cubierto al extender la regla si existe alguna extensión del ejemplo que queda cubierto por la regla Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión 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 regla hija(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 estando cubiertos por la regla extendida (2): (maria,ana), y (eva,tomas). Ganancia de información producida: 2 · (log2 (4/(4 + 4)) − log2 (2/(2 + 3))) = 0,644 Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión 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 mismas hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) ::::::::::::- 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) 0.000 0.322 0.644 -0.263 0.000 0.000 0.322 0.644 0.000 1.474 0.000 0.000 Regla extendida: hija(A,B) :- progenitor(B,A) Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión 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 mismas hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) hija(A,B) ::::::::::::- progenitor(B,A), progenitor(B,A), progenitor(B,A), progenitor(B,A), progenitor(B,A), progenitor(B,A), progenitor(B,A), progenitor(B,A), progenitor(B,A), progenitor(B,A), progenitor(B,A), progenitor(B,A), 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) 0.000 0.585 1.170 -0.415 0.000 0.000 0.585 0.000 0.000 0.000 0.000 0.000 Regla extendida: hija(A,B) :- progenitor(B,A), mujer(A) Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Ejemplo Aprender la relación “ser abuelo de” a partir del siguiente ejemplo Isabel - Felipe Diana - Carlos Guillermo Harry Ana - Frank Pedro Inteligencia Artificial II 2012–2013 Andrés - Sara Eduardo Zara Beatriz Eugenia Aprendizaje inductivo: árboles y reglas de decisión Ejemplo Ejemplos positivos: (felipe,guillermo), (felipe,harry), (felipe,pedro), (felipe,zara), (felipe,beatriz), (felipe,eugenia) Ejemplos negativos: Todos los demás (Hipótesis del Mundo Cerrado) 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: árboles y reglas de decisión 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: árboles y reglas de decisión Ejemplo con FOIL Regla inicial: abuelo(A,B) :Posibles reglas y ganancia de las mismas abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) ::::::::::::::::- padre(C,A) padre(A,C) padre(C,B) padre(B,C) padre(A,A) padre(B,A) padre(A,B) padre(B,B) madre(C,A) madre(A,C) madre(C,B) madre(B,C) madre(A,A) madre(B,A) madre(A,B) madre(B,B) Inteligencia Artificial II 2012–2013 0.000 15.510 3.510 0.000 0.000 0.000 0.000 0.000 0.000 0.000 3.510 0.000 0.000 0.000 0.000 0.000 Aprendizaje inductivo: árboles y reglas de decisión Ejemplo con FOIL Regla inicial: abuelo(A,B) :Posibles reglas y ganancia de las mismas abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,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) 0.000 9.510 3.510 0.000 0.000 0.000 0.000 0.000 Regla extendida: abuelo(A,B) :- padre(A,C) Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión 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: árboles y reglas de decisión Ejemplo con FOIL Regla obtenida: abuelo(A,B) :- padre(A,C) Posibles reglas y ganancia de las mismas abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) ::::::::::::::::::- padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), Inteligencia Artificial II 2012–2013 progenitor(D,A) progenitor(A,D) progenitor(D,B) progenitor(B,D) progenitor(D,C) progenitor(C,D) progenitor(A,A) progenitor(B,A) progenitor(C,A) progenitor(A,B) progenitor(B,B) progenitor(C,B) progenitor(A,C) progenitor(B,C) progenitor(C,C) madre(D,A) madre(A,D) madre(D,B) 0.000 3.087 3.510 0.000 0.000 7.932 0.000 0.000 0.000 0.000 0.000 15.863 0.000 0.000 0.000 0.000 0.000 3.510 Aprendizaje inductivo: árboles y reglas de decisión Ejemplo con FOIL Regla obtenida: abuelo(A,B) :- padre(A,C) Posibles reglas y ganancia de las mismas abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) ::::::::::::::::::- padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), Inteligencia Artificial II 2012–2013 madre(B,D) madre(D,C) madre(C,D) madre(A,A) madre(B,A) madre(C,A) madre(A,B) madre(B,B) madre(C,B) madre(A,C) madre(B,C) madre(C,C) padre(D,A) padre(A,D) padre(D,B) padre(B,D) padre(D,C) padre(C,D) 0.000 0.000 7.932 0.000 0.000 0.000 0.000 0.000 5.288 0.000 0.000 0.000 0.000 3.087 3.510 0.000 0.000 7.932 Aprendizaje inductivo: árboles y reglas de decisión Ejemplo con FOIL Regla obtenida: abuelo(A,B) :- padre(A,C) Posibles reglas y ganancia de las mismas abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) abuelo(A,B) ::::::::::::::- padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,C), padre(A,A) padre(B,A) padre(C,A) padre(A,B) padre(B,B) padre(C,B) padre(A,C) padre(B,C) padre(C,C) abuelo(C,A) abuelo(C,B) abuelo(A,C) abuelo(B,C) abuelo(C,C) 0.000 10.000 0.000 0.000 0.000 10.575 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 Regla extendida: abuelo(A,B) :- padre(A,C), progenitor(C,B) Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Ejemplo de relación recursiva con FOIL Grafo 4 1 2 3 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: árboles y reglas de decisión Ejemplo de relación 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 mismas camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) ::::::::- -2.630 5.503 2.897 -1.578 0.000 0.000 5.896 0.000 enlace(C,A) enlace(A,C) enlace(C,B) enlace(B,C) enlace(A,A) enlace(B,A) enlace(A,B) enlace(B,B) Regla extendida: camino(A,B) :- enlace(A,B) No cubre ejemplos negativos Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Ejemplo de relación 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 mismas camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) ::::::::- enlace(C,A) enlace(A,C) enlace(C,B) enlace(B,C) enlace(A,A) enlace(B,A) enlace(A,B) enlace(B,B) -2.034 2.925 1.962 -1.017 0.000 0.000 0.000 0.000 Regla extendida: camino(A,B) :- enlace(A,C) Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Ejemplo de relación 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 mismas camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) :::::::::::- enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), Inteligencia Artificial II 2012–2013 camino(C,A) camino(C,B) camino(A,C) camino(B,C) camino(C,C) enlace(D,A) enlace(A,D) enlace(D,B) enlace(B,D) enlace(D,C) enlace(C,D) 0.000 7.427 0.000 0.000 0.000 -1.673 -2.573 2.427 -1.215 0.000 3.539 Aprendizaje inductivo: árboles y reglas de decisión Ejemplo de relación recursiva con FOIL Regla obtenida: camino(A,B) :- enlace(A,C) Posibles reglas y ganancia de las mismas camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) camino(A,B) :::::::::- enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,C), enlace(A,A) enlace(B,A) enlace(C,A) enlace(A,B) enlace(B,B) enlace(C,B) enlace(A,C) enlace(B,C) enlace(C,C) 0.000 0.000 0.000 0.000 0.000 4.456 0.000 0.000 0.000 Regla extendida: camino(A,B) :- enlace(A,C), camino(C,B) No cubre ejemplos negativos Inteligencia Artificial II 2012–2013 Aprendizaje inductivo: árboles y reglas de decisión Ejemplo de relación recursiva con FOIL Grafo 4 1 2 3 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: árboles y reglas de decisión 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 modern approach) (Second edition) (Prentice Hall, 2003) Cap. 18: “Learning from observations” Cap. 19: “Knowledge in learning” Russell, S. y Norvig, P. Inteligencia artificial (Un enfoque moderno) (Tercera edición) (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: árboles y reglas de decisión