cin- ufpe aprendizagem simbólica geber ramalho jacques robin francisco carvalho cin-ufpe
Post on 17-Apr-2015
131 Views
Preview:
TRANSCRIPT
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)
top related