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

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

Aprendizagem Simbólica

Apresentações semelhantes


Apresentação em tema: "Aprendizagem Simbólica"— Transcrição da apresentação:

1 Aprendizagem Simbólica
Geber Ramalho Jacques Robin Francisco Carvalho CIn-UFPE

2 Construção de bases de conhecimento (baseadas em regras)
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 Soluções Robustez e incerteza: Sistemas fuzzy, probabilísticos,... Aquisição, tempo de desenvolvimento e adaptabilidade: Aprendizagem de máquina

3 Aprendizagem de máquina: exemplos
Prever classes de futuros pacientes de alto risco que devem fazer cesareana Análise de risco de crédito: prever clientes não solventes Prever comportamento de compra de clientes Recomendar filmes para clientes etc.

4 Aprendizagem de máquina: a natureza dos 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 Hipótese indutiva Todo dia, a Caxangá está engarrafada Conhecimento em extensão (exemplos percepção-ação, características-conceitos, etc.) Conhecimento em intenção (regras definições.)

5 Aprendizado indutivo Inferência de uma regra geral (hipótese) a partir de exemplos particulares ex. trânsito na caxangá Precisão diretamente proporcional à quantidade de exemplos É uma inferência que “preserva a falsidade” só é verdade até aquele momento!

6 Aprendizagem Atividade de uma agente = função f (percepção)  ação
idéia: aprender, a partir de exemplos (x,f(x)), representação de uma função h que aproxima f Métodos simbólico: indução não simbólico: redes neurais, algo. genéticos, etc.

7 Questões: on-line x off-line
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!

8 Modelo do Agente Aprendiz (on-line)
sensores crítico t avaliação trocas elemento ator elemento de aprendizagem conhecimento a m b i e n t e objetivos de aprendizagem Gerador de problemas efetuadores

9 Modelo do Agente Aprendiz (off-line)
exemplos Algoritmo de Aprendizagem Treinamento conhecimento sensores Uso elemento ator a m b i e n t e efetuadores

10 Questões... O que aprender? Como representar 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 Como representar o que aprender? eficiência x expressividade ex. lógica de atributo valor (0+) x lógica de predicados (1)

11 Questões 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í!

12 Questões Preguiçosa x Gulosa Qual é o conhecimento prévio disponível?
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!) 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

13 Resumo: Aprendizagem indutiva
Objetos (dados) clustering (ap. não-supervisionada) Redes neurais, agrupamento conceitual, estatística, ... 1 2 3 novo algoritmo classe 1,2 ou 3 extensão K em Identificação Indução - geração de um classificador ap. supervisionada (árvore de decisão, conjunto de regras, redes neurais c/ pesos ajustados,...) ID3, version space, redes neurais, naive bayes, ... K em intenção Preguiçosa Knn, LWR, CBR, Identificação outro objeto classificador classe 1,2 ou 3

14 2 Abordagens típicas em aprendizagem simbólica
Árvores de decisão: inductive decision trees (ID3) Lógica de ordem 0+ (atributo/valor) Fáceis de serem implementadas e utilizadas aprendizagem não incremental estatística (admite exceções) Espaço de versões (Version space) lógica de primeira ordem & resolução implementação mais complicada aprendizagem incremental indução lógica unicamente

15 Árvore de Decisão A partir de um conjunto de propriedades, decide sim ou não 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

16 Árvore de Decisão Exemplo Soparia (by Carlos Figueira)
predicado-objetivo: vaiASoparia 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?

17 Árvore de Decisão “pensada”
atributo valores Sono? CONIC? Carro Não. Outros Carona Sim Sim. Não Quer sair? Meio de transporte? Pouco Precisa de álcool?

18 ID3: exemplos da soparia
Atributos: (Sono, Transporte, CONIC, Álcool, Sair, Fome)-> propriedade-objetivo E01: (Pouco,Carro,Sim,Sim,Não,Sim) -> Sim! E02: (Pouco,Carona,Não,Não,Sim,Sim) -> Sim! E03: (Sim,Carro,Não,Sim,Sim,Sim) -> Não. E04: (Pouco,Carona,Não,Não,Sim,Não) -> Sim! E05: (Sim,Outros,Sim,Sim,Sim,Não) -> Não. E06: (Pouco,Outros,Não,Sim,Não,Sim) -> Não. E07: (Pouco,Carro,Sim,Não,Sim,Sim) -> Sim! E08: (Pouco,Carona,Não,Não,Não,Sim) -> Não. E09: (Sim,Carro,Não,Sim,Sim,Não) -> Não. E10: (Não,Outros,Sim,Sim,Sim,Sim) -> Sim! E11: (Não,Carro,Não,Sim,Sim,Não) -> Sim! E12: (Não,Carona,Não,Sim,Sim,Sim) -> Sim!

19 ID3: conceitos Classificação
aplicação do predicado objetivo p a um exemplo Exemplo positivo (ep) e exemplo negativo (en) p(ep) = verdadeiro, p(en) = falso Conjunto de treinamento positivos + negativos 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)

20 Indução top-down de árvores de decisão
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

21 Indução top-down de árvores de decisão (detalhe)
function APRENDIZAGEM_ID3(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_ID3(exemplosi, atributos-{melhor}, maioria(exemplos)); adicione subárvore como um ramo à árvore com rótulo vi; return arvore;

22 Indução top-down de árvores de decisão
Escolha do melhor atributo O que discrimina o maior número de exemplos Maior ganho de informação (minimiza a entropia) Candidatos: Transporte: Não classifica imediatamente nenhum dos exemplos Sono: Classifica de imediato 6 dos 12 exemplos ...

23 Exemplo: atributo transporte
carro outros +:E01,E02,E04,E07,E10,E11,E12 - :E03,E05,E06,E08,E09 carona +: E10 -: E05,E06 +: E01,E07,E11 -: E03,E09 +: E02,E04,E12 -: E08

24 Exemplo: atributo sono
+:E01,E02,E04,E07,E10,E11,E12 - :E03,E05,E06,E08,E09 Sono? sim pouco não +: - - - -: E3, E5, E9 +: E1,E2,E4, E7 -: E6,E8 +: E10,E11,E12 -: - - -

25 Entropia S é uma amostra dos exemplos de treinamento
p é a proporção de exemplos positivos em S p é a proporção de exemplos negativos em S Entropia mede a “impureza” de S: Entropia(S)=- p log2 p - p log2 p

26 Entropia - Exemplo Suponha que S é uma coleção de 14 exemplos, incluindo 9 positivos e 5 negativos Notação: [9+,5-] A entropia de S em relação a esta classificação booleana é dada por:

27 Cálculo do ganho de informação
Gain(S,A)=redução esperada da entropia devido a “classificação” de acordo com A

28 Árvore de Decisão “Induzida”
+: E1,E2,E4,E7,E10,E11,E12 -: E3, E5, E6, E8, E9 Sono? Não Sim Pouco +: E1,E2,E4, E7 -: E6,E8 +: - - - -: E3, E5, E9 +: E10,E11,E12 -: - - - Não. Sim. Outros Carro Carona Meio de transporte? +: - - - -: E6 +: E1,E7 -: - - - +: E2,E4 -: E8 Sim. Não. Quer sair? Sim Não +: E2,E4 -: - - - +: - - - -: E8 Sim. Não.

29 Regras É possível mostrar o resultado como regras lógicas Exemplos:
toma-se as folhas com conclusão positiva e sobe-se até a raiz Exemplos: t Sono(Não,t)  VaiASoparia(t) t Sono(Pouco,t)  Transporte(Carro,t)  VaiASoparia(t) t Sono(Pouco,t)  Transporte(Carona,t)  QuerSair(Sim,t)  VaiASoparia(t)

30 Problemas c/ ID3: Expressividade
Só pode tratar de um único objeto t Sono(Não,t)  VaiASoparia(t) t Sono(Pouco,t)  Transporte(Carro,t)  VaiASoparia(t) Mais de um... não dá com eficiência Ex: “se posso ficar mais indisposto mais tarde, eu vou logo à soparia” t1t2 MesmoDia(t1,t2)  Disposição(t1,d1)  Disposição(t2,d2)  Maior (d1,d2)  VaiASoparia(t) alternativa: atributo possoFicarMaisIndisposto(t)

31 Problemas c/ ID3: Expressividade
Exemplo: Goal predicate = BomPesquisador (x) Como tratar atributos multi-valorados? Filiação(José, {USP, Unesp}) Como tratar atributos numéricos? Tem entre 45 e 52 anos Como tratar listas ordenandas? Formação = {graduação, mestrado, doutorado} Como inserir conhecimento a priori? Hierarquias conceituais PE PB AL CE NE BR Norte

32 Problemas gerais: ambigüidade
Dois ou mais exemplos com a mesma descrição (em termos de atributos) mas classificações diferentes Causas: Ruído Atributos insuficientes Soluções: tratamento estatístico indução construtiva etc.

33 Problemas gerais: overfitting
Overfitting (hiper-especialização): Evitar encontrar uma “regularidade” muito restrita nos dados Soluções: validação cruzada poda

34 Validação Cruzada Serve para evitar overfitting e para averiguar robustez dos resultados Algoritmo 1) Divide o conjunto de exemplos em dois sub-conjuntos: 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 Teste

35 Curva de aprendizagem

36 Quando usar árvores de decisão?
Instâncias (exemplos) são representadas por pares atributo-valor Função objetivo assume apenas valores discretos Hipóteses disjuntivas podem ser necessárias Conjunto de treinamento possivelmente corrompido por ruído

37 Exemplos Práticos Exemplos correntes Funciona mesmo
Diagnóstico médico e de equipamentos Análise de crédito Recuperação de Informação etc. 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

38 Aprendendo descrições lógicas
Version space

39 Aprendendo descrições lógicas
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!!!! Exemplos Hr: r VaiEsperar(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 VaiASoparia(t)  Sono(Não,t)  (Sono(Pouco,t)  Transporte(Carona,t)  Conic(Sim,t))

40 Aprendendo descrições lógicas (2/3)
O que é um exemplo (Xi)? objeto em que o predicado objetivo p pode ou não se aplicar representação exemplo positivo: Di(Xi)  P(Xi) negativo: Di(Xi)   P(Xi) Por exemplo... Pessoas(X1,Cheio)   Fome(X1)  Tipo(X1,Tailandês)  Sex/Sab(X1)  VaiEsperar(X1)

41 Aprendendo descrições lógicas (3/3)
O que é aprender? processo de busca por uma boa hipótese Hi no espaço de hipóteses H Idéia: reduzir conjunto de hipóteses H1  H2  ...  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 ) Problema tamanho do espaço de hipóteses

42 Hipóteses... Existe um polígono Existe um polígono hachurado
Exemplo1 + Exemplo 2 + Existe um polígono 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 ....

43 Consistência Um exemplo pode ser: Por exemplo...
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 Por exemplo... Diante de Hs: t Sono(Pouco,t)  Transporte(Carona,t)  vaiASoparia(t) O exemplo E08: Sono(Pouco,t1)  Transporte(Carona,t1)  Conic(Não,t1)  Alcool(Não,t1)  Sair(Não,t1)  Fome(Sim,t1)  VaiASoparia(t) é um falso positivo

44 Busca no espaço de hipóteses
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

45 Busca pela melhor hipótese corrente (Current-best-hypothesis Search)
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 Generali- zação Falso positivo Hipótese muito permissiva Especiali- zação

46 Generalização/especialização
(H1  C1)  (H2  C2) (H1 mais geral que H2) x C2(x)  C1(x) define indução por meio da dedução para usar o poder da lógica 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)  Fome(Sim) Conic(Sim)  Fome(Sim)  Fome(Sim)

47 Exemplo do restaurante (aima pag. 534)
Alt = alternativo? Bar = tem área de bar? Fri = é sex ou sábado? Hun = fome? Pat = vagas livres? Price = preço? Rain = chove? Res = fez reserva? Est = tempo de espera

48 Exemplos H1: x VaiEsperar(x)  Alternativo(x)
positivos: X1, X3, X4; negativo: X2 X1: exemplo inicial H1: x VaiEsperar(x)  Alternativo(x) X2: falso + H2: x VaiEsperar(x)  Alternativo(x)  Pessoas(x,Algumas) X3: falso - H3: x VaiEsperar(x)  Pessoas(x,Algumas) X4: falso - H4: x VaiEsperar(x)  Pessoas(x,Algumas)  (Pessoas(x,Cheio)  Sex/Sab(x)) Problema: backtracking

49 Busca de menor engajamento (Least-Commitment Search)
Espaço de hipóteses: H1  H2  H3  ...  Hn 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. Dois conjuntos consistentes de hipóteses G-set  borda mais geral S-set  borda mais específica

50 Região Inconsistente G1 G2 G3 ... Gn S1 S2 S3 ... Sn Mais Geral
Mais Específico Mais Geral

51 Propriedades Como atualizar G-set e S-set?
Toda hipótese consistente é mais específica do que algum membro do G-set e mais geral que algum membro do S- set (ninguém está fora) Toda hipótese mais específica que algum membro do G- set e mais geral que algum membro do S-set é uma hipótese consistente (não há buracos) Como atualizar G-set e S-set? S-set falso+ -> fora (não pode mais especializar) falso- -> generalizar G-set falso+ -> especializar falso- -> fora (não pode mais generalizar)

52 Exemplo (parte 1) Ex1+: [tonho,café,quinta,barato] [?, ?, ?, ?] G-set
[tonho,café,quinta,barato] S-set [?, ?, ?, ?] G-set Ex1+: [tonho,café,quinta,barato] Ex2-: [macro,almoço,quinta,caro]

53 Exemplo (parte 2) [tonho,café,quinta,barato] [tonho, ?,?,?] [?,café,?,?] [?,?,?,barato] [?, ?, ?, ?] Ex1+: [tonho,café,quinta,barato] Ex2-: [makro,almoço,quinta,caro] Ex3+: [tonho,almoço,sábado,barato]

54 Exemplo (parte 3) [?, ?, ?, ?] [?,?,?,barato] [tonho, ?,?,?]
[tonho,café,quinta,barato] [?,?,?,barato] [?, ?, ?, ?] [tonho, ?,?,?] [tonho,?,?,barato] Ex1+: [tonho,café,quinta,barato] Ex2-: [makro,almoço,quinta,caro] Ex3+: [tonho,almoço,sábado,barato] Ex4-: [club,café,domingo,barato]

55 Exemplo (parte 4) [tonho,café,quinta,barato] [?,?,?,barato]
[?, ?, ?, ?] [tonho, ?,?,?] [tonho,?,?,barato] Ex1+: [tonho,café,quinta,barato] Ex2-: [makro,almoço,quinta,caro] Ex3+: [tonho,almoço,sábado,barato] Ex4-: [club,café,domingo,barato] Ex5-: [tonho,café,domingo,caro]

56 Reflexões... Mesmo com aprendizagem ainda existe um bom trabalho do engenheiro de conhecimento escolher da descrição dos objetos (exemplos) representação e conteúdo escolha dos exemplos escolha do algoritmo de aprendizagem parametrização do algoritmo de aprendizagem avaliação dos resultados

57 Bibliografia adicional
Tom Mitchell Generalization as search (paper) Machine Learning (Livro)


Carregar ppt "Aprendizagem Simbólica"

Apresentações semelhantes


Anúncios Google