Escolar Documentos
Profissional Documentos
Cultura Documentos
Concepto
Diciembre
2001
descr.
lenguaje
aprendizaje
EJEMPLOS
explicacin
Fundamentoslgicosdela
IngenieradelSoftware
TEORA
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
ejemplo 1
ejemplo 2
A1
v1,1
A2
v1,2
A3
v1,3
Clase
C1
v2,1
v2,2
v2,3
C2
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
Outlook
Temperature
Humidity
Wind
PlayTennis
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
High
Weak
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Weak
Weak
Strong
Weak
Weak
Strong
No
No
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
No
Outlook
Sunny
Rainy
Overcast
Humidity
High
No
Diciembre
2001
Normal
Yes
Yes
Wind
Strong
Weak
No
Yes
Fundamentoslgicosdela
IngenieradelSoftware
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
Fundamentoslgicosdela
IngenieradelSoftware
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
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
1. Introduccin: motivacin
ID
Name
First Name
3478
Smith
John
3479
Doe
Jane
City
Zip
Sex
Social Status
Income
Age
Club Status
Response
single
i60-70k
32
member
no response
female
mar-red
Tabla1:Tablabsicadeclientes
ID
Zip
Sex
Soc St
Income
Age
Club
Resp
3478
3479
34667
43666
m
f
si
ma
60-70
80-90
32
45
me
nm
nr
re
Tabla2:Tabladeclientesparaanlisis
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
response
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)
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
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
3478
3478
3478
3479
3479
34667
34667
34667
43666
43666
m
m
m
f
f
si
si
si
ma
ma
60-70
60-70
60-70
80-90
80-90
cash
check
check
credit
credit
32
32
32
45
45
me
me
me
nm
nm
nr
nr
nr
re
re
regular
express
regular
express
regular
small
small
large
large
small
frnhs
frnhs
indep
indep
frnhs
city
city
rural
rural
city
Zip
Sex
So st
Income
Age
Club
m
f
si
ma
60-70
80-90
32
45
me
nm
3478 34667
3479 43666
Resp N Order
nr
re
3
2
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
N Store
2
2
1. Introduccin: motivacin
ID
Zip
3478 34667
3479 43666
Sex
m
f
customer
So st Income
si
60-70
ma
80-90
store
Store ID Size
Type
Location
12
small franchise
city
17
large
indep
rural
Diciembre
2001
Age
32
45
Club
me
nm
Resp
nr
re
Representacinrelacional
declientes,pedidosy
almacenes
order
Customer ID Order ID Store ID Delivery
3478
2140267
12
regular
3478
3446778
12
express
3478
4728386
17
regular
3479
3233444
17
express
3479
3475886
12
regular
Paymt
cash
check
check
credit
credit
good_customer(C): customer(C,_,f,_,_,_,_,_),
order(C,_,_,_,credit).
Fundamentoslgicosdela
IngenieradelSoftware
1. Introducin: terminologa
Bases de datos
Programacin Lgica
nombre de relacin p
atributo de una relacin p
tupla <a1,,an> - una fila en
la tabla relacional
relacin p - una tabla
relacional (un cjto de tuplas)
smbolo de predicado p
argumento de un predicao p
hecho bsico p(a1,,an)
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
1. Introduccin:Programacin Lgica
Inductiva
ILP
=
Aprendizaje Inductivo de Conceptos (I)
Tareas ILP:
- Induccin programas lgicos
Sntesis de programas
Diciembre
2001
Induccin
Lgica
Programacin
Fundamentoslgicosdela
IngenieradelSoftware
1. Introduccin:Programacin Lgica
Inductiva
ILP
=
Aprendizaje Inductivo de Conceptos (I)
Tareas ILP:
- Induccin programas lgicos
Sntesis de programas
- Generalizacin de observaciones
especficas en leyes generales
Data Minig (DM)
Knowledge discovery (KDD)
Diciembre
2001
Induccin
Lgica
Programacin
DM, KDD
Fundamentoslgicosdela
IngenieradelSoftware
1. Introduccin:Programacin Lgica
Inductiva
ILP
=
Aprendizaje Inductivo de Conceptos (I)
Induccin
Caractersticas:
los ejemplos y la teora de base son clusulas.
La teora aprendida es un cjto de clusulas.
Programacin
Ventajas ILP:
-la lgica de primer orden es un campo
matemtico ampliamente desarrollado.
-proporciona una representacin uniforme
y expresiva.
Diciembre
2001
Lgica
Fundamentoslgicosdela
IngenieradelSoftware
+ +
+
+
+
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
+ +
+
aprender la definicin de
un concepto
+
+
Induccin predictiva
Induccin descriptiva
Diciembre
2001
+ +
++ +
+
Fundamentoslgicosdela
IngenieradelSoftware
conocimiento de base B
lenguaje de hiptesis LH
relacin de cobertura
Encontrar:
Una hiptesis H LH tal que (dado B) H cubre
todos los ejemplos positivos y negativos
En lgica:
+ +
++ +
H
+
e E+: B H e (H es completo)
e E-: B H / e (H es consistente)
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
conocimiento de base B
lenguaje de hiptesis LH
relacin de cobertura
criterio de calidad
Encontrar:
+ +
++ +
H
+
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
Encontrar:
Una hiptesis (la ms especfica) H LH tal que
(dado B) H cubre todos los ejemplos positivos
+ +
++ +
+
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
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
Fundamentoslgicosdela
IngenieradelSoftware
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).
ILP descriptivo
daughter(X,Y),mother(X,Y).
female(X) daughter(X,Y).
mother(X,Y);father(X,Y) parent(X,Y).
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
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
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
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).
ann
mary
f
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
tom
eve
f
ian
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
Fundamentoslgicosdela
IngenieradelSoftware
mary
ann
eve
tom
Hiptesis inducida:
daughter(X,Y) female(X),parent(Y,X).
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
neg
pos
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
contains(1,o1).
contains(1,o2).
triangle(o1).
points(o1,down).
circle(o2).
pos(1).
permitidocualquier
nmerodeobjetos
pos(X):contains(X,Y),triangle(Y),points(Y,down).
elusodevariablesproporcionaunadecuadoniveldeabstraccinparalahiptesis
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
...
ConocimientodeBase:
...
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)),!.
...
>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
Fundamentoslgicosdela
IngenieradelSoftware
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware
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
Diciembre
2001
Fundamentoslgicosdela
IngenieradelSoftware