A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Learning Sets of Rules Tom Mitchel (cap. 10) Victor Cisneiros (vcac) Sergio Sette (sss3) Pablo Viana (pabv)

Apresentações semelhantes


Apresentação em tema: "Learning Sets of Rules Tom Mitchel (cap. 10) Victor Cisneiros (vcac) Sergio Sette (sss3) Pablo Viana (pabv)"— Transcrição da apresentação:

1 Learning Sets of Rules Tom Mitchel (cap. 10) Victor Cisneiros (vcac) Sergio Sette (sss3) Pablo Viana (pabv)

2 Learning Sets of Rules  Objetivo: Estudar algoritmos capazes de aprender hipóteses como um conjunto de regras IF-THEN Ao contrário de outros métodos de aprendizagem como Redes Neurais por exemplo, regras no formato IF-THEN podem ser facilmente entendidas por pessoas humanas.  As regras aprendidas são expressões da lógica proposicional e da lógica de primeira- ordem

3 Motivação  Em 1995 um sistema PROGOL conseguiu aprender a seguinte regra a partir de vários dados de proteínas: Fold(FOUR-HELICAL-UP-AND-DOWN-BUNDLE, p) ← Helix(p,h 1 ) Λ Length(h 1,HIGH) Λ Position(p,h 1,n) Λ (1≤n≤3) Λ Adjacent(p,h 1,h 2 ) Λ Helix(p,h 2 )  Essa regra pode ser traduzida para o inglês como: The protein P has a fold class “Four helical up and down bundle” if it contains a long helix h 1 at a secondary structure position between 1 and 3 and h 1 is next to a second helix.

4 Motivação  Essa facilidade de compreensão das regras torna esse método bastante atrativo para o uso em experimentos científicos  Biólogos poderiam por exemplo, estudar e criticar a tradução em inglês da hipótese mostrada no slide anterior

5 Como aprender um conjunto de regras?  Uma maneira seria utilizar uma árvore de decisão Uma regra para cada folha:  IF (Outlook = Sunny) Λ (Humidity = High) THEN PlayTennis = NO  IF (Outlook = Sunny) Λ (Humidity = Normal) THEN PlayTennis = YES  IF (Outlook = Overcast) THEN PlayTennis = YES ... etc

6 Outros Algoritmos  Podem aprender regras na forma de cláusulas de Horn de primeira-ordem Ao contrário da árvore que aprende apenas regras proposicionais Mais expressivo, permitem expressar variáveis e relacionamentos entre elas  Aprendem as regras uma de cada vez, iterando o processo até o final (Sequential Covering) Árvores aprendem todo o conjunto de regras de uma só vez

7 Considere a seguinte base de dados Attributes Target Attribute (O que se deseja aprender)

8 Sequential Covering  Suponha função LEARN-ONE-RULE Entrada: Um conjunto de exemplos de treinamento positivos e negativos Saída: Uma regra que cobre vários dos exemplos positivos e nenhum ou poucos negativos (A regra deve ter uma boa taxa de acerto mas não necessariamente precisa englobar muitos exemplos)

9 Sequential Covering  Dada essa função LEARN-ONE-RULE, um jeito óbvio de aprender um conjunto de regras seria: 1. Invocar LEARN-ONE-RULE sobre todos os exemplos 2. Remover todos os exemplos positivos cobertos pela regra aprendida 3. Invocar LEARN-ONE-RULE novamente sobre os exemplos restantes 4. Repetir o processo até atingir a fração desejada de exemplos positivos cobertos pelas regras

10 Sequential Covering

11 Como implementar LEARN-ONE-RULE?  Organizar o espaço de busca da mesma forma que o algoritmo ID3 de árvores de decisão  Começar com uma regra geral e ir adicionando os testes de atributos que mais melhoram a perfomance da regra  Ao contrário do algorítmo ID3, essa implementação só segue um único ramo da árvore

12 Como implementar LEARN-ONE-RULE?

13  O algoritmo sugerido anteriormente realiza uma busca em profundidade gulosa sem backtracking  Como toda busca gulosa, corre o risco de encontrar uma solução não ótima. Para minimizar isso pode se utilizar uma beam- search (a cada passo manter os K melhores candidatos) Esse é o algoritmo CN2

14

15 First-Order Logic  Os algoritmos apresentados até agora só são capazes de aprender conjuntos de regras da lógica proposicional  Veremos a seguir, o algoritmo FOIL, capaz de aprender regras da lógica de primeira ordem, que são mais expressivas pois podem conter variáveis e são capazes de expressar relacionamentos entre elas

16 First-Order Logic  Constantes: Lula, ACM, unicórnio, 10  Variáveis: x, y  Predicados: Corrupto, Maior_Que Assumem valores True ou False como resultado  Funções: idade Assumem qualquer constante como resultado

17 First-Order Logic (Expressões)  Termo: Qualquer constante, variável ou qualquer função aplicada a um termo Ex: Lula, x, idade(Lula)  Literal: Qualquer predicado aplicado a um termo, ou sua negação Ex: Corrupto(ACM), ¬Maior_Que(idade(Lula), 60)  Cláusula: Qualquer disjunção de literais...  Cláusula de Horn: Uma cláusula contendo no máximo 1 literal positivo Ex: H V ¬L 1 V... ¬L n equivalente à H ← (L 1 Λ... Λ L n ) ou IF L 1 Λ... Λ L n THEN H

18 FOIL  Algoritmo para aprendizagem de regras de primeira ordem (cláusulas de Horn)  Segue a mesma idéia dos já vistos SEQUENTIAL-COVERING e LEARN-ONE- RULE

19 FOIL  Ex: Suponha que queiramos aprender a definição do predicado Grandfather(x, y) Divide-se os dados em exemplos positivos e negativos: Positivos: { George, Anne } { Phillip, Peter }... Negativos: { George, Elizabeth } { Harry, Zarra }...

20 FOIL (Ilustração Simples)  O algoritmo FOIL constrói um conjunto de cláusulas, cada uma com Grandfather(x, y) como “head” → Grandfather(x, y)  Essa cláusula classifica todos os exemplos como positivos então é necessário especializá-la (adicionando liteirais). 3 adições em potencial: Father(x, y) → Grandfather(x, y) Parent(x, z) → Grandfather(x, y) Father(x, z) → Grandfather(x, y)  O 1º classifca errado todos os 12 exemplos positivos, o 2º e 3º aceitam todos positivos mas erram alguns negativos, como o 3º erra menos escolhe-se ele Father(x, z) Λ Parent(z, y) → Grandfather(x, y)  Como essa cláusula classifica corretamente todos os exemplos, o algoritmo FOIL irá escolhê-lo

21 FOIL

22 FOIL – Especializando uma regra  Seja a regra atual P(x 1,x 2,...,x k ) L 1 Λ... L n L 1... L n são literais compondo as atuais condições e P(x 1,x 2,...,x k ) o predicado que se deseja aprender. O FOIL irá gerar os seguintes candidatos:  Q(v 1... v r ) onde Q é qualquer predicado ocorrendo nos exemplos e v 1... v r são quaisquer variáveis presentes na regra ou novas variáveis (no mínimo um v i deve pertencer a regra atual)  Equal(v j,v k ) onde v j e v k são variáveis já presentes na regra  A negação de um dos literais acima

23 FOIL – Especializando uma regra  Exemplo: regra atual = GrandDaughter(x,y) Father(y,z) predicados = Father e Female Os candidatos serão a adição dos seguintes literais à regra atual:  Equal(x,y), Female(x), Female(y), Father(x,y), Father(y,x) Father(x,z), Father(z,x), Father(y,z), Father(z,y) e a negação destes literais

24 FOIL – Especializando uma regra  Como escolher o candidato mais promissor? Aquele que classifica o maior número de exemplos positivos e o menor número de exemplos negativos Foil_Gain  p 0 = número de exemplos positivos da regra atual  n 0 = número de exemplos negativos da regra atual  p 1 = número de exemplos positivos da regra especializada  n 1 = número de exemplos negativos da regra especializada

25 Indução como o inverso da dedução  Uma abordagem diferente para a programação em lógica indutiva é baseada na observação de que a indução nada mais é que o inverso da dedução.

26 Indução como o inverso da dedução

27 Invertendo o método da resolução  Método da Resolução: Dada duas cláusulas C 1 e C 2, encontre a literal L de C 1 tal que ¬L ocorre em C 2. Forme uma cláusula derivada C, incluindo os literais de C 1 e C 2, exceto L e ¬L. C = (C 1 – {L}) U (C 2 – {¬L})  Resolução inversa: Dada duas cláusulas C 1 e C, encontre a literal L que ocorre em C 1, mas não aparece em C. Forme a segunda cláusula C 2, incluindo as literais: C 2 = (C - (C 1 - {L})) U {¬L}

28 Invertendo o método da resolução

29 Resolução – First-Order Case  A diferença principal entre a resolução no caso proposicional e no de primeira-ordem é o processo de unificar substituições.  Uma substituição é qualquer mapeamento de variáveis a termos.  Na lógica de predicados para executar a resolução procuramos por uma literal L 1 em C 1, de modo que exista uma unificação de substituições entre ela e a negação de uma literal, ¬L 2, em C 2.

30 Resolução Inversa – First-Order Case  Podemos derivar da fórmula da resolução, por manipulação algébrica, considerando

31 Resolução Inversa – First-Order Case

32 Referências  Tom Mitchell. Machine Learning. McGraw-Hill  Stuart Russel, Peter Norvig. Artificial Intelligence: A Modern Approach. Second Edition. Prentice Hall


Carregar ppt "Learning Sets of Rules Tom Mitchel (cap. 10) Victor Cisneiros (vcac) Sergio Sette (sss3) Pablo Viana (pabv)"

Apresentações semelhantes


Anúncios Google