La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


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

1 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

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

3 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

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

5 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

6 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

7 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._,_,_,_,_).

8 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

9 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).

10 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

11 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

12 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

13 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

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

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

16 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

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

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

19 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

20 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).

21 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).

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

23 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

24 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).

25 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

26 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

27 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

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

29 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,3.430400,-3.116000,0.048900). atm(m1,a2,c,2,6.033400,-1.776000,0.679500). atm(m1,a3,o,2,7.026500,-2.042500,0.023200).... 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:

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

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


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

Presentaciones similares


Anuncios Google