Tema 13: Introducción a la Programación Lógica Inductiva

Documentos relacionados
Tema AA-4: Sesgo inductivo

Tema 7: Sesgo inductivo

Aprendizaje de reglas: Programación Lógica Inductiva

Tema 8: Árboles de decisión

Tema 4: Aprendizaje de conceptos

Tema 4: Introducción al Aprendizaje Automático

Primera aproximación al aprendizaje automático.

TÓPICOS SELECTOS DE OTROS CURSOS

Tema 3: Demostraciones proposicionales

Tema 7: Aprendizaje de árboles de decisión

Secretaría de Docencia Dirección de Estudios Profesionales

Programa(s) Educativo(s): Clave de la materia: Semestre:

Fundamentos de Inteligencia Artificial

Índice general. Introducción... 23

Aprendizaje Computacional. Eduardo Morales y Jesús González

Tema 8: Aprendizaje de reglas

Tema 4: Redes semánticas y marcos

Tema 3: Introducción a Prolog

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

Inteligencia Artificial e Ingeniería del Conocimiento

Tema 14: ILP: Sistemas y aplicaciones

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES MINERÍA DE DATOS

Lingüística computacional

Aprendizaje Automático Segundo Cuatrimestre de Árboles de Decisión

Universidad Autónoma del Estado de México. La minería de datos en el proceso de KDD ( Knowledge Discovery and Data Mining)

Métodos de Inteligencia Artificial

PROYECTO DOCENTE ASIGNATURA: "Aprendizaje Automático"

Tema 2: Lógica proposicional: Sintaxis y semántica

OPTATIVA I: MINERIA DE DATOS

Extracción Automática de Conocimiento en Bases de Datos e Ingeniería del Software

1.-DATOS DE LA ASIGNATURA

Tema 2: Equivalencias y formas normales

Inteligencia en Redes de Comunicaciones. Razonamiento lógico. Julio Villena Román.

Proyecto: Programación Declarativa: Lenguaje Prolog

Tema 1: Introducción a la Inteligencia Artificial

Tema 2: Inteligencia computacional y conocimiento

Inteligencia Artificial e Ingeniería del Conocimiento

PROFESIONALES [PRESENCIAL]

Tema 4: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla

4 horas. 96 horas. Competencias Especificas: Construye algoritmos analizando su complejidad mediante técnicas y métodos documentados.

Aprendizaje Automatizado

Planificaciones Inteligencia Artificial. Docente responsable: CABRERA JOSE LUIS. 1 de 5

Asignaturas antecedentes y subsecuentes

Tema 1: Sintaxis y semántica de la lógica proposicional

Árboles de Decisión Árboles de Sintaxis

Tema 2: Deducción natural proposicional

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN

Tema 10: Conceptos Metalógicos

Tema 3: Sistema inicial de representación y razonamiento

Identificación de variables asociadas al éxito académico en Estudiantes de la Facultad de Informática Mazatlán

UNIVERSIDAD LIBRE PROGRAMAS ANALÍTICOS SECCIONAL: PEREIRA FACULTAD: INGENIERIAS. PROGRAMA ACADÉMICO: Ingeniería de Sistemas

UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE INGENIERÍAS MAESTRÍA EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN APRENDIZAJE DE MÁQUINA

Aprendizaje Automatizado

Buenas prácticas para la implementación de herramientas de Ciencia de Datos Leonardo Alfonso Ramos Corona Facultad de Geografía, UAEM.

Indique la respuesta correcta (d=ninguna de las anteriores, e=todas las anteriores)

Desde hace algún tiempo los problemas más recurrentes con los que se enfrenta la industria

PROYECTO DOCENTE ASIGNATURA: "Inteligencia Artificial"

FACULTAD DE CIENCIAS EXACTAS, INGENIERÍA Y AGRIMENSURA U.N.R.

TRABAJO PRÁCTICO III: Minería de datos. PARTE 01: Arboles de decisión (J48)

Seminario de Inteligencia Artificial Curso Tema 7: Abducción. Dpto. de Ciencias de la Computación e Inteligencia Artificial

PROYECTO DOCENTE ASIGNATURA: "Inteligencia Artificial"

Tema 1: Agentes inteligentes: Representación y razonamiento

José Hernández Orallo Mª. José Ramírez Quintana

GUÍA DOCENTE. Ingeniería Informática en Sistemas de Información. Ingeniería del Software, Sistemas de Información y Sistemas Inteligentes

FUNDAMENTOS Y APLICACIONES DE APRENDIZAJE AUTOMÁTICO

PROGRAMA ANALÍTICO DE ASIGNATURA

ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA GRADO DE INGENIERÍA INFORMÁTICA CURSO 2013/14 ASIGNATURA: INTRODUCCIÓN A LOS MODELOS COMPUTACIONALES

Lógica y Programación

Tema 2: Un poco de Historia

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre:

Métodos de Inteligencia Artificial

Lógica informática ( )

ASIGNATURA: INTELIGENCIA ARTIFICIAL

Guía docente de la asignatura

Lógica Proposicional IIC1253. IIC1253 Lógica Proposicional 1/64

Lógica y Programación

CAPITULO I... 1 INTRODUCCION ANTECEDENTES Y ORIGENES DE LA ROBOTICA LEYES PARA LA ROBOTICA... 4

Tema 2: Un poco de Historia

SÍLABO DE SISTEMAS EXPERTOS

Lógica informática ( )

Tema 2: Un poco de Historia

Tema 8: Teorema de Herbrand. Tableros en lógica de primer orden

Módulo Minería de Datos Diplomado. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS

Razonamiento automático

Proyecto 6. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial.

Aprendizaje de conceptos. El aprendizaje como generalización

Datos Generales. 1. Nombre de la Asignatura Estructura de Datos Avanzados y Minería de Datos. 2. Nivel de formación Doctoral

Departamento Ingeniería en Sistemas de Información

Aprendizaje Automático

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 11 -

Lógica y Programación

Inteligencia en Redes de Comunicaciones - 04 Razonamiento lógico

Inteligencia Artificial

UNIVERSIDAD NACIONAL DE LA MATANZA CONTENIDOS MINIMOS (DERIVADOS DEL PLAN DE ESTUDIOS)

Transcripción:

Razonamiento Automático Curso 2000 2001 Tema 13: Introducción a la Programación Lógica Inductiva José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.1

Introducción Programación Lógica Inductiva Aprendizaje Automático Formación de hipótesis a partir de observaciones Síntesis de nuevos conocimientos a partir de la experiencia Programación Lógica Representación formal Orientación semántica Técnicas RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.2

Desarrollo reciente Los sistemas de ILP han sido usados con éxito en una gran variedad de dominios, incluyendo Ecología Ingeniería Biología molecular Procesamiento del lenguaje natural Control del tráfico... RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.3

Aprendizaje Automático El Aprendizaje Automático estudia cómo construir programas que mejoren automáticamente con la experiencia. Recientes avances en la teoría y los algoritmos. Crecimiento desbordante de datos en línea (on line). Se dispone de máquinas suficientemente potentes. Interés por parte de la industria. RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.4

Disciplinas relacionadas Inteligencia Artificial Métodos bayesianos Teoría de la complejidad Teoría de control Teoría de la información Filosofía Psicología y neurobiología Estadística... RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.5

Aprendizaje de conceptos Distintas aproximaciones: Un concepto no es más que el conjunto de todas sus instancias. El aprendizaje de conceptos estudia cómo conseguir la definición de una categoría a partir de ejemplos positivos y negativos de esa categoría. El aprendizaje de conceptos estudia cómo inferir automáticamente una función general sobre el conjunto de ejemplos que tome valores booleanos y caracterice los ejemplos conocidos. f : Ejemplos {0, 1} RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.6

Un ejemplo Cielo Temperatura Humedad Viento Agua Previsión Hacer deporte Soleado Templada Alta Débil Fría Sigue igual No Soleado Templada Normal Débil Fría Sigue igual Sí Nublado Templada Normal Débil Fría Sigue igual Sí Lluvioso Templada Normal Fuerte Templada Cambio No Lluvioso Templada Normal Débil Fría Cambio Sí Cuándo hacemos deporte? Podemos definir el concepto Hacer Deporte? RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.7

El problema de la representación (I) Pares atributo valor (Lógica proposicional) Hiṕotesis: Disyunción de conjunciones de pares atributo valor Como conjunto de reglas (Cielo=Soleado Humedad=Normal) (Cielo=Nublado) (Cielo=Lluvioso Viento=Débil) Si Cielo=Soleado y Humedad=Normal entonces Hacer deporte Si Cielo=Nublado entonces Hacer deporte Si Cielo=Lluvioso y Viento=Débil entonces Hacer deporte RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.8

El problema de la representación (II) Como árbol de decisión Cielo Soleado Nublado Lluvioso Humedad Si Viento Alta Normal Fuerte Debil No Si No Si RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.9

Limitaciones Limitaciones: Una representación formal limitada (lenguaje de pares atributo valor equivalente al de la lógica proposicional) Dificultad del manejo del conocimiento base RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.10

Programación Lógica Inductiva (I) Dados Dos conjuntos de átomos cerrados, E (ejemplos positivos) y E (ejemplos negativos) Una teoría T como conocimiento base Un conjunto L de fórmulas de primer orden tales que cumplan: Necesidad a priori: e E Consistencia a priori: e E T e T e RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.11

Programación Lógica Inductiva (II) Encontrar un conjunto finito H L tal que se cumplan Suficiencia a posteriori: e E T H e Consistencia a posteriori: e E T H e RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.12

Ejemplos de ILP (I) Representación estándar: Ejemplos: Atomos cerrados de la relación hija(x,y). Conocimiento base: Definiciones de las relaciones progenitor(x,y) y mujer(x) (Atomos cerrados o definiciones de predicados). Conjunto de entrenamiento hija(maria,ana) hija(eva,tomas) hija(tomas,ana) hija(eva,ana) Conocimniento base progenitor(ana,maria) mujer(ana) progenitor(tomas,eva) mujer(maria) progenitor(ana,tomas) mujer(eva) Hipótesis inducida: hija(x,y) mujer(x), progenitor(y,x) RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.13

Ejemplos de ILP (II) 0 3 4 6 8 1 2 5 7 H 0 = { camino(x,y) enlace(x,y) camino(x,y) enlace(x,z),camino(z,y) RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.14

Ejemplos de ILP (III) E = {par(0), par(s(s(0))), par(s(s(s(s(0))))),...} E = {par(s(0)), par(s(s(s(0)))), par(s(s(s(s(s(0)))))),...} Hipótesis: H 0 = { par(0) par(s(s(x))) par(x) RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.15

Métodos (I) Ascendente: Comenzamos por una hipótesis demasiado específica, i.e., que no cubre todos los ejemplos positivos y por tanto, debe ser generalizada. Técnicas: Resolución inversa (CIGOL) Menor generalización (Golem)... RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.16

Resolución C 1 q A C p A, B C 2 p q, B RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.17

Menor generalización (I) Ejemplo 1: Ejemplo 2: expr(una,mujer) expr(una,niña) } = expr(una,x) expr(el,hombre) masc(el), masc(hombre) expr(un,niño) masc(un), masc(niño) } = expr(x,y) masc(x), masc(y) RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.18

Menor generalización (II) Ejemplo 3: T O + O masc(el) fem(la) expr(el,niño) expr(el,mujer) masc(un) fem(una) expr(una,mujer) expr(una,niño) masc(niño) fem(niña) expr(el,hombre) expr(un,niña) masc(hombre) fem(mujer) H 0 = { expr(x,y) masc(x), masc(y) expr(x,y) fem(x), fem(y) RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.19

Métodos (II) Descendente: Comenzamos por una hipótesis demasiado general, i.e., que cubre alguno de los ejemplos negativos y por tanto, debe ser especializada. Técnicas: Inferencia de modelos (MIS) Método extensional (Foil)... RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.20

Inferencia de modelos (I) Infiere una axiomatización finita de un modelo desconocido M a partir de átomos cerrados verdaderos o falsos en M Algoritmo: P El programa cuya única cláusula es la cláusula vacía repite mientras P no sea consistente con el conjunto de entrenamiento hacer Si P e y e es un ejemplo negativo entonces hacer P más específica Si P e y e es un ejemplo positivo entonces hacer P más general para siempre Excepción: Si comprobar P e requiere un número de pasos de resolución excesivo eliminar selectivamente una cláusula de P RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.21

Inferencia de modelos (II) Supongamos que tenemos los ejemplos elemento(2,[4,3,2]) elemento(2,[2,3]) elemento(2,[4]) La hipótesis actual es { elemento(x,[y Z]) Y=2 H0 = elemento(x,[y Z]) elemento(x,z) Si ahora consideramos un nuevo ejemplo elemento(3,[4,2]) Encontramos que la cláusula debe ser eliminada elemento(x,[y Z]) Y=2 RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.22

KDD El Descubrimiento de conocimiento en bases de datos es el proceso de identificar en los datos estructuras válidas, novedosas, potencialmente útiles y en última instancia comprensibles (U. Fayyad) RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.23

KDD: Fases Fases de un proceso KDD Dominio de la aplicación Conocimiento de la aplicación Objetivos del proceso Creación de la base de datos Preproceso y limpieza de datos Reducción de variables y datos Elección del modelo resultante: Resumen, clasificación, regresión,... Minería de datos (Aprendizaje, ILP,...) Interpretación Uso del conocimiento adquirido RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.24

ILP y KDD ILP en KDD: Prodeso de extracción de conocimiento una vez procesados los datos. RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.25

Bibliografía Bergadano, F. y Gunetti, D. Inductive Logic Programming: From Machine Learning to Software Engineering The MIT Press, 1996 De Raedt, L. (Ed.) Advances in Inductive Logic Programming IOS Press, 1996 Flach, P. Simply Logical John Wiley & Sons Ltd., 1994 Lavrač, N. y Džeroski, S. Inductive Logic Programming Techniques and Applications Ellis Horwood Ltd., 1994 Mitchell, T. M. Machine Learning McGraw Hill, 1997 Muggleton, S. (Ed.) Inductive Logic Programming Academic Press, 1992 Nienhuys Cheng, S-H. y De Wolf, R. Foundations of Inductive Logic Programming Springer Verlag, 1997 Shapiro, E.Y. Algorithmic program debugging MIT Press, 1983 RA 2000 01 CcIa Introducción a la Programación Lógica Inductiva 13.26