Title: Programa
1Programação em Lógica Indutiva
2O que é ILP (Inductive Logic Programming)?
- ILP x resto da aprendizagem
- Descobre conhecimento novo expressado em lógica
da 1a ordem - ILP x resto da programação em lógica
- Inverte mecanismos de dedução para implementar
indução
3Programação em Lógica Indutiva x Dedutiva
- PL Dedutiva (Prolog, BD dedutivas)
- Fatos positivos declarados ? Regras Fatos
positivos deduzidos - Conhecimento prévio em extensão ? Conhecimento
prévio em intenção - Novo conhecimento comprovado em extensão
- PL Indutiva (Progol, BD indutivas)
- Fatos positivos declarados ? Fatos negativos
declarados - ? Regras declaradas ? Regras induzidas
- Conhecimento prévio em extensão ? Conhecimento
prévio em intenção - Novo conhecimento hipotético em intenção
- PL com Restrições (CLP, BD de restrições)
- Restrições instanciadas ? Restrições abstrata
- Restrições instanciadas (mais numerosas)
- ? Restrições abstratas (menos numerosas e
menos abstratas) - Conhecimento prévio em extensão ? Conhecimento
prévio em intenção - Novo conhecimento comprovado em extensão
- ? Novo conhecimento comprovado em intenção
4Programação em Lógica Indutiva tarefa genérica
- Dados
- exemplos positivos (Xi,f(Xi))
- exemplos negativos (Xj, ?f(Xj))
- conhecimento prévio B (regras)
- viés de aprendizagem (restrições sobre forma das
regras) - Aprende hipótese H (regras) tal que
- ? Xi,f(Xi), Xi ? B ? H f(Xi)
- ?? Xj,f(Xj), Xj ? B ? H f(Xj)
- H verifica restrições do viés de aprendizagem
- definido por limiar de tolerância ao ruído
- Linguagem de ILP x Prolog
- com negações no BD e nas conclusões
- sem símbolo de função, e.g. pessoa(nome(joão),ida
de(20)).
5Viés de aprendizagem em ILP
- Objetivo reduzir busca no espaço de hipótese
- Sintática paramétrica sobre cláusulas limitar
- número de premissas por cláusula,
- número de variáveis por cláusula,
- profundidade dos termos das cláusulas,
- nível dos termos das cláusulas.
- Semântica sobre predicados
- tipos dos seus argumentos
- instanciação dos seus argumentos
- constante , variável de entrada ou variável de
saída - - número de vezes que um predicado pode ser
satisfeito
6Programação em Lógica Indutiva (ILP)característi
cas
- Incremental ou não
- Não iterativo
- Top-down ou bottom-up ou bidirecional
- Guloso
- Global
- Aproveita conhecimento prévio para podar busca da
hipótese - Aproxima qualquer função
- Tarefas classificação,
- previsão e controle
- Ambiente pode ser
- inacessível, não episódico
- contínuo, ruidoso
- dinâmico?, grande?
- relacional, diverso
- Supervisionado E?E- ou E
- Treino antes da ação
- Representação do conhecimento
- exemplos, conhecimento prévio e conhecimento
aprendido - uniformemente representados por conjunto de
conjunto de cláusulas de Horn, - i.e., regras da lógica 1a ordem da forma
-
c(...,X,Y,Z, ...) - p1(...,X,Y,...),...,pn(...,Y,
Z,...). - com semântica ?...X,Y,Z,... c(...,X,Y,Z, ...) ?
p1(...,X,Y,...) ?...? pn(...,Y,Z,...)
7ILP x métodos baseados em atributos(ID3, Redes
Neurais, Redes Bayesianas)
- Vantagens
- Aprende conhecimento relacional em lógica da 1a
ordem - Aprende conhecimento diretamente executável
(programa Prolog) - Re-aproveita conhecimento prévio no mesmo
formalismo - Capaz de inventar novos predicados (i.e.,
conceitos) - Limitações
- Dificilmente aprende conhecimento interessante a
partir apenas de exemplos - Métodos suficientemente eficientes para grandes
BD - requer viés muito restringidor sobre regras a
aprender - não tem capacidade a inventar novos predicados
8Aprender relação abstrata com atributos ou lógica
proposicional
- Conhecimento a priori
- name1 ann
-
- name5 tom
- father11 F
-
- father31 T
-
- father54 T
- mother11 F
-
- mother55 F
- female1 T
-
- female5 F
- male1 F
- Exemplos positivos
- daughter42 T
- daughter13 T
- Exemplo negativos
- daughter11 F
-
- daughter44 F
- Aprende
- daughter(D,P) - female(D), parent(P,D),
- D 1,2,3,4,5, P 1,2,3,4,5.
- Limitação
- name6 maria
- female6 T
- parent56 T
- ? daughter65
9Aprender relação abstrata com ILP
- Conhecimento a priori
- Intencional
- parent(F,C) - father(F,C).
- parent(M,C) - mother(P,C).
- Extensional
- father(pat,ann).
- father(tom,sue).
- female(ann).
- female(eve).
- female(sue).
- male(pat).
- male(tom).
- mother(eve,sue).
- mother(ann,tom).
- Exemplos
- Positivos
- daughter(sue,eve).
- daughter(ann,pat).
- Negativos
- not daughter(tom,ann).
- not daughter(eve,ann).
- Aprende
- daughter(D,P) -
- female(D), parent(P,D).
10Aprender definição recursiva com ILP
- Conhecimento a priori
- Intencional
- parent(F,C) - father(F,C).
- parent(M,C) - mother(M,C).
- Extensional
- father(pat,ann).
- father(tom,sue).
- female(ann).
- female(eve).
- female(sue).
- male(pat).
- male(tom).
- mother(eve,sue).
- mother(ann,tom).
- Exemplos positivos
- ancestor(tom,sue).
- ancestor(eve,sue).
- ...
- Exemplo negativos
- not ancestor(ann,eve).
- not ancestor(sue,eve).
- ...
- Definição induzida
- ancestor(A,D) - parent(A,D).
- ancestor(A,D) -
- parent(A,P), ancestor(P,D).
11Algoritmo genérico de ILP
- inicialize fila de hipótese Fh
- repetir
- delete H de Fh
- escolha regras de inferências R1, , Rk em R
- induz H1, , Hn aplicando R1, , Rk a H
- coloca H1, , Hn em Fh
- pode Fh
- até satisfazer critérioDeParada para Fh
- Qualquer algoritmo de ILP
- é uma instância desse algoritmo
- com definições e implementações particulares
para - inicialize, delete, escolha, pode e
critérioDeParada
12Semântica monótona
- Propriedades
- Consistência a priori B ? D- F
- Necessidade a priori B ? F
- Consistência a posteriori B ? D- ? H F
- Completude a posteriori B ? H D
- Casos particulares
- Monótona definida
- Monótona normal com B e H limitado a cláusulas
definidas, - ie, c(X,Y) - p(X), q(Y) mas não T - p(X), q(Y).
- Monótona baseada em exemplos
- Monótona definida com todos D fatos instanciados
- (unit ground clauses)
- ie, c(a,b) ou not c(a,b) mas nem c(X,b), nem
c(a,b) - p(a),q(b).
13Modelos de Herbrand
- M(L) modelo de Herbrand de um programa lógico L
sse - M(L) p(, c, ) p ? pred(L) ? c ? const(L)
? L p(,c,) - todos os fatos instanciados
formados a partir de - predicados e constantes de L e
deriváveis a partir de L - Exemplo L male(paulo). female(ana). male(joao).
- parent(paulo,joao).
parent(ana,joao). - father(F,C) - parent(F,C),
male(F). - mother(M,C) - parent(F,C),
female(M). - M(L) male(paulo). female(ana).
male(joao). - parent(paulo,joao).
parent(ana,joao). - father(paulo,joao).
mother(ana,joao). - Thm L sem not ? ??M(L) mínimo
14Semântica não-monótona
- Pressupostos
- D ? B
- D- L(H) - B via hipótese do mundo fechado
- B limitado a cláusulas definidas
- M(B) modelo de Herbrand mínimo de B
- Propriedades
- Validade H ? M(B)
- Completude H M(B)
- Mínima G ? H ? G inválido ou incompleto
- Mais conservadora do que semântica monótona
- B ave(piupiu). ave(oliver).
- D voa(piupiu).
- Com semântica monótona, voa(X) - ave(X). ? H
- Com semântica não-monótona, voa(X) - ave(X). ? H
15Generalizacão x Especialização
- Generalização (busca bottom-up)
- parte da hipótese a mais específica um exemplo
- iterativamente a generaliza
- aplicando regras de indução
- até a 1a que cobre
- todos os exemplos positivos - taxa de erro
- nenhum exemplo negativos - taxa de erro
- Especialização (busca top-down)
- parte da hipótese a mais geral
- c(,X,) -.
- iterativamente a especializa
- aplicando regras de dedução
- até a 1a que cobre
- todos os exemplos positivos - taxa de erro
- nenhum exemplo negativos - taxa de erro
16Regras e operadores para ILP
- Especialização (refinamento) baseado em
?-Subsumption - Relative Least General Generalization (RLGG)
- Resolução inversa em V
- Resolução inversa em W (invenção de predicados)
- Implicação inversa
- Derivação inversa (inverse entailment)
17?-Generalização (?-Subsumption)
- G ?-generaliza S sse ? substituição ?, ?(G) ? S
- ie, G se unifica com uma parte de S
- ex, com ? D/ann, daughter(D,P) - female(D).
- ?-generaliza daughter(ann,P) - female(ann),
parent(P,ann). - Sugere 2 operadores de especializações
- aplicar substituição e acrescentar premissa
- (G ?-generaliza S) ? (G S) -- G entails S
- mas (G S) ?(G ?-generaliza S)
- contrex,
- G humano(paiDe(H)) - humano(H).
- S humano(paide(paiDe(H))) - humano(H).
- G S, porém G não ?-generaliza S
?
18Busca top-down em reticulado de refinamento
- Adaptação de ID3 para representação da 1a ordem
- Espaço de hipótese
- reticulado no qual cada no ?-generaliza seus
filhos - em cima conclusão a aprender sem premissa
- em baixo contradição ou hipótese mais específica
Hms tal que - Hms ? B D (e Hms ? B ? D-)
- Percorre reticulado de cima para baixo em largura
1a - Cada passo implementa uma abordagem gerar
testar - gerar todas as hipóteses Hn em L(H) refinando a
hipótese atual - testar função heurística de
- número de D tal que Hn ? B D
- número de D- tal que Hn ? B D-
- tamanho de Hn
19Busca top-down em reticulado de refinamento
exemplo
daughter(D,P).
...
...
daughter(D,D).
daughter(D,P) - parent(P,D).
daughter(D,P) - parent(D,X).
daughter(D,P) - female(D).
...
...
daughter(D,P) - female(D), female(D).
daughter(D,P) - female(D), parent(P,D).
daughter(D,P) - parent(P,D), female(D).
20Generalização mínima relativa
- Generalização mínima de 2 termos T e L
(literais) - substituição dos sub-termos que não se casam com
variáveis - ex, lgg(daughter(mary,ann),daughter(eve,tom))
daughther(D,P) - unificação inversa
- Generalização mínima de 2 cláusulas
- lgg(C1 - P1, , Q1. , C2 - P2, , Q2)
- lgg(C1,C2) - lgg(P1,P2), , lgg(Q1,Q2).
- ex, lgg(daughter(mary,ann) - female(mary),parent(
ann,mary). , - daughter(eve,tom) -
female(eve),parent(tom,eve).) - daughter(D,P) - female(D),
parent(P,D). - Generalização mínima de 2 termos C1 e C2 relativa
a - BDE D1, , Dn a priori
- rlgg(C1,C2) lgg(C1 - D1, , Dn. , C2 - D1, ,
Dn)
21Generalização mínima relativa exemplo
- Com BDE parent(ann,mary). parent(ann,tom).
parent(tom,eve). parent(tom,ian). female(ann).
female(mary). female(eve). - rlgg(daughter(mary,ann). , daughter(eve,tom).)
- lgg(daughter(mary,ann) - BDE. ,
daughter(eve,tom) - BDE. ). - daughter(D,P) - BDE, parent(ann,D0),
parent(P,D), parent(P1,D1), - parent(P2,D2),
parent(P3,D3), parent(P4,D4), - female(D1),
female(D2), female(D). - daughther(D,P) - parent(P,D),female(D).
- Em GOLEM
- premissas redundantes podadas usando bias
semântico limitando busca a cláusulas
determinadas.
22Resolução inversa em V
- Absorção
- Identificacão
- Para L1 necessidade de inverter unificação
- achatar cláusulas introduzindo um novo predicado
de aridade n1 para cada função de aridade n - ex, member(a,a,b) ou member(a,.(a,.(b,nil)))
chateado em - member(U,V) - a(U), dot(V,U,X), dot(X,Y,Z),
b(Y), nil(Z). - unificação de 2 cláusulas achatadas reduz-se a
casamento de padrão das suas premissas. - Limitação vocabulário fixo de predicados
23Exemplo de resolução inversa em Vencadeamento
de 2 absorções
H2 daughter(D,P) - parent(P,D), female(D).
B2 female(mary).
mary/D
H1 daughter(mary,P) - parent(P,mary).
B1 parent(ann,mary).
ann/P
q1 b21 parent q2 female p1 p2
daughter a11 b11 a21 T
E1 daughter(mary,ann).
24Resolução inversa em Winvenção de predicados
- Intra-construção
- Inter-construção
- Limitações
- incapacidade em inverter derivação envolvendo
várias vezes a mesma cláusula hipotética - complexidade da busca aumenta com conhecimento a
priori - ex, intra-construção 2 cláusulas ? 3 cláusulas
25Exemplo de invenção de predicado com
intra-construção
q parent b1 father p a1
ancestor c1 mother
26Viés sobre L(H) motivação
- Se L(H) contem qualquer cláusula de Horn gerável
- por refinamento da cláusula sem premissa
- por resolução inversa de 2 elementos de B U D
- Então
- espaço de busca (seja bottom-up ou top-down)
- grande demais para ser explorado eficientemente
- as vezes até infinito
- Viés sobre L(H)
- meta-conhecimento heurístico a priori
- permitindo limitar espaço de busca
27Viés sintático sobre L(H)
- Conhecimento estrutural a priori sobre as
hipóteses - preciso e específico do domínio
- ou heurístico e geral
- Dimensões
- explícito/implícito
- parametrizado/declarativo
- Formalismos de declaração explícito de bias
sintático - gramática de cláusulas definidas (DCG -- Definite
Clause Grammar) - formalismo built-in da programação em lógica para
parsing and geração de linguagens) - cláusulas da 2a ordem
28Exemplo de viés sintático declarado com DCG
- head(father(P,C)).
- head(mother(P,C)).
- body(father(P,C)) --gt m(P),f(P),parent(P,C).
- body(mother(P,C)) --gt m(P),f(P),parent(P,C).
- m(M) --gt .
- m(M) --gt male(M).
- f(M) --gt .
- f(M) --gt female(M).
29Exemplo de restrições sintáticas declaradas com
cláusulas da 2a ordem
- Q(P,F) - R(P,F).
- Q(P,F) - S(P).
- Q(P,F) - S(P), R(P,F).
- Q(P,F) - S1(P), S2(P), R(P,F).
- Substituição da 2a ordem
- ? Q/father,S/male,R/parent
- seleciona cláusula father(P,F) - male(P),
parent(P,F).
30Viés sintático parametrizado
- lista dos nomes de predicado permitidos em
hipóteses - número máximo de premissas por cláusula
- número máximo de variáveis por cláusula
- profundidade máxima dos termos das cláusulas
- nível máximo dos termos das cláusulas
- variável V é ligada em cláusula C - P1, , Pn
sse - V ?C, ou
- ? i ? 1, , n, ? W ? V V ? Pi ? W ? Pi ? W
ligada em C - P1, , Pn. - cláusula ligada sse todas suas variáveis são
ligadas - ex, p(X) - q(Z) não ligada, p(X) -
q(X,Y),r(Y,Z),u(Z,W) ligada. - nível n(t) de um termo t em cláusula ligada C -
P1, , Pn - 0 se t ? C, ou 1 min(n(s)) se t ? Pi ? s ? Pi
- ex, n(C, grandfather(G) - male(G), parent(G,F),
parent(F,C)) 2
31Viés semântico sobre L(H) tipos e modos
- Tipos
- const(a). const(b).
- clist().
- clist(HT) - const(H), clist(T).
- Modos restrições sobre predicados
- na conclusão (modeh) ou premissa (modeb) das
regras - número de vezes que um predicado pode ser
satisfeito - tipos dos seus argumentos
- instanciação dos seus argumentos (constante ,
variável de entrada ou variável de saída -) - ex modos para append
- - modeh(1,append(clist,clist,-clist))?
- - modeh(1,append(constclist,clist,-const-
clist))? - - modeh(1,append(clist,clist,-clist))?
- - modeb(1,append(clist,clist,-clist))?
32Viés semântico sobre L(H) determinação
- h(,X0i,...) - p1(...,X1j,), , pn(,Xnk,).
determinada dados um conhecimento a priori B e
exemplos D sse - as instanciações dos X0j, , Xij restringem os
X(i1)j a um único valor, ie, - ? i ? 1,,n, ? Xij ? pi, ? Xkl, k lt I, ?! v tal
que - Xij/v compatível com Xkl/vkl
- Exemplo
- D parent(jef,paul).
- parent(jef,ann).
- male(paul).
- female(ann).
- hasFather(C) - parent(P,C). determinada P/jef
- isFather(F) - parent(F,C). não determinada
C/paulann - Torna aprendizagem eficiente (porém incompleto)
33Preferências sintáticas e probabilísticas
- ?(H) número de bits na codificação mínima de H
- Thm
- H que minimiza ?(H) em L(H) também maximiza P(HB
?E) - ie, a hipótese mais concisa sempre corresponde a
mais verossímil - Prova Thm de Bayes Thm de Shannon
- Justificação téorica do navalha de Occam
34Aplicações práticas de KDD por ILP
- Medicina e saúde
- previsão dos efeitos de uma nova droga composta a
partir dos efeitos dos seus componentes em drogas
testadas - previsão da forma 3D de uma proteína a partir da
sua seqüência de ácidos-amidos - descoberta de regras diagnosticas em reumatologia
- CAD/CAM
- descoberta de regras escolhendo resolução de
elementos finitos em modelos numéricos de
estresses em estruturas - derivar regras de diagnostico de falha em
satélites a partir de regras causais modelando o
funcionamento dos mesmos
- Jogos
- descoberta de regras para jogar xadrez
- Engenharia de software
- programação (em lógica) automática
- otimização de código (de programas lógicos)
- teste e depuração de código (de programas
lógicos) - descobertas de restrições de integridade
implícitas em BD - Processamento de linguagem natural
- aprendizagem de regras de gramáticas de uma
língua natural a partir de grande corpus de textos