Title: Aprendizagem Simb
1AprendizagemSimbólica
- Geber RamalhoJacques RobinFrancisco Carvalho
- CIn-UFPE
2Construçã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
3Aprendizagem 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.
4Aprendizagem de máquina a natureza dos exemplos
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.)
5Aprendizado 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!
6Aprendizagem
- 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.
7Questõ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!
8Modelo do Agente Aprendiz (on-line)
Agente
t 1
sensores
crítico
t
avaliação
trocas
elemento de aprendizagem
elemento ator
conhecimento
a m b i e n t e
objetivos de aprendizagem
Gerador de problemas
efetuadores
9Modelo do Agente Aprendiz (off-line)
exemplos
Algoritmo de Aprendizagem
conhecimento
Treinamento
sensores
Uso
elemento ator
a m b i e n t e
efetuadores
10Questõ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)
11Questõ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í!
12Questõ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á -gt NE
13Resumo Aprendizagem indutiva
142 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
18ID3 exemplos da soparia
- Atributos (Sono, Transporte, CONIC, Álcool,
Sair, Fome)-gt propriedade-objetivo - E01 (Pouco,Carro,Sim,Sim,Não,Sim) -gt Sim!
- E02 (Pouco,Carona,Não,Não,Sim,Sim) -gt Sim!
- E03 (Sim,Carro,Não,Sim,Sim,Sim) -gt Não.
- E04 (Pouco,Carona,Não,Não,Sim,Não) -gt Sim!
- E05 (Sim,Outros,Sim,Sim,Sim,Não) -gt Não.
- E06 (Pouco,Outros,Não,Sim,Não,Sim) -gt Não.
- E07 (Pouco,Carro,Sim,Não,Sim,Sim) -gt Sim!
- E08 (Pouco,Carona,Não,Não,Não,Sim) -gt Não.
- E09 (Sim,Carro,Não,Sim,Sim,Não) -gt Não.
- E10 (Não,Outros,Sim,Sim,Sim,Sim) -gt Sim!
- E11 (Não,Carro,Não,Sim,Sim,Não) -gt Sim!
- E12 (Não,Carona,Não,Sim,Sim,Sim) -gt Sim!
19ID3 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)
20Induçã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
21Indução top-down de árvores de decisão (detalhe)
function APRENDIZAGEM_ID3(exemplos,atributos,defau
lt) á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 lt- ESCOLHA_MELHOR_ATRIBUTO(atributos,exempl
os) árvore lt- nova árvore com raiz
melhor para cada valor vi de melhor
faça exemplosi lt- exemplos onde
melhor vi subárvore lt-
APRENDIZAGEM_DA_ID3(exemplosi,
atributos-melhor, maioria(exemplos))
adicione subárvore como um ramo à árvore com
rótulo vi return arvore
22Induçã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
- ...
23Exemplo atributo transporte
24Exemplo atributo sono
E01,E02,E04,E07,E10,E11,E12 -
E03,E05,E06,E08,E09
Sono?
pouco
sim
não
E1,E2,E4, E7 - E6,E8
- - - - E3, E5, E9
E10,E11,E12 - - - -
25Entropia
- 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?
26Entropia - 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
27Cá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 - - - -
Sim.
Não.
29Regras
- É 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)
30Problemas 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)
31Problemas 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
32Problemas 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.
33Problemas gerais overfitting
- Overfitting (hiper-especialização)
- Evitar encontrar uma regularidade muito
restrita nos dados - Soluções
- validação cruzada
- poda
34Validaçã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
35Curva de aprendizagem
36Quando 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
37Exemplos 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
38Aprendendo descrições lógicas
39Aprendendo 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))
40Aprendendo 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)
41Aprendendo 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
42Hipóteses...
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
- ....
43Consistê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
44Busca 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
45Busca 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
46Generalizaçã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)
47Exemplo 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
48Exemplos
- 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
49Busca 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(No Transcript)
51Propriedades
- 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 -gt fora (não pode mais especializar)
- falso- -gt generalizar
- G-set
- falso -gt especializar
- falso- -gt fora (não pode mais generalizar)
52Exemplo (parte 1)
Ex1 tonho,café,quinta,barato
Ex2- macro,almoço,quinta,caro
53Exemplo (parte 2)
Ex1 tonho,café,quinta,barato Ex2-
makro,almoço,quinta,caro
Ex3 tonho,almoço,sábado,barato
54Exemplo (parte 3)
Ex1 tonho,café,quinta,barato Ex2-
makro,almoço,quinta,caro Ex3
tonho,almoço,sábado,barato
Ex4- club,café,domingo,barato
55Exemplo (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
Ex5- tonho,café,domingo,caro
56Reflexõ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
57Bibliografia adicional
- Tom Mitchell
- Generalization as search (paper)
- Machine Learning (Livro)