Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: Aprendizaje inductivo de conceptos Inducción –Razonamiento desde propiedades.

Slides:



Advertisements
Presentaciones similares
SISTEMAS DE INFORMACIÓN I
Advertisements

Unidad I. Conceptos Básicos y Estadística Descriptiva
IBD Plan 90 y 2003 Clase 11.
IBD Plan 90 y 2003 Clase 10.
Antonella Ruffa Ahumada Irene Morales Jiménez
Introducción al Teorema de Gödel Eduardo Alejandro Barrio UBA - CONICET 2do Cuatrimestre de 2009 Eduardo Alejandro Barrio UBA.
Compiladores e intérpretes
TECNICATURA UNIVERSITARIA EN INFORMATICA
Abstracción de Datos Funciones.
Razonamiento Matemático
La medición en Sociología
Conceptos Hoja de cálculo. Concepto.
ALGEBRA RELACIONAL Y CALCULO RELACIONAL CON REFERENCIA A BASE DE DATOS
¿QUÉ SON LAS BASES DE DATOS?
Estructuras de Datos (ARRAYS)
Sistemas de Razonamiento Lógico
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Lógica Ing. Alfonso Vicente, PMP
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Los problemas semánticos de las expresiones del Lenguaje Proposicional
Base de datos.
CAPITULO 2 La Representación del Conocimiento
Sindy Carolina Asprilla
BASE DE DATOS I. Tipos de Bases de Datos  Base de Datos de Red Colección de registros los cuales están conectados entre si por medio de enlaces. “Un.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
PROGRAMACIÓN LÓGICA.
Estadística Descriptiva Tema I. Conceptos Básicos
Técnicas de Calidad en el Software
Academia de Informática
Inteligencia artificial
La investigación es el proceso por el cual se descubren conocimientos nuevos.
BASE DE DATOS BY: Julián Villar Vázquez.
Aprendizaje Automatizado Ár boles de Clasificación.
UNIVERSIDAD NACIONAL DEL NORDESTE Teoría del Diseño II (Metodología)
LOGICA DE ENUNCIADO LOGICA DE PREDICADO
5.3 APROXIMACIONES AL DISEÑO
Campus Estado de México—Raúl Monroy Resolución, la regla de inferencia y el cálculo Raúl Monroy.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Diseño de una Base de Datos
Lógica de proposiciones, deducción natural
Simular: Representar una cosa, fingiendo o imitando lo que no es.
Lógica de enunciado La lógica de enunciados o de proposiciones es el nivel más básico de análisis lógico y descansa exclusivamente en las conectivas.
Aprendizaje en Árboles de Decisión
EL MÉTODO CIENTÍFICO.
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
Teoría y Métodos de la Ingeniería de Software
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Algoritmos Genéticos en Aprendizaje Clase 3 de Computación Evolutiva.
Inteligencia Artificial
INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
Representación de Algoritmos
Facultad de Ingeniería
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
PRESENTACIÓN Este trabajo se desarrolla sobre el tema de competencias, y basado en el Marco de Fundamentacion Conceptual Especificaciones de la Pruebas.
Presente un cuestionario con los aspectos mas importantes sobre los
Tomando decisiones sobre las unidades de análisis
Abril CV11 MATEMÁTICAS DISCRETAS MARTES 20:30 – 22:00 MIERCOLES 17:00 – 19:00 JUEVES 16:30 – 17:30 M. en C. José del Carmen.
Hipótesis.
Universidad Abierta y a Distancia de México UnADM
TIPOS DE DATOS ABSTRACTOS
Conceptos Básicos y Estadística Descriptiva
Universidad Nacional Autónoma de Honduras En el Valle de Sula Curso: Investigación Científica Para: Carrera de Medicina Facilitadora: Dra. Elba Morán.
BLOQUE I. LA CARACTERIZACIÓN DE LOS MATERIALES TEMA 1. LA QUÍMICA, LA TECNOLOGÍA Y TÚ 1.1. Características del conocimiento científico: el caso de la química.

NOMBRE: Paula Andrea Bedoya Rojas. GRADO: 7.3. Institución Educativa Debora Arango P.
NOMBRE: TATIANA APELLIDO: TANGARIFE POSADA GRADO: 7°3 Inteligencia artificial.
Fundamentos de Ingeniería de Software
Introducción Base de datos Ing. Linda K. Masias M. Base de datos (MySQL)
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
UNIDAD 2: PLANEAMIENTO DEL PROBLEMA DE LA INVESTIGACION CIENTIFICA.
Transcripción de la presentación:

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: Aprendizaje inductivo de conceptos Inducción –Razonamiento desde propiedades de individuos a propiedades de conjuntos de individuos Concepto –U- cjto universal de objetos El concepto C es un subconjunto de objetos de U Aprendizaje Inductivo de conceptos (reconocimiento de objetos en C) –Dadas instancias de C –Encontrar un procedimiento que nos diga cuando x  C, para cada x  U

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: aprendiendo descripciones de atributos Tarea de aprendizaje –Dado un cjto de ejemplos de prueba (training examples) -tuplas de valores de atributos etiquetados con un nombre de clase- A1 A2 A3 Clase ejemplo 1 v 1,1 v 1,2 v 1,3 C 1 ejemplo 2 v 2,1 v 2,2 v 2,3 C 2 … –Encontrar un cjto de reglas (una hipótesis) como una función de valores de atributo que es consistente y completo w.r.t. el conjunto de ejemplos de prueba Clase = C n if (A i = v i,k ) and (A j = v j,l ) and...

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: play tennis (ejemplos de prueba) Outlook HumidityWind Yes No Sunny Rainy Overcast High NormalStrong Weak

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: ILP Motivación para ILP (visión ML) –Usar un formalismo de representación más expresivo que la lógica proposicional –Usar conocimiento de base en el aprendizaje (fundamental en AI)

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: motivación Motivación para ILP (visión KDD) –Datos almacenados en bases de datos relacionales Relaciones simples  aprendizaje proposicional –ejemplo: tupla de valores de un nº fijo de atributos (uno es la clase) –cjto de ejemplos: tabla Relaciones múltiples  ILP –ejemplo: cjto de hechos lógicos –cjto de ejemplos: cjto. de tablas –Complejidad de los problemas Datos temporales (medicina, análisis tráfico, manejo de redes): representando secuencias de tiempo Datos estructurados (bioquímica, ingeniería de protenias, diseño de drogas): representando moléculas químicas y sus propiedades

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: motivación Tabla1: Tabla básica de clientes Tabla2: Tabla de clientes para análisis

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: motivación Tabla de clientes representada como hechos Prolog La forma de los hechos Prolog: customer(Id,Zip,Sex,SoSt,In,Age,Club,Re) Representación de los hechos básicos de la Tabla 2: customer(3478,34667,m,si,60-70,32,me,nr). customer(3479,43666,f,ma,80-90,45,nm,re). ¿Cómo expresamos una propiedad? customer(_,_,f._,_,_,_,_).

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: motivación Tabla 3: Tabla de clientes con información sobre pedidos y almacenes Tabla 4: Tabla de clientes con información varios pedidos Tabla 5: Tabla de clientes con resumen de atributos

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: motivación Representación relacional de clientes, pedidos y almacenes good_customer(C): customer(C,_,f,_,_,_,_,_), order(C,_,_,_,credit).

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introdución: terminología Bases de datos –nombre de relación p –atributo de una relación p –tupla - una fila en la tabla relacional –relación p - una tabla relacional (un cjto de tuplas) –hipótesis: una regla o un árbol de decisión Programación Lógica –símbolo de predicado p –argumento de un predicao p –hecho básico p(a1,…,an) –definición de un predicado p - un cjto de hechos básicos –hipótesis: un cjto de cláusulas

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción:Programación Lógica Inductiva ILP = Aprendizaje Inductivo de Conceptos (I)  Programación Lógica (LP) Tareas ILP: - Inducción programas lógicos  Síntesis de programas InducciónLógica Programación

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción:Programación Lógica Inductiva ILP = Aprendizaje Inductivo de Conceptos (I)  Programación Lógica (LP) Tareas ILP: - Inducción programas lógicos  Síntesis de programas - Generalización de observaciones específicas en leyes generales  Data Minig (DM) Knowledge discovery (KDD) InducciónLógica Programación DM, KDD

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción:Programación Lógica Inductiva ILP = Aprendizaje Inductivo de Conceptos (I)  Programación Lógica (LP) Características: los ejemplos y la teoría de base son cláusulas. La teoría aprendida es un cjto de cláusulas. Ventajas ILP: -la lógica de primer orden es un campo matemático ampliamente desarrollado. -proporciona una representación uniforme y expresiva. InducciónLógica Programación

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: aprendizaje inductivo de conceptos Inducción predictiva H

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: aprendizaje inductivo de conceptos Inducción predictiva     - H

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: aprendizaje inductivo de conceptos Inducción predictiva aprender la definición de un concepto H Inducción descriptiva aprender las relaciones entre conceptos H

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: aprendizaje inductivo de conceptos (predictivo) Dado: –Un cjto de observaciones ejemplos positivos E + ejemplos negativos E - –conocimiento de base B –lenguaje de hipótesis L H –relación de cobertura Encontrar: –Una hipótesis H  L H tal que (dado B) H cubre todos los ejemplos positivos y negativos En lógica: –  e  E + : B  H  e (H es completo) –  e  E - : B  H  /  e (H es consistente) En ILP, E son hechos básicos, B y H cjtos de cláusulas definidas H

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: aprendizaje inductivo de conceptos (predictivo) Dado: –Un cjto de observaciones ejemplos positivos E + ejemplos negativos E - –conocimiento de base B –lenguaje de hipótesis L H –relación de cobertura –criterio de calidad Encontrar: –Una hipótesis H  L H tal que (dado B) H es óptima w.r.t. Algún criterio de calidad (p.ej. maximizar la precisión predictiva) H

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: aprendizaje inductivo de conceptos (descriptivo) Dado: –Un cjto de observaciones (ejemplos positivos E + ) –conocimiento de base B –lenguaje de hipótesis L H –relación de cobertura Encontrar: –Una hipótesis (la más específica) H  L H tal que (dado B) H cubre todos los ejemplos positivos En lógica, encontrar H tal que  c  H, c es cierto en algún modelo preferido de B  E + (p. ej. el modelo mínimo de Herbrand) En ILP, E son hechos básicos, B y H cjtos de cláusulas generales H

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: ejemplo de programación lógica E + = { sort([2,1,3],[1,2,3]) } E - = { sort([2,1],[1]),sort([3,1,2],[2,1,3]) } B contiene las definiciones permutation/2 y sorted/1 ILP predictivo sort(X,Y)  permutation(X,Y), sorted(Y). ILP descriptivo sorted(Y)  sort(X,Y). permutation(X,Y)  sort(X,Y). sorted(X)  sort(X,X).

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: ejemplo de descubrimiento de conocimiento E + = { daughter(mary,ann),daughter(eve,tom) } E - = { daughter(tom,ann),daughter(eve,ann) } B = { mother(ann,mary),mother(ann,tom),father(tom,eve), father(tom,ian),female(ann),female(mary),female(eve), male(pat),male(tom),parent(X,Y)  mother(X,Y), parent(X,Y)  father(X,Y)} ILP predictivo daughter(X,Y)  female(X),parent(Y,X). o un cjto de cláusulas definidas daughter(X,Y)  female(X),mother(Y,X). daughter(X,Y)  female(X),father(Y,X). ILP descriptivo  daughter(X,Y),mother(X,Y). female(X)  daughter(X,Y). mother(X,Y);father(X,Y)  parent(X,Y).

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: definición empírica de ILP Dado: –Un cjto de ejemplos E de un predicado objeto p Hechos básicos verdaderos E + Hechos básicos falsos E - –Un conocimiento de base B que define predicados q i  p –Un lenguaje de hipótesis L, un subcjto. de cláusulas definidas Encontrar: –Una hipótesis H que defina el predicado p, expresado en L como un cjto. de cláusulas de la forma p(X 1,...,X n )  L 1,...,L i,...,L m tal que H es completo:  e  E + : B  H  e (suficiencia a posteriori) H es consistente:  e  E - : B  H  /  e (satisfacibilidad a posteriori)  e  E + : B  /  e (necesidad a priori)  e  E - : B  /  e (satisfacibilidad a priori)

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: un problema ILP simple El problema –Dados: ejemplos de la relación daughter(X,Y) conocimiento de base –definiciones (extensionales) de las relaciones parent(X,Y) y female(X) –Encontrar: la definición de la relación daughter daughter(X,Y)  female(X),parent(Y,X). Training examplesBackground Knowledge daughter(mary,ann).  parent(ann,mary).female(ann). daughter(eve,tom).  parent(ann,tom).female(mary). daughter(tom,ann).  parent(tom,eve).female(eve). daughter(eve,ann).  parent(tom,ian). ann marytom eveian f f f

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: un problema ILP simple –Representación ILP estándar ejemplos: hechos básicos de la relación daughter conocimiento de base: hechos básicos que definen las relaciones parent(X,Y) y female(X) Training examplesBackground Knowledge daughter(mary,ann).  parent(ann,mary).female(ann). daughter(eve,tom).  parent(ann,tom).female(mary). daughter(tom,ann).  parent(tom,eve).female(eve). daughter(eve,ann).  parent(tom,ian).

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: un problema ILP simple –Representación como una base de datos relacional –Ejemplos como implicaciones: daughter(mary,ann)  female(mary),female(ann), parent(ann,mary),parent(ann,tom). –Hipótesis inducida: daughter(X,Y)  female(X),parent(Y,X). dau ghter DP maryann evetom

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: ejemplo Bongard Casificación de ejemplos basada en su estructura pos neg

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: ejemplo Bongard (cont.) Representación en lógica de primer orden contains(1, o1). contains(1, o2). triangle(o1). points(o1, down). circle(o2). pos(1). pos(X) :- contains(X,Y), triangle(Y), points(Y, down). el uso de variables proporciona un adecuado nivel de abstracción para la hipótesis permitido cualquier número de objetos Dibujo 1

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: un ejemplo del mundo real Identificar subestructuras en las moléculas que hacen que se adhieran a otras moléculas La descripción de las moléculas es la lista de sus átomos, relaciones,… El conocimiento de base define el cómputo de la distancia euclidea, …

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: un ejemplo del mundo real active(A) :- zincsite(A,B), hacc(A,C), hacc(A,D), hacc(A,E), dist(A,C,B,4.891,0.750), dist(A,C,D,3.753,0.750), dist(A, C,E,3.114,0.750), dist(A,D,B,8.475,0.750), dist(A,D,E, 2.133,0.750), dist(A,E,B,7.899,0.750).... hacc(M,A):- atm(M,A,o,2,_,_,_). hacc(M,A):- atm(M,A,o,3,_,_,_). hacc(M,A):- atm(M,A,s,2,_,_,_). hacc(M,A):- atm(M,A,n,ar,_,_,_). zincsite(M,A):- atm(M,A,du,_,_,_,_). hdonor(M,A) :- atm(M,A,h,_,_,_,_), not(carbon_bond(M,A)), !.... atm(m1,a1,o,2, , , ). atm(m1,a2,c,2, , , ). atm(m1,a3,o,2, , , ).... bond(m1,a2,a3,2). bond(m1,a5,a6,1). bond(m1,a2,a4,1). bond(m1,a6,a7,du).... Descripción de las moléculas: Conocimiento de Base: -> Hipótesis:

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: un ejemplo del mundo real Algunos ejemplos de moléculas:

Diciembre 2001Fundamentos lógicos de la Ingeniería del Software 1. Introducción: conclusión Para ciertos tipos de aprendizaje... –algunas veces llamado aprendizaje estructural: ejemplos que tienen una estructura compleja (no simplemente un vector de valores) o aprendizaje relacional... es necesario un formalismo de representación para hipótesis y datos más expresivo la lógica de primer orden proporciona esta expresividad -> estudiar la inducción en lógica de primer orden.