Aprendizaje de reglas: Programación Lógica Inductiva

Anuncio
Introducción a la Ingenierı́a del Conocimiento
2006-07
Aprendizaje de reglas: Programación Lógica Inductiva
Miguel A. Gutiérrez Naranjo
Dpto. Ciencias de la Computación e Inteligencia Artificial
Universidad de Sevilla
IIC 2006-2007
RGNC
Aprendizaje de ...
1
¿Qué es el Aprendizaje Automático?
B
Any change in a system that allows it to perform better the
second time on repetition of the same task or on another task
drawn from the same population (Simon, 1983).
B
El Aprendizaje Automático estudia cómo construir programas
que mejoren automáticamente con la experiencia.
B
¿Por qué estudiar Aprendizaje Automático?
u
u
u
u
Recientes avances en la teorı́a y los algoritmos.
Crecimiento desbordante de datos “en lı́nea” (on line).
Se dispone de máquinas suficientemente potentes.
Interés por parte de la industria.
IIC 2006-2007
RGNC
Aprendizaje de ...
2
Algunos ejemplos (I)
B
Minerı́a de datos (Data mining): Uso de datos históricos para
mejora de decisiones:
Datos médicos −→ Decisiones médicas
B
Conducción autónoma de vehı́culos: Aprenden a conducirse en
autopistas en función de la información visual que reciben.
B
Reconocimiento del habla.
B
Juegos
B
Programas que se modifican a sı́ mismos según las costumbres
del usuario:
IIC 2006-2007
RGNC
Aprendizaje de ...
3
Un problema de minerı́a de datos
B
Dados:
u
u
B
Con 215 caracterı́sticas de cada paciente.
Objetivo:
u
B
Datos de 9714 pacientes, describiendo datos sobre embarazo y alumbramiento.
Aprender a predecir clases de pacientes con alto riesgo de cesárea.
Una de las 18 reglas aprendidas:
u
u
Si la madre es primeriza, los ultrasonidos en el segundo trimestre dan
resultados anormales, etc . . .
Entonces será necesaria cesárea
IIC 2006-2007
RGNC
Aprendizaje de ...
4
Análisis del riesgo en un crédito
B
B
Reglas aprendidas a partir de la sı́ntesis de datos:
Primera regla:
u
B
Segunda regla:
u
B
Si bancos–con–deudas > 2 y Reincidencias > 1, entonces Aceptar= No
Si Bancos–con–deudas = 0 y Ingresos > 150.000, entonces Aceptar=
Sı́
...
IIC 2006-2007
RGNC
Aprendizaje de ...
5
Hacia dónde vamos (I)
B
Hoy: La punta del iceberg
u
u
u
u
u
Redes neuronales
Arboles de decisión
Programación lógica inductiva
Regresión
...
B
Aplicados a bases de datos bien estructuradas
B
Interés por parte de la industria
IIC 2006-2007
RGNC
Aprendizaje de ...
6
Hacia dónde vamos (II)
B
Oportunidades para el futuro:
B
Aprendizaje a partir de datos de varias fuentes simultáneas:
Bases de datos internas, web,. . .
B
Aprendizaje por experimentación activa
B
Aprendizaje de decisiones en lugar de predicciones
B
Aprendizaje acumulativo de larga duración
B
¿Lenguajes de programación con aprendizaje incorporado?
IIC 2006-2007
RGNC
Aprendizaje de ...
7
Disciplinas relacionadas
B
Inteligencia Artificial
B
Métodos bayesianos
B
Teorı́a de la complejidad
B
Ingenierı́a del conocimiento
B
Teorı́a de la información
B
Filosofı́a
B
Psicologı́a y neurobiologı́a
B
Estadı́stica
B
...
IIC 2006-2007
RGNC
Aprendizaje de ...
8
Problema de aprendizaje
B
Aprendizaje: Mejora de alguna tarea mediante la experiencia
B
Tarea (T ): Lo que se debe aprender
B
Experiencia (E): La que se tiene en relación a lo que se debe
aprender
B
Rendimiento (R): Medida de la calidad de lo aprendido
B
Se dice que un sistema aprende de la experiencia, si el
rendimiento R de la tarea T aprendida crece al crecer E.
IIC 2006-2007
RGNC
Aprendizaje de ...
9
Problema de aprendizaje
B
¿Qué experiencia?
B
¿Qué debe aprender?
B
¿Cómo representamos el conocimiento?
B
¿Qué algoritmo usaremos para aprenderlo?
B
¿Cómo se mide la mejora?
IIC 2006-2007
RGNC
Aprendizaje de ...
10
Ejemplos
B
Una forma de aprender a jugar al ajedrez (de mejorar nuestro
juego), es jugar contra nosotros mismos. Normalmente la forma
de saber si hemos aprendido es jugar contra otros.
B
Caracterización de este problema de aprendizaje
u
u
u
T : Jugar al ajedrez
E: Conjunto de partidas jugadas contra uno mismo
R: Porcentaje de partidas ganadas contra otro jugador
IIC 2006-2007
RGNC
Aprendizaje de ...
11
Ejemplos
B
Una forma de que un sistema aprenda a reconocer palabras en
un texto manuscrito, puede ser a partir de una base de datos
con imágenes de palabras manuscritas y sus correspondientes
transcripciones.
B
La forma de saber si el sistema ha aprendido a reconocer palabras, será darle un texto manuscrito y ver cuantas transcripciones correctas hace.
B
Caracterización de este problema de aprendizaje
u
u
u
T : Reconocer palabras manuscritas
E: Base de datos de palabras con sus transcripciones
R: Porcentaje de palabras reconocidas
IIC 2006-2007
RGNC
Aprendizaje de ...
12
Ejemplos
B
Se puede enseñar a un vehı́culo a conducir automáticamente,
guiándose por lo que ve (usando sensores de visión), y suministrándole una base de datos en la que se hayan registrado las
imágenes tomadas mientras un conductor humano conducı́a el
vehı́culo, junto con las correspondientes acciones que hizo.
B
Caracterización de este problema de aprendizaje
u
u
u
T : Conducir un vehı́culo
E: Base de datos de imágenes, y las acciones correspondientes, registradas durante conducción por parte de un conductor humano
R: Distancia recorrida sin comenter ningún error
IIC 2006-2007
RGNC
Aprendizaje de ...
13
¿Qué estudiar en A. A.?
B
¿Qué algoritmos pueden aproximar funciones correctamente?
B
¿Cómo influye el número de ejemplos en la exactitud?
B
¿Cómo influye la complejidad de la representación de las
hipótesis?
B
¿Cómo influye el ruido?
B
¿Cuáles son los lı́mites teóricos del aprendizaje?
B
¿Cómo puede ayudar el conocimiento a priori?
B
¿Qué esquemas del aprendizaje biológico podemos adoptar?
B
¿Cómo pueden los sistemas alterar su propia representación?
IIC 2006-2007
RGNC
Aprendizaje de ...
14
Un ejemplo: Los trenes de Ryszard Michalski
u
Buscamos una explicación que nos permita distinguir entre los trenes
que van al este y los trenes que van al oeste.
1. TRAINS GOING EAST
IIC 2006-2007
2. TRAINS GOING WEST
1.
1.
2.
2.
3.
3.
4.
4.
5.
5.
RGNC
Aprendizaje de ...
15
Ejemplos
B
Ejemplos positivos
eastbound(east1).
eastbound(east4).
B
eastbound(east2).
eastbound(east5).
eastbound(east3).
eastbound(west7).
eastbound(west10).
eastbound(east8).
Ejemplos negativos
eastbound(west6).
eastbound(west9).
B
Espacio y sistemas de búsqueda
B
Conocimiento básico
u
Tren 1:
short(car_12). load(car_11,rectangle,3). wheels(car_11,2). ...
...
u
Tren 2: ...
IIC 2006-2007
RGNC
Aprendizaje de ...
16
Sesión
[theory]
[Rule 1] [Pos cover = 5 Neg cover = 0]
eastbound(A) :has_car(A,B), short(B), closed(B).
[pos-neg] [5]
[Training set performance]
Actual
+
+ 5
0
5
Pred
- 0
5
5
5
5
10
Accuracy = 1.0
[Training set summary] [[5,0,0,5]]
[time taken] [0.13]
IIC 2006-2007
RGNC
Aprendizaje de ...
17
¿Qué es un concepto?
B
Un concepto es el conjunto de todas sus instancias
(G. Leibnitz)
u
u
u
La Humanidad es el conjunto de todos los hombres.
La sociedad andaluza es el conjunto de habitantes de Andalucı́a.
La relación mayor que definida sobre el conjunto de los números reales
es el conjunto de pares (x, y) tales que x es mayor que y.
IIC 2006-2007
RGNC
Aprendizaje de ...
18
Aprendizaje de conceptos
B
Para conocer un conjuntos tenemos dos tipos de definiciones:
Extensiva: Enumerando uno tras otro sus elementos
Vocales = {a, e, i, o ,u}
Intensiva: Dando una propiedad que tengan todos aquellos
y sólo aquellos elementos del conjunto
P aresN = {n ∈ N|∃m ∈ N(n = 2 × m)}
IIC 2006-2007
RGNC
Aprendizaje de ...
19
Gráficamente
'
◦
◦
'
U
◦
'
◦
⊕
&
&
&
⊕
H1
IIC 2006-2007
◦
⊕
⊕
'
◦
E+
⊕
'
$
$
◦
◦
⊕
&
%
H3
RGNC
◦
%
◦
$
E−
◦
&
◦
%
◦
◦
◦
◦
H4
$
◦
$
◦
◦
H2
%
%
Aprendizaje de ...
20
Un ejemplo
E+ = {2, 4, 6, 8}
E− = {11, 17}
H1 =E+
H2 = N−E−
H3 = {n ∈ N | n es par }
H4 = {n ∈ N | n ≤ 10}
IIC 2006-2007
RGNC
Aprendizaje de ...
21
Dos problemas
Sólo conocemos una cantidad finita de instancias (positivas y negativas)
del concepto.
¿Cómo podemos obtener conocimiento general ?
⇒ Abducción
¿Cómo podemos estar seguros de nuestro conocimiento?
⇒ Justificación
IIC 2006-2007
RGNC
Aprendizaje de ...
22
Abducción (Peirce y Polya)
Charles S. Peirce:
La abducción es el proceso de formar hipótesis explicativas.
La abducción es la única operación lógica que introduce nuevas ideas.
• The surprising fact C is observed.
• But if A were true, C would be a matter of course.
• Hence, there is reason to suspect that A is true.
G. Polya contrasta dos tipos de argumentos:
El silogismo demostrativo, en donde de A → B y B falso, concluimos ¬A
El silogismo heurı́stico en donde de A → B y B verdadero, se sigue que A es más
creı́ble.
IIC 2006-2007
RGNC
Aprendizaje de ...
23
Reglas de inferencia (C. S. Peirce)
DEDUCCIÓN
• Regla: Todas las judı́as de esta bolsa son blancas
• Premisa: Estas judı́as proceden de esta bolsa
• Conclusión: Estas judı́as son blancas
INDUCCIÓN
• Premisa: Estas judı́as proceden de esta bolsa
• Conclusión: Estas judı́as son blancas
• Regla: Todas las judı́as de esta bolsa son blancas
ABDUCCIÓN
• Regla: Todas las judı́as de esta bolsa son blancas
• Conclusión: Estas judı́as son blancas
• Premisa: Estas judı́as proceden de esta bolsa
IIC 2006-2007
RGNC
Aprendizaje de ...
24
Justificación
David Hume, en suTreatise on Human Nature defendió que la idea
de ley causal es algo que existe sólo en la mente y no hay necesidad
lógica inherente a las leyes causales.
Kark R. Popper apuntó el hecho de que las hipótesis cientı́ficas no
pueden ser verificadas de manera conclusiva. Sólo pueden ser falsificadas de manera conclusiva.
R. Carnap desarrolló teorı́as estadı́sticas para confirmar hipótesis
cientı́ficas expresadas en lógica de primer orden.
IIC 2006-2007
RGNC
Aprendizaje de ...
25
Aprendizaje de conceptos
B
El aprendizaje de conceptos estudia cómo conseguir la definición
de una categorı́a a partir de ejemplos positivos y negativos de
esa categorı́a.
B
El aprendizaje de conceptos estudia cómo inferir automáticamente una función general sobre el conjunto de ejemplos que
tome valores booleanos y caracterice los ejemplos conocidos.
f:
B
Ejemplos −→ {0, 1}
Dos objetivos:
u
u
Compresión de la información
Capacidad predictiva
IIC 2006-2007
RGNC
Aprendizaje de ...
26
Ejemplo
Problema: Un amigo nuestro practica deportes acuáticos. Unos dı́as
los practica y otros no. Nos gustarı́a saber si hoy va a ir a practicarlos o
no.
oooOooo
Universo: Conjunto de todos los dias posibles
Objetivo: Conjunto de todos los dias que practica deporte
Función objetivo: Función caracterı́stica del conjunto objetivo
Hacer deporte :
IIC 2006-2007
RGNC
Dı́as −→ {0, 1}
Aprendizaje de ...
27
El problema de la representación
¿Cómo representamos un dı́a?
Pares atributo–valor
Selección de atributos: Cielo, Temperatura, Humedad, Viento
Agua, Previsión
Selección de valores:
Cielo: Soleado, lluvioso.
Viento: Fuerte, débil, sin viento.
Temperatura: Alta, templada, frı́a. Agua: Caliente, templada, frı́a.
Humedad: Alta, normal, baja.
Previsión: Cambio, Sigue igual.
IIC 2006-2007
RGNC
Aprendizaje de ...
28
Ejemplo
Conjunto de entrenamiento:
Cielo Temperatura Humedad Viento Agua
Previsión Hacer Deporte
Soleado Templada
Normal Fuerte Templada Sigue igual
Sı́
Soleado Templada
Alta
Fuerte Templada Siguel igual
Sı́
Lluvioso
Frı́a
Alta
Fuerte Templada Cambio
No
Soleado Templada
Alta
Fuerte
Frı́a
Cambio
Sı́
¿Cuándo hacemos deporte?
¿Podemos definir el concepto Hacer Deporte?
IIC 2006-2007
RGNC
Aprendizaje de ...
29
El problema del aprendizaje de conceptos (I) (Inf.)
Dados:
• Un universo o conjunto de instancias X (Dı́as posibles, cada uno
descrito por los atributos Cielo, Temperatura, Humedad, Viento, Agua y Previsión).
• Una función de clasificación definida sobre X desconocida:
c : X −→ Clasif
donde Clasif es el conjunto de posibles clasificaciones que tiene
una instancia. En nuestro ejemplo podemos considerar
Clasif={Sı́, No} o
IIC 2006-2007
RGNC
Clasif = {0, 1}
Aprendizaje de ...
30
El problema del aprendizaje de conceptos (Inf.)
• Un conjunto de entrenamiento (conocido)
D = {(x1, c(x1)), (x2, c(x2)), . . . , (xn, c(xn))}
formado por pares (xi, c(xi)) donde xi ∈ X y c(xi) es la clasificación de la instancia xi por la función c.
Encontrar:
• Una función objetivo
h : X −→ Clasif
tal que si (xi, c(xi)) ∈ D entonces h(xi) = c(xi)
IIC 2006-2007
RGNC
Aprendizaje de ...
31
Hipótesis
La Hipótesis del Aprendizaje Inductivo:
Cualquier hipótesis que aproxime la función objetivo sobre un conjunto suficientemente grande
de ejemplos de entrenamiento también aproximará la función objetivo sobre el resto de los
ejemplos.
IIC 2006-2007
RGNC
Aprendizaje de ...
32
El problema de la representación
Seguimos con nuestro ejemplo
Muchas representaciones posibles
Pares valor–atributo
Hiṕotesis: Conjunción de restricciones sobre las instancias de los
atributos
Cada restricción puede ser:
• Un valor especı́fico (p. e. Agua = Templada)
• Cualquier valor (p. e. Agua = ?)
• No se permite ningún valor (p. e. Agua = ∅)
IIC 2006-2007
RGNC
Aprendizaje de ...
33
El problema de la representación
Podemos considerar que los dı́as para hacer deporte son aquellos
en los que
B
Cielo = Soleado
Temperatura = Da igual
Humedad = Da igual
Viento = Fuerte
Agua = Da igual
Previsión = Sigue igual
B
y
y
y
y
y
O con una representación más compacta
(Soleado,?,?,Fuerte,?,Sigue igual)
IIC 2006-2007
RGNC
Aprendizaje de ...
34
Programación Lógica Inductiva
Programación
Lógica
Inductiva
Aprendizaje T Programación
Automático
Lógica
+
•
Formación
de
hipótesis
a
partir
de observaciones
• Sı́ntesis de nuevos
conocimientos a partir
de la experiencia
IIC 2006-2007
RGNC
• Representación formal
• Orientación semántica
• Técnicas
Aprendizaje de ...
35
Desarrollo reciente
B
Los sistemas de ILP han sido usados con éxito en una gran
variedad de dominios, incluyendo
Ecologı́a
Ingenierı́a
Biologı́a molecular
Procesamiento del lenguaje natural
Control del tráfico
...
IIC 2006-2007
RGNC
Aprendizaje de ...
36
El problema de la representación (I)
Pares atributo–valor (Lógica proposicional)
Hiṕotesis:
• Disyunción de conjunciones de pares atributo–valor
(Cielo=Soleado ∧ Humedad=Normal)
∨ (Cielo=Nublado)
∨ (Cielo=Lluvioso ∧ Viento=Débil)
• Como conjunto de reglas
◦ Si Cielo=Soleado y Humedad=Normal entonces Hacer deporte
◦ Si Cielo=Nublado entonces Hacer deporte
◦ Si Cielo=Lluvioso y Viento=Débil entonces Hacer deporte
IIC 2006-2007
RGNC
Aprendizaje de ...
37
El problema de la representación (II)
B
Como árbol de decisión
Cielo
Soleado
Nublado
Humedad
Alta
No
IIC 2006-2007
Lluvioso
Viento
Si
Normal
Fuerte
Si
No
RGNC
Debil
Si
Aprendizaje de ...
38
Limitaciones
B
Limitaciones:
Una representación formal limitada (lenguaje de pares
atributo–valor equivalente al de la lógica proposicional)
Dificultad del manejo del conocimiento base
IIC 2006-2007
RGNC
Aprendizaje de ...
39
Programación Lógica Inductiva (I)
B
Dados
u
B Conocimiento básico
u
H Espacio de hipótesis
u
B
. . . tales que . . .
u
u
B
D Conjunto de entrenamiento, con D = {hxi, c(xi)i}ni
B ∪ D 6` (∃i ∈ {1, . . . , n})[B 6` hxi, c(xi)i]
Encontrar h ⊆ H tal que
u
u
B ∪ D ∪ h 6` (∀i ∈ {1, . . . , n})[B ∪ H ` hxi, c(xi)i]
IIC 2006-2007
RGNC
Aprendizaje de ...
40
Ejemplos de ILP (I)
Representación estándar:
Ejemplos: Atomos cerrados de la relación hija(X,Y).
Conocimiento base: Definiciones de las relaciones progenitor(X,Y) y mujer(X) (Atomos cerrados o definiciones de predicados).
Conjunto de entrenamiento
Conocimniento base
hija(maria,ana) ⊕
progenitor(ana,maria) mujer(ana)
hija(eva,tomas) ⊕
progenitor(tomas,eva) mujer(maria)
hija(tomas,ana) progenitor(ana,tomas) mujer(eva)
hija(eva,ana)
Hipótesis inducida:
hija(X,Y) ←− mujer(X), progenitor(Y,X)
IIC 2006-2007
RGNC
Aprendizaje de ...
41
Ejemplos de ILP (II)
0
3
4
6
1
2
5
7
H0 =
IIC 2006-2007
8
camino(X,Y) ← enlace(X,Y)
camino(X,Y) ← enlace(X,Z),camino(Z,Y)
RGNC
Aprendizaje de ...
42
Ejemplos de ILP (III)
E ⊕ = {par(0), par(s(s(0))), par(s(s(s(s(0))))), ...}
E = {par(s(0)), par(s(s(s(0)))), par(s(s(s(s(s(0)))))), ...}
Hipótesis:
H0 =
IIC 2006-2007
par(0) ←
par(s(s(X))) ← par(X)
RGNC
Aprendizaje de ...
43
Métodos (I)
Ascendente:
Comenzamos por una hipótesis demasiado especı́fica, i.e., que no cubre
todos los ejemplos positivos y por tanto, debe ser generalizada.
• Técnicas:
◦ Resolución inversa (CIGOL)
◦ Menor generalización (Golem)
◦ ...
IIC 2006-2007
RGNC
Aprendizaje de ...
44
Métodos (II)
Descendente:
Comenzamos por una hipótesis demasiado general, i.e., que cubre alguno de los ejemplos negativos y por tanto, debe ser especializada.
• Técnicas:
◦ Inferencia de modelos (MIS)
◦ Método extensional (Foil)
◦ ...
IIC 2006-2007
RGNC
Aprendizaje de ...
45
CIGOL (S. Muggleton y W. Buntine, 1988)
Sistema interactivo
Método ascendente
Basado en resolución inversa
Salida
Entrada
∗ Ejemplos
∗ Conocimiento base
∗ Respuestas a preguntas
IIC 2006-2007
RGNC
-
∗ Cláusulas de Horn
Aprendizaje de ...
46
Resolución
C1 ≡ q ← A
@
@
@
@
C2 ≡ p ← q, B
@
@
@
@
@
@
@
@
@
@
C ≡ p ← A, B
IIC 2006-2007
RGNC
Aprendizaje de ...
47
Operadores en CIGOL (I)
C1 ≡ q ← A
@
@
@
@
@
C2 ≡ p ← q, B
@
@
@
@
@
@
@
C ≡ p ← A, B
Absorción:
IIC 2006-2007
q←A
q←A
p ← A, B
p ← q, B
RGNC
Identificación:
p ← A, B
q←A
p ← q, B
p ← q, B
Aprendizaje de ...
48
Operadores en CIGOL (II)
W–operadores
[p ← r, A, B]
C1 ≡ q ← A, B
@
@
@
@
@
@
[r ← A]
C ≡ p ← A, q
@
@
@
[q ← r, A, C]
C2 ≡ q ← A, C
@
@
@
[p ← A, B]
B1 ≡ p ← A, B
IIC 2006-2007
@
@
@
@
[q ← A, C]
B2 ≡ p ← A, C
Intra–construcción:
p ← A, B
q ← A, B
Inter–construcción:
p ← A, B
p ← r, A, B
RGNC
p ← A, q
p ← A, C
q ← A, C
q ← A, C
r ← A q ← r, A, C
Aprendizaje de ...
49
Operadores en CIGOL (III)
El operador de truncamiento
{L}
{L1 }
@
@
@
@
σ1 @
@
τ1
@
@
@
IIC 2006-2007
{L2 }
@
@
τ2 @
@
σ2
@
@
@
RGNC
Aprendizaje de ...
50
Ejemplos con CIGOL (I)
Concatenación de listas
| ?- cigol.
!- conc([s],[t],[s,t]).
...
I know:
conc([s],[t],[s,t]).
OPERADORES
Truncamiento
!- conc([],[a],[a]).
...
Is conc(A,[B],[C|D]) always true? n.
...
Truncamiento
Superado el tiempo lı́mite
100000 ms. para Absorción
I know:
conc([],[a],[a]).
conc([s],[t],[s,t]).
not(conc(A,[B],[C|D])).
IIC 2006-2007
RGNC
Aprendizaje de ...
51
Ejemplos con CIGOL (II)
!- conc([],[1,2],[1,2]).
...
Is conc([],[A|B],[A|B]) always true? y.
I know:
conc([],[A|B],[A|B]).
conc([s],[t],[s,t]).
not(conc(A,[B],[C|D])).
Truncamiento
L1 =conc([],[a],[a])
L2 =conc([],[1,2],[1,2])
!- conc([1],[2,3],[1,2,3]).
...
Truncamiento
L1 =conc([s],[t],[s,t])
L2 =conc([1],[2,3],[1,2,3])
IIC 2006-2007
RGNC
Aprendizaje de ...
52
Ejemplos con CIGOL (III)
Is conc([A],[B|C],[A,B|C]) always true? y.
...
Absorción
conc([],[A|B],[A|B])
conc([A],[B|C],[A,B|C])
conc([],[A1 |B1 ],[A1 |B1 ])
@
τ1 =
@
conc([A2 |B2 ],C2 ,[A2 |D2 ]):- conc(B2 ,C2 ,D2 )
@
A1 → B
B1 → C
@
@
@
@
@
@
@
@

A2 → A



B2 → []
τ2 =
C2 → [B|C]



D2 → [B|C]







conc([A],[B|C],[A,B|C])
New clauses:[(conc([A|B],C,[A|D]):- conc(B,C,D)]
cover new facts: conc([A,B],[C|D],[A,B,C|D])] ...
Are new clauses always true: y.
IIC 2006-2007
RGNC
Aprendizaje de ...
53
Ejemplos con CIGOL (IV)
...
I know:
conc([],[A|B],[A|B]).
conc([A|B],C,[A|D]):- conc(B,C,D).
not(conc(A,[B],[C|D])).
!- conc([],[],[]).
...
Is conc([],A,A) always true? y.
...
I know:
conc([],A,A).
conc([A|B],C,[A|D]):- conc(B,C,D)
not(conc(A,[B],[C|D])).
IIC 2006-2007
Truncamiento
RGNC
Aprendizaje de ...
54
Golem (S. Muggleton y C. Feng, 1990)
La menor generalización general
Plotkin (1970) y Reynolds (1970) dotan al conjunto de términos de un
lenguaje de estructura de retı́culo mediante la relación de θ–subsunción.
Un concepto C subsume a otro D si D ⊂ C
La cláusula C1 θ–subsume a la cláusula C2 si existe una sustitución θ
tal que C1θ ⊂ C2
Forman retı́culo, i.e., dadas C1 y C2 existe un único inf (C1, C2) y
un único sup(C1, C2) que llamaremos menor generalización general
de C1 y C2.
IIC 2006-2007
RGNC
Aprendizaje de ...
55
Golem (mgg)
Menor generalización general (mgg):
Sea ψ : TERM × TERM → VAR
mgg(f (t1, . . . , tn), g(s1, . . . , sn)) =
mgg(p(t1, . . . , tn), q(s1, . . . , sn)) =

 f (mgg(t1, s1), . . . , mgg(tn, sn ))

ψ(f (t1, . . . , tn), g(s1, . . . , sn))

 p(mgg(t1, s1), . . . , mgg(tn, sn ))

No definida
Si f = g
e.o.c.
Si p = q
e.o.c.
mgg(C1, C2) = {mgg(l1, l2) : l1 ∈ C1, l2 ∈ C2}
IIC 2006-2007
RGNC
Aprendizaje de ...
56
Menor generalización (I)
Ejemplo 1:
expr(una,mujer)
expr(una,niña)
Ejemplo 2:
=⇒ expr(una,X)
expr(el,hombre) ← masc(el), masc(hombre)
expr(un,niño) ← masc(un), masc(niño)
=⇒ expr(X,Y) ← masc(X), masc(Y)
IIC 2006-2007
RGNC
Aprendizaje de ...
57
Menor generalización (II)
Ejemplo 3:
T
masc(el)←
masc(un)←
masc(niño)←
masc(hombre)←
H0 =
IIC 2006-2007
fem(la)←
fem(una)←
fem(niña)←
fem(mujer)←
O+
O−
expr(el,niño)←
expr(una,mujer)←
expr(el,hombre)←
expr(el,mujer)←
expr(una,niño)←
expr(un,niña)←
expr(X,Y) ← masc(X), masc(Y)
expr(X,Y) ← fem(X), fem(Y)
RGNC
Aprendizaje de ...
58
Ejemplos con Golem (I.a)
Lógica proposicional
Lenguaje:
• Dos sı́mbolos proposicionales: p y q
• Cinco conectivas: ¬, ∨, ∧, → y ↔.
Definición:
1. p es una fórmula.
2. q es una fórmula.
3. Si F es una fórmula, también (¬F ).
4. Si F y G son fórmulas, entonces también lo son (F ∨ G), (F ∧ G), (F → G) y (F ↔ G).
IIC 2006-2007
RGNC
Aprendizaje de ...
59
Ejemplos con Golem (I.b)
Ejemplos
O+
f ([q, →, [¬, q]]).
f ([p, ∧, q]).
f ([¬, p]).
f ([q, ∧, p]).
f ([[¬, p], ∧, [¬, q]]).
f ([p, ↔, q]).
f (q).
f ([q, ↔, p]).
f ([[¬, p], ↔, [p, ∧, q]]).
f ([p, ↔, [¬, p]]).
f ([¬, [¬, p]]).
f ([q, ∨, p]).
f ([[¬, q], ∨, [p, ∨, q]]).
f ([p, ∨, [¬, p]]).
f ([p, →, q]).
f (p).
f ([¬, q]).
f ([p, ∨, q]).
f ([q, →, p]).
f ([¬, ¬]).
f ([q, ∨, ∨]).
f ([¬, ∨, p]).
f ([¬, →, q]).
f ([q, q, p]).
f ([p, →, →]).
f ([p, p, q]).
f ([∧, p, p]).
f ([p, ∧, ∨]).
f ([¬, ∧, q]).
O−
f ([p, ↔, ∧]).
f ([∨, ↔, p]).
f ([↔, ↔, ↔]).
f ([p, p, [p, ↔, q]]).
f ([¬, p, [¬, p]]).
f ([[¬, q], ↔, [p, ∨, ∧]]).
Respuesta:
f (q).
f (p).
f ([¬, A]) : −f (A).
f ([A, →, B]) : −f ([¬, A]), f (B).
f ([A, ∧, B]) : −f ([¬, A]), f (B).
f ([A, ↔, B]) : −f ([¬, A]), f (B).
f ([A, ∨, B]) : −f (A), f (B).
IIC 2006-2007
RGNC
Aprendizaje de ...
60
Ejemplos con Golem (II.a)
Lenguaje natural
Lenguaje
• Ocho determinantes (d): el, la, los, las, un, una, unos, unas.
• Ocho nombres comunes (n): hombre, hombres, mujer, mujeres, niño, niños, niña, niñas.
• Ocho adjetivos (a): moreno, morena, morenos, morenas, rubio, rubia, rubios, rubias.
• Ocho nombres propios (np): Pepe, Paco, Antonio, Eduardo, Marı́a, Ana, Rosa, Julia.
Conocomiento base (Clasificación):
cl(paco,[np,m,s])
cl(rubias,[a,f,p])
IIC 2006-2007
RGNC
Aprendizaje de ...
61
Ejemplos con Golem (II.b)
Ejemplos: Estructura: (np), (d)+(n), (d)+(n)+(a)
O+ :
sn([la,niña,morena])
O− :
sn([una,niños,moreno])
Respuesta:
sn([la, mujer]).
sn([una, mujer]).
sn([A, niña]) : −cl(A, [d, f, s]).
sn([A]) : −cl(A, [np, B, s]).
sn([A, B]) : −cl(A, [d, m, s]), cl(B, [n, m, s]).
sn([A, B]) : −cl(A, [d, C, p]), cl(B, [n, C, p]).
sn([A, B, C]) : −cl(A, [d, D, E]), cl(B, [n, D, E]), cl(C, [a, D, E]).
IIC 2006-2007
RGNC
Aprendizaje de ...
62
Aplicación con Golem (I)
Predicción de la estructura secundaria de las proteinas
(OUCL en cooperación con Imperial Cancer Research Fund)
Dada la estructura primaria de una proteina (secuencia de aminoácidos),
• Encontrar la estructura secundaria
• Predecir si los residuos individuales formaán una hélice levógira
Ejemplos: 12 proteinas no homólogas (1612 residuos)
Conocimiento base: Propiedades fı́sicas y quı́micas de los residuos individuales
y su posición relativa dentro de la proteina
Sistema: GOLEM
21 cláusula producidas, cada una de unos 15 literales
Su precisión sobre un test independiente fue del 82 %, mientras que la precisión del
mejor método convencional fue del 73 %
IIC 2006-2007
RGNC
Aprendizaje de ...
63
Aplicación con Golem (II)
Predicción y Comparación de la acción de fármacos
Ejemplos: 44 fármacos que se ajustan a la plantilla A
Conocimiento base: Propiedades quı́micas de los sustituyentes
Sistema ILP: GOLEM
Las cláusulas inducidas fueron consideradas como una teorı́a novedosa por los quı́micos
La correlación entre el resultado de la predicción y la acción real
de los fármacos estudiados fue mejor que la alcanzada por métodos
de regresión.
IIC 2006-2007
RGNC
Aprendizaje de ...
64
Aplicación con Golem (III)
Clasificación biológica de la calidad del agua de un rı́o
Dada una lista de indicadores biológicos tomados en distintas muestras de agua y
sus niveles de abundancia, clasificarlos en una de las cinco clases B1a, B1b, B2,
B3, B4.
Ejemplos: 300 muestras de la cuenca superior de un rı́o de Gran Bretaña, clasificados por expertos.
Conocimiento base: Relaciones entre los niveles de abundancia.
Sistemas: GOLEM, CLAUDIEN
Reglas descubiertas interesantes (según evaluación experta):
b1b(X) ← ancilidae(X, A), gammaridae(X, B), . . . , greater than(D, B).
IIC 2006-2007
RGNC
Aprendizaje de ...
65
Invención de predicados (I)
Derivadas de potencias de una variable
Conocimiento base: Para toda potencia de una variable x, xm, existe un único monomio en
esa variable, axb, que representa la derivada de dicha potencia respecto de la variable.
Ejemplos:
Hipótesis:
IIC 2006-2007
d x2
= 2x
dx
d x5
= 5x4
dx
d xm
= mxm−1
dx
RGNC
Aprendizaje de ...
66
Invención de predicados (I)
| ?- cigol.
!- deriv([1,X,2],[2,X,1]).
...
I know:
deriv([1,A,2],[2,A,1]).
OPERADORES
Truncamiento
!- deriv([1,X,5],[5,X,4]).
...
Truncamiento
L1=deriv([1,X,2],[2,X,1])
L2=deriv([1,X,5],[5,X,4])
Is deriv([1,A,B],[B,A,C]) always true? n.
Intra–construcción
deriv([1,X,2],[2,X,1])
deriv([1,X,5],[5,X,4])
IIC 2006-2007
RGNC
Aprendizaje de ...
67
Invención de predicados (II)
p116(2,1)
c
c
c
deriv([1,A,B],[B,A,C]):-p116(B,C)
c
cc
c
c
c
#
c#
#
#
#
#
#
#
τ1
deriv([1,X,2],[2,X,1])
#
#c
c
c
p116(5,4)
c
τ2 c
#
c
c
c
c
#
c#
#
#
#
#
#
#
#
deriv([1,X,5],[5,X,4]
deriv([1,A,B],[B,A,C]:- p116(B,C).
p116(2,1).
p116(5,4).
What shall I call p116? ’menos 1’
...
I know:
deriv([1,A,B],[B,A,C]:- menos 1(B,C).
menos 1(2,1).
menos 1(5,4).
not(deriv([1,A,B],[B,A,C])).
IIC 2006-2007
RGNC
Aprendizaje de ...
68
KDD
El Descubrimiento de conocimiento en bases
de datos es el proceso de identificar en los datos
estructuras válidas, novedosas, potencialmente
útiles y en última instancia comprensibles
(U. Fayyad)
IIC 2006-2007
RGNC
Aprendizaje de ...
69
KDD: Fases
B
Dominio de la aplicación
u
Conocimiento de la aplicación
u Objetivos del proceso
B
Creación de la base de datos
B
Preproceso y limpieza de datos
B
Reducción de variables y datos
B
Elección del modelo resultante: Resumen, clasificación, regresión, . . .
B
Minerı́a de datos (Aprendizaje, ILP, ...)
B
Interpretación
B
Uso del conocimiento adquirido
IIC 2006-2007
RGNC
Aprendizaje de ...
70
Bibliografı́a
B
Lavrač, N. y Džeroski, S. Inductive Logic Programming Techniques
and Applications Ellis Horwood Ltd., 1994
B
Nienhuys–Cheng, S-H. y De Wolf, R. Foundations of Inductive
Logic Programming Springer–Verlag, 1997
B
Lavrač, N. y Džeroski, S. Relational Data Mining Springer., 2001
B
...
B
Network of Excellence in Inductive Logic Programming ILPnet2
u
B
http://www.cs.bris.ac.uk/ ILPnet2/
Otros enlaces
u
http://www.cs.us.es/cursos/ra/enlaces/
IIC 2006-2007
RGNC
Aprendizaje de ...
71
Bibliografı́a
B
Mitchell, T. M. Machine Learning McGraw–Hill, 1997. Capı́tulo
II.
u
B
http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/mitchell/ftp/mlbook.html
Lecturas recomendadas
u
u
u
Markov, Z Machine Learning Course
http://www-it.fmi.uni-sofia.bg/markov/courses/ml.html
Bratko, I. PROLOG Programming for Artificial Intelligence Tercera Edición. Addison–Wesley, 2001. Capı́tulo XVIII
Langley, P Elements of Machine Learning Morgan Kaufmann Publishers,
1996. Capı́tulo I
IIC 2006-2007
RGNC
Aprendizaje de ...
72
Bibliografı́a
B
Mitchell, T. M. Machine Learning McGraw–Hill, 1997. Capı́tulo
II.
B
M. Anthony y N. Biggs Computational Learning Theory Cambridge
University Press, 1992. Capı́tulo I.
B
Lecturas recomendadas
u
u
u
A.Aliseda–Llera Seeking Explanations: Abduction in Logic, Philosophy os
Science and Artificial Intelligence ILLC Dissertation Series, 1997. Capı́tulo
I
P. Flach Conjectures. An inquiry concerning the logic of induction ITK Dissertation series, 1995. Capı́tulo II
M.A. Gutiérrez Naranjo Operadores de generalización para el aprendizaje clausal
Tesis doctoral, 2002. Capı́tulo II
IIC 2006-2007
RGNC
Aprendizaje de ...
73
Descargar