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

Post on 17-Apr-2015

125 views 2 download

Transcript of CIn- UFPE Aprendizagem Simbólica Geber Ramalho Jacques Robin Francisco Carvalho CIn-UFPE.

CIn- UFPE

AprendizagemSimbólica

Geber RamalhoJacques Robin

Francisco Carvalho

CIn-UFPE

2CIn- UFPE

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

3CIn- UFPE

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.

4CIn- UFPE

Aprendizagem de máquina: a natureza dos exemplos

Conhecimento em extensão(exemplos percepção-ação,

características-conceitos, etc.)

Conhecimento em intenção(regras definições.)

Exemplosdia 29, a Caxangá estava engarrafadadia 30, a Caxangá estava engarrafadadia 01, a Caxangá estava engarrafadadia 03, a Caxangá estava engarrafada

Hipótese indutivaTodo dia, a Caxangá está engarrafada

5CIn- UFPE

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!

6CIn- UFPE

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.

7CIn- UFPE

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!

8CIn- UFPE

Modelo do Agente Aprendiz (on-line)

t

sensores

efetuadores

Agente

Gerador de problemas

crítico

elemento de aprendizagem

avaliação

objetivos de aprendizagem

elemento ator

trocas

conhecimento

a m

b i

e n

t e

t + 1

9CIn- UFPE

Modelo do Agente Aprendiz (off-line)

Algoritmo deAprendizagem

elemento ator

exemplos

conhecimento

sensores

efetuadoresa m

b i

e n

t e

Tre

inam

ento

Uso

10CIn- UFPE

Questões...

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)

11CIn- UFPE

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í!

12CIn- UFPE

Questões

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!)

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

Resumo: Aprendizagem indutiva

Objetos (dados)

clustering (ap. não-supervisionada)

Redes neurais, agrupamento conceitual, estatística, ...

1 23

Preguiçosa Knn, LWR, CBR,

novoalgoritmo

classe1,2 ou 3

K em

K

em

extensãoextensão

IdentificaçãoIdentificaçãooutro

objetoclassificador

classe

1,2 ou 3

Indução - geração de um classificador

ap. supervisionada

(árvore de decisão, conjunto deregras, redes neurais c/ pesos ajustados,...)

ID3, version space, redes neurais, naive bayes, ...

K em intençãoK em intenção

14CIn- UFPE

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

15CIn- UFPE

Á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

16CIn- UFPE

Á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?

17CIn- UFPE

Árvore de Decisão “pensada”

Sono?

CONIC?

Carro

Não.

Outros

CONIC?Carona

Sim

Sim.

Não

Não.

Não

Quer sair?Sim

Não.

Sim.

Não

Meio detransporte?

PoucoSim

Não.

Sim.

Não

Precisa deálcool?

Sim

Sim

Sim.

Não

Não.

atributovalores

18CIn- UFPE

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!

19CIn- UFPE

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)

20CIn- UFPE

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 folha5. Se os exemplos de treinamento estão classificados

perfeitamente, então PARE, senão comece novamente a partir dos novos nós folha

21CIn- UFPE

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;

Indução top-down de árvores de decisão (detalhe)

22CIn- UFPE

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• ...

23CIn- UFPE

Exemplo: atributo transporte

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

24CIn- UFPE

Exemplo: atributo sono

Sono?

sim pouco não

+:E01,E02,E04,E07,E10,E11,E12- :E03,E05,E06,E08,E09

+: E1,E2,E4, E7-: E6,E8

+: - - --: E3, E5, E9

+: E10,E11,E12-: - - -

25CIn- UFPE

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

26CIn- UFPE

940.0

)14/5(log)14/5()14/9(log)14/9(])5,9([ 22

Entropy

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:

)(||

||)(),(

)(v

AValuesv

v SEntropyS

SSEntropyASGain

Cálculo do ganho de informação

Gain(S,A)=redução esperada da entropia devido a “classificação” de acordo com A

28CIn- UFPE

+: E1,E2,E4, E7-: E6,E8

Árvore de Decisão “Induzida”

+: E1,E2,E4,E7,E10,E11,E12-: E3, E5, E6, E8, E9

Sono?Não

PoucoSim

+: - - --: E3, E5, E9

+: E10,E11,E12-: - - -

Sim.Não.

OutrosCarro Carona

Meio detransporte?

+: - - --: E6

+: E1,E7-: - - -

+: E2,E4-: E8

Sim. Não.Quer sair?Sim Não

+: E2,E4-: - - -

+: - - --: E8

Sim. Não.

29CIn- UFPE

Regras

É possível mostrar o resultado como regras lógicas

• 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)

30CIn- UFPE

Problemas c/ ID3: Expressividade

Só pode tratar de um único objetot 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”

t1t2 MesmoDia(t1,t2) Disposição(t1,d1)

Disposição(t2,d2) Maior (d1,d2) VaiASoparia(t)

• alternativa: atributo possoFicarMaisIndisposto(t)

31CIn- UFPE

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

32CIn- UFPE

Problemas gerais: ambigüidade

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.

33CIn- UFPE

Problemas gerais: overfitting

Overfitting (hiper-especialização):• Evitar encontrar uma “regularidade” muito restrita nos

dados

Soluções: • validação cruzada • poda

34CIn- UFPE

Treinamento Teste

Validação Cruzada Serve para evitar overfitting e para averiguar

robustez dos resultados

Algoritmo1) 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 TR3) Mede percentagem de erro de H aplicada à TE4) Repete passos 1-3 com diferentes tamanhos de TE e

TR, e tendo elemento escolhidos aleatoriamente

35CIn- UFPE

Curva de aprendizagem

36CIn- UFPE

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

37CIn- UFPE

Exemplos Práticos

Exemplos correntes• 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

CIn- UFPE

Aprendendo descrições lógicas

Version space

39CIn- UFPE

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!!!!

ExemplosHr: 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))

40CIn- UFPE

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)

41CIn- UFPE

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 HH

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

42CIn- UFPE

Hipóteses...

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 ....

Exemplo1 + Exemplo 2 +

43CIn- UFPE

Consistência 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

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

44CIn- UFPE

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

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

Generali-zação

Especiali-zação

hipótese inicial

Falso negativo

Hipótese muito restritiva

Falso positivo

Hipótese muito permissiva

46CIn- UFPE

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)

47CIn- UFPE

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

48CIn- UFPE

Exemplos

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

49CIn- UFPE

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

Mais Específico

Mais Geral

Região Inconsistente

Região Inconsistente

S1 S2 S3 ... Sn

G1 G2 G3 ... Gn

co

ns

iste

nte

51CIn- UFPE

Propriedades

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)

Exemplo (parte 1)exemplo restaurante refeicao dia Custo reação1 tonho Café Quinta Barato sim2 makro Almoço Quinta Caro não3 tonho Almoço Sábado Barato Sim4 club Café Domingo Barato Não5 tonho Café Domingo Caro não

[tonho,café,quinta,barato] S-set

[?, ?, ?, ?] G-set Ex1+: [tonho,café,quinta,barato]

Ex2-: [macro,almoço,quinta,caro]

Exemplo (parte 2)

Ex3+: [tonho,almoço,sábado,barato]

[tonho,café,quinta,barato]

[tonho, ?,?,?] [?,café,?,?] [?,?,?,barato]

[?, ?, ?, ?]

Ex1+: [tonho,café,quinta,barato]Ex2-: [makro,almoço,quinta,caro]

Exemplo (parte 3)

Ex1+: [tonho,café,quinta,barato]Ex2-: [makro,almoço,quinta,caro]Ex3+: [tonho,almoço,sábado,barato]

[tonho,café,quinta,barato]

[?,?,?,barato]

[?, ?, ?, ?]

[tonho, ?,?,?]

[tonho,?,?,barato]

Ex4-: [club,café,domingo,barato]

Exemplo (parte 4)

Ex1+: [tonho,café,quinta,barato]Ex2-: [makro,almoço,quinta,caro]Ex3+: [tonho,almoço,sábado,barato]Ex4-: [club,café,domingo,barato][tonho,café,quinta,barato]

[?,?,?,barato]

[?, ?, ?, ?]

[tonho, ?,?,?]

[tonho,?,?,barato]

[tonho,?,?,barato]

Ex5-: [tonho,café,domingo,caro]

56CIn- UFPE

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

57CIn- UFPE

Bibliografia adicional

Tom Mitchell • Generalization as search (paper)• Machine Learning (Livro)