Aprendizagem Simblica Geber Ramalho Jacques Robin Francisco Carvalho
Aprendizagem Simbólica Geber Ramalho Jacques Robin Francisco Carvalho CIn-UFPE CIn- UFPE
Construção de bases de conhecimento (baseadas em regras) n Críticas • Aquisição de conhecimento muito difícil (problema central!!!) • Desenvolvimento longo e manutenção delicada (conseqüência) • Sistema não se adapta • Não é robusto e tem tratamento de incerteza complicado n Soluções • Robustez e incerteza: Sistemas fuzzy, probabilísticos, . . . • Aquisição, tempo de desenvolvimento e adaptabilidade: Aprendizagem de máquina CIn- UFPE 2
Aprendizagem de máquina: exemplos n Prever classes de futuros pacientes de alto risco que devem fazer cesareana n Análise de risco de crédito: prever clientes não solventes n Prever comportamento de compra de clientes n Recomendar filmes para clientes n etc. CIn- UFPE 3
Aprendizagem de máquina: a natureza dos exemplos CIn- UFPE Conhecimento em extensão (exemplos percepção-ação, características-conceitos, etc. ) Exemplos dia 29, a Caxangá estava engarrafada dia 30, a Caxangá estava engarrafada dia 01, a Caxangá estava engarrafada dia 03, a Caxangá estava engarrafada Conhecimento em intenção (regras definições. ) Hipótese indutiva Todo dia, a Caxangá está engarrafada 4
Aprendizado indutivo n Inferência de uma regra geral (hipótese) a partir de exemplos particulares • ex. trânsito na caxangá n Precisão diretamente proporcional à quantidade de exemplos n É uma inferência que “preserva a falsidade” • só é verdade até aquele momento! CIn- UFPE 5
Aprendizagem n Atividade de uma agente = função f (percepção) ação n idéia: • aprender, a partir de exemplos (x, f(x)), representação de uma função h que aproxima f n Métodos • simbólico: indução • não simbólico: redes neurais, algo. genéticos, etc. CIn- UFPE 6
Questões: on-line x off-line n Aprender de uma vez ou aos poucos? • Incremental (on-line): atualiza hipótese a cada novo exemplo – mais flexível, situada. . . porém – ordem de apresentação é importante (backtracking) – é difícil revisar as crenças • não incremental (off-line): gera h a partir de todo conjunto de exemplos – mais eficiente e prática – mais usado! CIn- UFPE 7
Modelo do Agente Aprendiz (on-line) Agente t+1 sensores ambiente t avaliação trocas elemento ator elemento de conhecimento aprendizagem objetivos de aprendizagem efetuadores CIn- UFPE crítico Gerador de problemas 8
CIn- UFPE Algoritmo de Aprendizagem exemplos conhecimento ambiente Uso Treinamento Modelo do Agente Aprendiz (off-line) sensores elemento ator efetuadores 9
Questões. . . n O que aprender? • Aumentar/refinar conhecimento do agente – – – propriedades relevantes do mundo como o mundo evolui resultados das ações adequação de ações num dado contexto. . . • Aumentar eficiência do agente (não precisa mais refletir) – não gera conhecimento novo, propriamente dito n Como representar o que aprender? • eficiência x expressividade – ex. lógica de atributo valor (0+) x lógica de predicados (1) CIn- UFPE 10
Questões n Qual é o feedback disponível? • Aprendizagem supervisionada: certo ou errado – Dado um conjunto de exemplos pré-classificados, aprender uma descrição geral que encapsula a informação contida nesses exemplos e que pode ser usada para prever casos futuros – ex. concessão de crédito • Aprendizagem não-supervisionada: ? – Dada uma coleção de dados não classificados, agrupá-los por regularidades – ex. caixa de supermercado empacotando • Aprendizagem por reforço: recompensa/punição – ex. jogo de xadrez: é por aí! CIn- UFPE 11
Questões n Preguiçosa x Gulosa • Gulosa: gera conhecimento em intenção – custa mais na hora de gerar e de atualizar – mas é barata na hora de usar (identificar) • preguiçosa: usa conhecimento em extensão – custa mais na hora de usar mas é barata na hora de gerar (nem gera na verdade!) n Qual é o conhecimento prévio disponível? • Em geral existe e é importante – ex. artista e médico chegam a conclusões diferentes para as mesmas observações • IA simbólica captura melhor este conhecimento • influi também na descrição dos exemplos – ex. CNCT: Paraíba, Pernambuco, Ceará -> NE CIn- UFPE 12
Resumo: Aprendizagem indutiva Objetos (dados) clustering (ap. não-supervisionada) 1 Redes neurais, agrupamento conceitual, estatística, . . . 2 K em extensão 3 ap. supervisionada Indução - geração de um classificador (árvore de decisão, conjunto de regras, redes neurais c/ pesos ajustados, . . . ) K em intenção outro objeto Identificação classificador Preguiçosa ID 3, version space, redes neurais, naive bayes, . . . novo Knn, LWR, CBR, classe algoritmo 1, 2 ou 3 Identificação classe 1, 2 ou 3 13
2 Abordagens típicas em aprendizagem simbólica n Árvores de decisão: inductive decision trees (ID 3) • • Lógica de ordem 0+ (atributo/valor) Fáceis de serem implementadas e utilizadas aprendizagem não incremental estatística (admite exceções) n Espaço de versões (Version space) • • CIn- UFPE lógica de primeira ordem & resolução implementação mais complicada aprendizagem incremental indução lógica unicamente 14
Árvore de Decisão n A partir de um conjunto de propriedades, decide sim ou não n Representação de árvores de decisão • Cada nó interno testa um atributo • Cada ramo corresponde a um valor do atributo • Cada folha atribui uma classificação CIn- UFPE 15
Árvore de Decisão n Exemplo Soparia (by Carlos Figueira) • predicado-objetivo: vai. ASoparia • Atributos considerados: – Sono: Estou com sono? – Transporte: Tenho como ir de carro? Carona? etc. – CONIC: Devo estar amanhã cedo no CONIC? – Álcool: Estou precisando de álcool? – Sair: Quero sair de casa? – Fome: Estou com fome? CIn- UFPE 16
Árvore de Decisão “pensada” valores atributo Sono? Sim Pouco Não. Meio de transporte? Carro CONIC? Carona Precisa de álcool? Sim. CIn- UFPE Sim. Não. Sim. Outros Não. CONIC? Nã o Sim Não Quer sair? Sim. Não. 17
ID 3: exemplos da soparia n Atributos: (Sono, Transporte, CONIC, Álcool, Sair, Fome)-> propriedade-objetivo • • • CIn- UFPE E 01: (Pouco, Carro, Sim, Não, Sim) -> Sim! E 02: (Pouco, Carona, Não, Sim) -> Sim! E 03: (Sim, Carro, Não, Sim, Sim) -> Não. E 04: (Pouco, Carona, Não, Sim, Não) -> Sim! E 05: (Sim, Outros, Sim, Não) -> Não. E 06: (Pouco, Outros, Não, Sim) -> Não. E 07: (Pouco, Carro, Sim, Não, Sim) -> Sim! E 08: (Pouco, Carona, Não, Sim) -> Não. E 09: (Sim, Carro, Não, Sim, Não) -> Não. E 10: (Não, Outros, Sim, Sim) -> Sim! E 11: (Não, Carro, Não, Sim, Não) -> Sim! E 12: (Não, Carona, Não, Sim, Sim) -> Sim! 18
ID 3: conceitos n Classificação • aplicação do predicado objetivo p a um exemplo n Exemplo positivo (ep) e exemplo negativo (en) • p(ep) = verdadeiro, p(en) = falso n Conjunto de treinamento • positivos + negativos n Objetivo da aprendizagem • gerar a descrição d de p segundo os atributos dados • d deve ser consistente (cobre todos positivos e exclui todos negativos) e preditiva/geral (vai além da memorização) • d deve ser a mais simples possível (navalha de Ockahm) CIn- UFPE 19
Indução top-down de árvores de decisão n Loop principal: 1. A o “melhor” atributo de decisão para o próximo nó 2. Atribua A como atributo de decisão para nó 3. Para cada valor de A, crie um novo descendente para nó 4. Classifique os exemplos de treinamento nos nós folha 5. Se os exemplos de treinamento estão classificados perfeitamente, então PARE, senão comece novamente a partir dos novos nós folha CIn- UFPE 20
Indução top-down de árvores de decisão (detalhe) function APRENDIZAGEM_ID 3(exemplos, atributos, default) : árvore de decisão if (exemplos é vazio) then return default; else if (todos os exemplos têm a mesma classificação) then return (a classificação); elseif (atributos é vazio) then return maioria(exexmplos); else melhor <- ESCOLHA_MELHOR_ATRIBUTO(atributos, exemplos); árvore <- nova árvore com raiz “melhor”; para cada valor vi de melhor faça exemplosi <- exemplos onde melhor = vi; subárvore <- APRENDIZAGEM_DA_ID 3(exemplosi, atributos-{melhor}, maioria(exemplos)); adicione subárvore como um ramo à árvore com rótulo vi; return arvore; CIn- UFPE 21
Indução top-down de árvores de decisão n Escolha do melhor atributo • O que discrimina o maior número de exemplos • Maior ganho de informação (minimiza a entropia) n Candidatos: • Transporte: Não classifica imediatamente nenhum dos exemplos • Sono: Classifica de imediato 6 dos 12 exemplos • . . . CIn- UFPE 22
Exemplo: atributo transporte +: E 01, E 02, E 04, E 07, E 10, E 11, E 12 - : E 03, E 05, E 06, E 08, E 09 Transporte? carro +: E 01, E 07, E 11 -: E 03, E 09 CIn- UFPE carona +: E 02, E 04, E 12 -: E 08 outros +: E 10 -: E 05, E 06 23
Exemplo: atributo sono +: E 01, E 02, E 04, E 07, E 10, E 11, E 12 - : E 03, E 05, E 06, E 08, E 09 Sono? sim +: - - -: E 3, E 5, E 9 CIn- UFPE pouco +: E 1, E 2, E 4, E 7 -: E 6, E 8 não +: E 10, E 11, E 12 -: - - - 24
Entropia n S é uma amostra dos exemplos de treinamento n p é a proporção de exemplos positivos em S n p é a proporção de exemplos negativos em S n Entropia mede a “impureza” de S: • Entropia(S)=- p log 2 p CIn- UFPE 25
Entropia - Exemplo n Suponha que S é uma coleção de 14 exemplos, incluindo 9 positivos e 5 negativos • Notação: [9+, 5 -] n A entropia de S em relação a esta classificação booleana é dada por: CIn- UFPE 26
Cálculo do ganho de informação n Gain(S, A)=redução esperada da entropia devido a “classificação” de acordo com A 27
Árvore de Decisão “Induzida” +: E 1, E 2, E 4, E 7, E 10, E 11, E 12 -: E 3, E 5, E 6, E 8, E 9 Sono? Sim +: - - -: E 3, E 5, E 9 Não. Carro +: E 1, E 7 -: - - - Sim. Pouco +: E 1, E 2, E 4, E 7 -: E 6, E 8 Meio de transporte? Carona +: E 2, E 4 -: E 8 Quer sair? Sim +: E 2, E 4 -: - - - Sim. CIn- UFPE Não +: - - -: E 8 Não +: E 10, E 11, E 12 -: - - - Sim. Outros +: - - -: E 6 Não. 28
Regras n É possível mostrar o resultado como regras lógicas • toma-se as folhas com conclusão positiva e sobe-se até a raiz n Exemplos: • t Sono(Não, t) Vai. ASoparia(t) • t Sono(Pouco, t) Transporte(Carro, t) Vai. ASoparia(t) • t Sono(Pouco, t) Transporte(Carona, t) Quer. Sair(Sim, t) Vai. ASoparia(t) CIn- UFPE 29
Problemas c/ ID 3: Expressividade n Só pode tratar de um único objeto • t Sono(Não, t) Vai. ASoparia(t) • t Sono(Pouco, t) Transporte(Carro, t) Vai. ASoparia(t) n Mais de um. . . não dá com eficiência • Ex: “se posso ficar mais indisposto mais tarde, eu vou logo à soparia” • t 1 t 2 Mesmo. Dia(t 1, t 2) Disposição(t 1, d 1) Disposição(t 2, d 2) Maior (d 1, d 2) Vai. ASoparia(t) • alternativa: atributo posso. Ficar. Mais. Indisposto(t) CIn- UFPE 30
Problemas c/ ID 3: Expressividade n Exemplo: Goal predicate = Bom. Pesquisador (x) n Como tratar atributos multi-valorados? • Filiação(José, {USP, Unesp}) n Como tratar atributos numéricos? • Tem entre 45 e 52 anos n Como tratar listas ordenandas? • Formação = {graduação, mestrado, doutorado} n Como inserir conhecimento a priori? BR • Hierarquias conceituais NE CIn- UFPE PE PB Norte AL CE 31
Problemas gerais: ambigüidade n Ambigüidade: • Dois ou mais exemplos com a mesma descrição (em termos de atributos) mas classificações diferentes n Causas: • Ruído • Atributos insuficientes n Soluções: • tratamento estatístico • indução construtiva • etc. CIn- UFPE 32
Problemas gerais: overfitting n Overfitting (hiper-especialização): • Evitar encontrar uma “regularidade” muito restrita nos dados n Soluções: • validação cruzada • poda CIn- UFPE 33
Validação Cruzada n Serve para evitar overfitting e para averiguar robustez dos resultados n Algoritmo 1) Divide o conjunto de exemplos em dois subconjuntos: conjuntos de treinamento (TR) e de teste (TE) 2) Usa indução para gerar hipótese H sobre TR 3) Mede percentagem de erro de H aplicada à TE 4) Repete passos 1 -3 com diferentes tamanhos de TE e TR, e tendo elemento escolhidos aleatoriamente Treinamento CIn- UFPE Teste 34
Curva de aprendizagem CIn- UFPE 35
Quando usar árvores de decisão? n Instâncias (exemplos) são representadas por pares atributo-valor n Função objetivo assume apenas valores discretos n Hipóteses disjuntivas podem ser necessárias n Conjunto de treinamento possivelmente corrompido por ruído CIn- UFPE 36
Exemplos Práticos n Exemplos correntes • • Diagnóstico médico e de equipamentos Análise de crédito Recuperação de Informação etc. n Funciona mesmo • GASOIL – Sistema de separação de gás-óleo em plataformas de petróleo – Sistema de 10 pessoas-ano se baseado em regras – Desenvolvido em 100 pessoas-dia • Piloto automático de um Cessna – Treinado por três pilotos – Obteve um desempenho melhor que os três CIn- UFPE 37
Aprendendo descrições lógicas Version space CIn- UFPE
Aprendendo descrições lógicas n Dado o Predicado objetivo (unário) P, a tarefa é • encontrar uma expressão lógica C, equivalente a P, que classifique os exemplos corretamente • Hipótese (Hi) Definição Candidata (Ci) • x P(x) Ci(x) • é uma dedução!!!! n Exemplos Hr: r Vai. Esperar(r) Pessoas(r, Algumas) (Pessoas(r, Cheio) Fome(r) Tipo(r, Francês)) (Pessoas(r, Cheio) Fome(r) Tipo(r, Tailandês) Sex/Sab(r)) HS: t Vai. ASoparia(t) Sono(Não, t) (Sono(Pouco, t) Transporte(Carona, t) Conic(Sim, t)) CIn- UFPE 39
Aprendendo descrições lógicas (2/3) n O que é um exemplo (Xi)? • objeto em que o predicado objetivo p pode ou não se aplicar n representação • exemplo positivo: Di(Xi) P(Xi) • negativo: Di(Xi) P(Xi) n Por exemplo. . . • Pessoas(X 1, Cheio) Fome(X 1) Tipo(X 1, Tailandês) Sex/Sab(X 1) Vai. Esperar(X 1) CIn- UFPE 40
Aprendendo descrições lógicas (3/3) n O que é aprender? • processo de busca por uma boa hipótese Hi no espaço de hipóteses H n Idéia: • reduzir conjunto de hipóteses H 1 H 2 . . . Hn testando a consistência através de inferência (dedução) lógica • Direção: top-down (geral específico) ou bottom-up (específico geral ) n Problema • tamanho do espaço de hipóteses CIn- UFPE 41
Hipóteses. . . Exemplo 1 + n n n n CIn- UFPE Exemplo 2 + Existe um polígono hachurado Existem dois objetos, um sobre o outro Existem dois objetos & o inferior é um polígono Existem dois objetos & o inferior está hachurado Existem dois objetos, dos quais um é um quadrado. . 42
Consistência n Um exemplo pode ser: • falso negativo - Se a hipótese diz que deveria ser negativo mas de fato é positivo • falso positivo - Se a hipótese diz que deveria ser positivo mas de fato é negativo n Por exemplo. . . • Diante de Hs: – t Sono(Pouco, t) Transporte(Carona, t) vai. ASoparia(t) • O exemplo E 08: – Sono(Pouco, t 1) Transporte(Carona, t 1) Conic(Não, t 1) Alcool(Não, t 1) Sair(Não, t 1) Fome(Sim, t 1) Vai. ASoparia(t) • é um falso positivo CIn- UFPE 43
Busca no espaço de hipóteses n Existem duas soluções para o problema da complexidade da busca no espaço de hipóteses 1) busca pela melhor hipótese corrente 2) busca de engajamento mínimo CIn- UFPE 44
Busca pela melhor hipótese corrente (Current-best-hypothesis Search) n Manter uma hipótese única, e ajustá-la quando um novo exemplo chega a fim de manter a consistência: Generalizando e especializando hipótese inicial Falso negativo Hipótese muito restritiva Generalização Falso positivo Hipótese muito permissiva Especialização 45
Generalização/especialização n (H 1 C 1) (H 2 C 2) (H 1 mais geral que H 2) • x C 2(x) C 1(x) • define indução por meio da dedução para usar o poder da lógica n Importante: generalização/especialização podem ser operações sintáticas • variabilizar/instanciar de uma constante/variável – Conic(Sim) Conic(x) • adicionar/retirar condições: conjunções ou disjunções – Conic(Sim) Fome(Sim) CIn- UFPE 46
Exemplo do restaurante (aima pag. 534) Alt = alternativo? Hun = fome? Rain = chove? CIn- UFPE Bar = tem área de bar? Pat = vagas livres? Res = fez reserva? Fri = é sex ou sábado? Price = preço? Est = tempo de espera 47
Exemplos positivos: X 1, X 3, X 4; negativo: X 2 n X 1: exemplo inicial • H 1: x Vai. Esperar(x) Alternativo(x) n X 2: falso + • H 2: x Vai. Esperar(x) Alternativo(x) Pessoas(x, Algumas) n X 3: falso - • H 3: x Vai. Esperar(x) Pessoas(x, Algumas) n X 4: falso - • H 4: x Vai. Esperar(x) Pessoas(x, Algumas) (Pessoas(x, Cheio) Sex/Sab(x)) n Problema: backtracking CIn- UFPE 48
Busca de menor engajamento (Least-Commitment Search) n Espaço de hipóteses: H 1 H 2 H 3 . . . Hn n Solução 2: • Ao invés de uma hipótese, eliminamos unicamente aquelas inconsistentes com os exemplos até o momento. • Assim, cercamos (encurralamos) incrementalmente as hipóteses boas • Este conjunto de hipóteses consistentes restantes chama-se Espaço de Versões. n Dois conjuntos consistentes de hipóteses • G-set borda mais geral • S-set borda mais específica CIn- UFPE 49
Região Inconsistente G 1 G 2 G 3 . . . S 2 S 3 . . . Gn consistente Mais Geral Mais Específico S 1 Sn Região Inconsistente 50
Propriedades n Toda hipótese consistente é mais específica do que algum membro do G-set e mais geral que algum membro do Sset (ninguém está fora) n Toda hipótese mais específica que algum membro do Gset e mais geral que algum membro do S-set é uma hipótese consistente (não há buracos) n Como atualizar G-set e S-set? • S-set – falso+ -> fora – falso- -> generalizar (não pode mais especializar) • G-set – falso+ -> especializar – falso- -> fora CIn- UFPE (não pode mais generalizar) 51
Exemplo (parte 1) [? , ? , ? ] Ex 1+: [tonho, café, quinta, barato] G-set Ex 2 -: [macro, almoço, quinta, caro] [tonho, café, quinta, barato] S-set 52
Exemplo (parte 2) [? , ? , ? ] [tonho, ? , ? ] [? , café, ? ] [? , ? , barato] [tonho, café, quinta, barato] Ex 1+: [tonho, café, quinta, barato] Ex 2 -: [makro, almoço, quinta, caro] Ex 3+: [tonho, almoço, sábado, barato] 53
Exemplo (parte 3) [? , ? , ? ] [tonho, ? , ? ] [? , ? , barato] [tonho, ? , barato] Ex 1+: [tonho, café, quinta, barato] Ex 2 -: [makro, almoço, quinta, caro] Ex 3+: [tonho, almoço, sábado, barato] [tonho, café, quinta, barato] Ex 4 -: [club, café, domingo, barato] 54
Exemplo (parte 4) [? , ? , ? ] [tonho, ? , ? ] [? , ? , barato] [tonho, café, quinta, barato] Ex 1+: [tonho, café, quinta, barato] Ex 2 -: [makro, almoço, quinta, caro] Ex 3+: [tonho, almoço, sábado, barato] Ex 4 -: [club, café, domingo, barato] Ex 5 -: [tonho, café, domingo, caro] 55
Reflexões. . . n Mesmo com aprendizagem ainda existe um bom trabalho do engenheiro de conhecimento • escolher da descrição dos objetos (exemplos) – representação e conteúdo • • CIn- UFPE escolha dos exemplos escolha do algoritmo de aprendizagem parametrização do algoritmo de aprendizagem avaliação dos resultados 56
Bibliografia adicional n Tom Mitchell • Generalization as search (paper) • Machine Learning (Livro) CIn- UFPE 57
- Slides: 57