Вы находитесь на странице: 1из 31

1.

Introduccin: Aprendizaje inductivo


de conceptos
Induccin

Razonamiento desde propiedades de


induccin
individuos a propiedades de conjuntos OBSERVACIONES
CONCEPTO
de individuos
deduccin

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

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

Fundamentoslgicosdela
IngenieradelSoftware

1. Introduccin: play tennis (ejemplos


de prueba)
Day

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

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

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

38, Lake Dr. Sampleton male

single

i60-70k

32

member

no response

45, Sea Ct. Invention 43666

female

mar-red

I80-90k non member

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)

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

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

Income Age Club Resp Delivery

Paymt Store S Store Type Store Loc

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

Tabla 4: Tabla de clientes con informacin varios pedidos


ID

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

Tabla 5: Tabla de clientes con resumen de atributos

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)

hiptesis: una regla o un rbol


de decisin

hiptesis: un cjto de clusulas

Diciembre
2001

definicin de un predicado p un cjto de hechos bsicos

Fundamentoslgicosdela
IngenieradelSoftware

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

Programacin Lgica (LP)

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)

Programacin Lgica (LP)

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)

Programacin Lgica (LP)

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

1. Introduccin: aprendizaje inductivo


de conceptos
Induccin predictiva

+ +
+

+
+

Diciembre
2001

Fundamentoslgicosdela
IngenieradelSoftware

1. Introduccin: aprendizaje inductivo


de conceptos
Induccin predictiva


Diciembre
2001

Fundamentoslgicosdela
IngenieradelSoftware

+ +
+

1. Introduccin: aprendizaje inductivo


de conceptos
+

aprender la definicin de
un concepto

+
+

Induccin predictiva

Induccin descriptiva

aprender las relaciones entre


conceptos

Diciembre
2001

+ +
++ +
+

Fundamentoslgicosdela
IngenieradelSoftware

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

En ILP, E son hechos bsicos, B y H cjtos de


clusulas definidas

Diciembre
2001

Fundamentoslgicosdela
IngenieradelSoftware

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
criterio de calidad

Encontrar:

+ +
++ +
H
+

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

Fundamentoslgicosdela
IngenieradelSoftware

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

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

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

Fundamentoslgicosdela
IngenieradelSoftware

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

Fundamentoslgicosdela
IngenieradelSoftware

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


daughter(X,Y) female(X),parent(Y,X).

ann
mary
f

Diciembre
2001

Fundamentoslgicosdela
IngenieradelSoftware

tom
eve
f

ian

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

Fundamentoslgicosdela
IngenieradelSoftware

1. Introduccin: un problema ILP simple


Representacin como una base de datos relacional
daughter

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

Fundamentoslgicosdela
IngenieradelSoftware

1. Introduccin: ejemplo Bongard


Casificacin de ejemplos basada en su estructura

neg

pos

Diciembre
2001

Fundamentoslgicosdela
IngenieradelSoftware

1. Introduccin: ejemplo Bongard


(cont.)
Representacin en lgica de primer orden
Dibujo1

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

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

Fundamentoslgicosdela
IngenieradelSoftware

1. Introduccin: un ejemplo del mundo


real
Descripcindelasmolculas:
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).

...

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

1. Introduccin: un ejemplo del mundo


real
Algunosejemplosdemolculas:

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

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

Fundamentoslgicosdela
IngenieradelSoftware

Вам также может понравиться