Sunteți pe pagina 1din 31

1.

Introduccin: Aprendizaje inductivo


de conceptos
Induccin
Razonamiento desde propiedades de induccin
individuos a propiedades de OBSERVACIONES CONCEPTO
conjuntos de individuos
deduccin
Concepto
descr.
U- cjto universal de objetos
lenguaje
El concepto C es un subconjunto de
objetos de U
aprendizaje
Aprendizaje Inductivo de
conceptos (reconocimiento de objetos EJEMPLOS TEORA
en C) explicacin
Dadas instancias de C
Encontrar un procedimiento que nos
diga cuando x C, para cada x U

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: 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 v1,1 v1,2 v1,3 C1
ejemplo 2 v2,1 v2,2 v2,3 C2

Encontrar un cjto de reglas (una hiptesis) como una funcin de
valores de atributo que es consistente y completo w.r.t. el
conjunto de ejemplos de prueba
Clase = Cn if (Ai = vi,k) and (Aj = vj,l) and ...

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: play tennis (ejemplos
de prueba)
Day Outl ook Te mpera ture Humi dity Wi nd Pla yTenni s
D1 Sun ny Hot High We ak No
D2 Sun ny Hot High Stro ng No
D3 Overca st Hot High We ak Ye s
D4 Rain Mild High We ak Ye s
D5 Rain Cool Norma l We ak No
D6 Rain Cool Norma l Stro ng Ye s
D7 Overca st Cool Norma l Stro ng No
D8 Sun ny Mild High We ak Ye s
D9 Sun ny Cool Norma l We ak Ye s
D10 Rain Mild Norma l We ak Ye s
D11 Sun ny Mild Norma l Stro ng Ye s
D12 Overca st Mild High We ak Ye s
D13 Overca st Hot Norma l We ak Ye s
D14 Rain Mild High Stro ng No

Outlook
Sunny Rainy
Overcast
Humidity Yes Wind
Normal Strong Weak
High

No Yes No Yes

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: ILP

Motivacin para ILP (visin ML)


Usar un formalismo de representacin ms expresivo que la
lgica proposicional
Usar conocimiento de base en el aprendizaje (fundamental en
AI)

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: motivacin

Motivacin para ILP (visin 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 mltiples ILP
ejemplo: cjto de hechos lgicos
cjto de ejemplos: cjto. de tablas
Complejidad de los problemas
Datos temporales (medicina, anlisis trfico, manejo de redes):
representando secuencias de tiempo
Datos estructurados (bioqumica, ingeniera de protenias, diseo de
drogas): representando molculas qumicas y sus propiedades

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: motivacin
ID Name First Nam e City Zip Sex Social Status Incom e Age Club Status Response

3478 Smith John 38, Lake Dr. Sam pleton male single i60-70k 32 member no response

3479 Doe Jane 45, Sea Ct. Invention 43666 female mar-red I80-90k non member res pons e

Tabla1: Tabla bsica de clientes


ID Zip Sex Soc St Incom e Age Club Resp

3478 34667 m si 60-70 32 me nr
3479 43666 f ma 80-90 45 nm re

Tabla2: Tabla de clientes para anlisis

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: motivacin

Tabla de clientes representada como hechos Prolog


La forma de los hechos Prolog:
customer(Id,Zip,Sex,SoSt,In,Age,Club,Re)

Representacin de los hechos bsicos de la Tabla 2:


customer(3478,34667,m,si,60-70,32,me,nr).
customer(3479,43666,f,ma,80-90,45,nm,re).

Cmo expresamos una propiedad?


customer(_,_,f._,_,_,_,_).

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: motivacin
ID Zip Sex So st Income Age Club Resp Delivery Paymt Store S Store Type Store Loc
3478 34667 m si 60-70 32 me nr regular cash small frnhs city
3479 43666 f ma 80-90 45 nm re express credit large indep rural
Tabla 3: Tabla de clientes con informacin sobre pedidos y almacenes
ID Zip Sex So st Incom e Age Club Resp Delivery Paymt Store S Store Type Store Loc
3478 34667 m si 60-70 32 me nr regular cash sm all frnhs city
3478 34667 m si 60-70 32 me nr express check sm all frnhs city
3478 34667 m si 60-70 32 me nr regular check large indep rural
3479 43666 f ma 80-90 45 nm re express credit large indep rural
3479 43666 f ma 80-90 45 nm re regular credit sm all frnhs city

Tabla 4: Tabla de clientes con informacin varios pedidos


ID Zi p Sex So st In com e Ag e Club Resp N Order N Sto re
34 78 34 667 m si 60 -70 32 me nr 3 2
34 79 43 666 f ma 80 -90 45 nm re 2 2
Tabla 5: Tabla de clientes con resumen de atributos
Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software
1. Introduccin: motivacin
customer
ID Zip Sex So st Income Age Club Resp Representacin relacional
de clientes, pedidos y
3478 34667 m si 60-70 32 me nr almacenes
3479 43666 f ma 80-90 45 nm re

order
Customer ID Order ID Store ID Delivery Paymt

3478 2140267 12 regular cash
3478 3446778 12 express check
3478 4728386 17 regular check
store 3479 3233444 17 express credit
Store ID Size Type Location 3479 3475886 12 regular credit

12 small franchise city
17 large indep rural good_customer(C): customer(C,_,f,_,_,_,_,_),
order(C,_,_,_,credit).

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introducin: terminologa

Bases de datos Programacin Lgica


nombre de relacin p smbolo de predicado p
atributo de una relacin p argumento de un predicao p
tupla <a1,,an> - una fila en hecho bsico p(a1,,an)
la tabla relacional
relacin p - una tabla definicin de un predicado p -
relacional (un cjto de tuplas) un cjto de hechos bsicos

hiptesis: una regla o un rbol hiptesis: un cjto de clusulas


de decisin

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin:Programacin Lgica
Inductiva
ILP
=
Aprendizaje Inductivo de Conceptos (I)

Programacin Lgica (LP) Induccin Lgica

Tareas ILP: Programacin


- Induccin programas lgicos
Sntesis de programas

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin:Programacin Lgica
Inductiva
ILP
=
Aprendizaje Inductivo de Conceptos (I)

Programacin Lgica (LP) Induccin Lgica

Tareas ILP: Programacin


- Induccin programas lgicos
Sntesis de programas
- Generalizacin de observaciones DM, KDD
especficas en leyes generales
Data Minig (DM)
Knowledge discovery (KDD)

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin:Programacin Lgica
Inductiva
ILP
=
Aprendizaje Inductivo de Conceptos (I)

Programacin Lgica (LP) Induccin Lgica

Caractersticas:
los ejemplos y la teora de base son clusulas.
Programacin
La teora aprendida es un cjto de clusulas.

Ventajas ILP:

-la lgica de primer orden es un campo


matemtico ampliamente desarrollado.
-proporciona una representacin uniforme
y expresiva.

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: aprendizaje inductivo
de conceptos

Induccin predictiva

+ +
+
+
- +
- - - - H
--

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: aprendizaje inductivo
de conceptos

Induccin predictiva

+ +
+
+
- +
-
H


--

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: aprendizaje inductivo
de conceptos

+ +
Induccin predictiva +
aprender la definicin de +
un concepto
- +
- - -- -- H

Induccin descriptiva
aprender las relaciones entre
conceptos
+ +
++ +
+ H

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: aprendizaje inductivo
de conceptos (predictivo)
Dado:
Un cjto de observaciones
ejemplos positivos E+
ejemplos negativos E -
conocimiento de base B
lenguaje de hiptesis LH + +
relacin de cobertura ++ +
Encontrar: + H
-
Una hiptesis H LH tal que (dado B) H cubre
- - -
todos los ejemplos positivos y negativos
- - -
En lgica:
e E+: B H e (H es completo)
e E-: B H / e (H es consistente)
En ILP, E son hechos bsicos, B y H cjtos de
clusulas definidas

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: aprendizaje inductivo
de conceptos (predictivo)
Dado:
Un cjto de observaciones
ejemplos positivos E+
ejemplos negativos E -
+ -+
conocimiento de base B ++ + -
lenguaje de hiptesis LH + H
-
relacin de cobertura
- - +-
criterio de calidad - - -
Encontrar:
Una hiptesis H LH tal que (dado B) H
es ptima w.r.t. Algn criterio de calidad
(p.ej. maximizar la precisin predictiva)

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: aprendizaje inductivo
de conceptos (descriptivo)
Dado:
Un cjto de observaciones (ejemplos positivos E+)
conocimiento de base B
lenguaje de hiptesis LH
relacin de cobertura + +
Encontrar: ++ +
Una hiptesis (la ms especfica) H LH tal que + H
(dado B) H cubre todos los ejemplos positivos
En lgica, encontrar H tal que c H, c es cierto
en algn modelo preferido de B E+ (p. ej. el
modelo mnimo de Herbrand)
En ILP, E son hechos bsicos, B y H cjtos de
clusulas generales

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: ejemplo de
programacin lgica
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 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: 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 clusulas 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 2001 Fundamentos lgicos de la Ingeniera del Software
1. Introduccin: definicin emprica de
ILP
Dado:
Un cjto de ejemplos E de un predicado objeto p
Hechos bsicos verdaderos E+
Hechos bsicos falsos E -
Un conocimiento de base B que define predicados qi p
Un lenguaje de hiptesis L, un subcjto. de clusulas definidas
Encontrar:
Una hiptesis H que defina el predicado p, expresado en L como un cjto.
de clusulas de la forma
p(X1,...,Xn) L1,...,Li,...,Lm
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 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: un problema ILP
simple
El problema
Dados:
ejemplos de la relacin daughter(X,Y)
conocimiento de base definiciones (extensionales) de las relaciones
parent(X,Y) y female(X)
Training examples Background 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).

Encontrar: la definicin de la relacin daughter ann


f
daughter(X,Y) female(X),parent(Y,X).
mary tom
f
eve ian
Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software
f
1. Introduccin: un problema ILP
simple
Representacin ILP estndar
ejemplos: hechos bsicos de la relacin daughter
conocimiento de base: hechos bsicos que definen las relaciones
parent(X,Y) y female(X)

Training examples Background 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 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: un problema ILP
simple
Representacin como una base de datos relacional
daughter D P
mary ann
eve tom

Ejemplos como implicaciones:


daughter(mary,ann) female(mary),female(ann),
parent(ann,mary),parent(ann,tom).

Hiptesis inducida:
daughter(X,Y) female(X),parent(Y,X).

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: ejemplo Bongard
Casificacin de ejemplos basada en su estructura

neg

pos

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: ejemplo Bongard
(cont.)
Representacin en lgica de primer orden

contains(1, o1).
Dibujo 1
contains(1, o2).
triangle(o1).
points(o1, down).
circle(o2). permitido cualquier
pos(1). nmero de objetos

pos(X) :- contains(X,Y), triangle(Y), points(Y, down).

el uso de variables proporciona un adecuado nivel de abstraccin para la hiptesis

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: un ejemplo del mundo
real
Identificar subestructuras en las molculas que hacen que
se adhieran a otras molculas
La descripcin de las molculas es la lista de sus tomos,
relaciones,
El conocimiento de base define el cmputo de la distancia
euclidea,

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: un ejemplo del mundo
real
Descripcin de las molculas: Conocimiento de Base:
atm(m1,a1,o,2,3.430400,-3.116000,0.048900). ...
atm(m1,a2,c,2,6.033400,-1.776000,0.679500). hacc(M,A):- atm(M,A,o,2,_,_,_).
atm(m1,a3,o,2,7.026500,-2.042500,0.023200). hacc(M,A):- atm(M,A,o,3,_,_,_).
... hacc(M,A):- atm(M,A,s,2,_,_,_).
bond(m1,a2,a3,2). hacc(M,A):- atm(M,A,n,ar,_,_,_).
bond(m1,a5,a6,1). zincsite(M,A):-
bond(m1,a2,a4,1). atm(M,A,du,_,_,_,_).
bond(m1,a6,a7,du). hdonor(M,A) :-
... atm(M,A,h,_,_,_,_),
not(carbon_bond(M,A)), !.
...
-> Hiptesis:
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).

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: un ejemplo del mundo
real
Algunos ejemplos de molculas:

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software


1. Introduccin: conclusin

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 representacin para
hiptesis y datos ms expresivo
la lgica de primer orden proporciona esta expresividad
-> estudiar la induccin en lgica de primer orden.

Diciembre 2001 Fundamentos lgicos de la Ingeniera del Software

S-ar putea să vă placă și