1 Geber Ramalho & Márcio Dahia
Aprendizado baseado em instâncias(Aprendizagem Preguiçosa)
Vizinhos mais Próximos (kNN)
Raciocínio Baseado em Casos (CBR)
2 Geber Ramalho & Márcio Dahia
Sistemas Especialistas convencionais
Aprendizagem gulosa: ID3, Version Space, ...
Aprendizagem preguiçosa: kNN, CBR,...
Experiência: o que o especialista tem de mais valioso
Experiência (exemplos)
Experiência (exemplos)
Experiência (exemplos)
S O
L U
Ç Ã
O
Regras
Engenheiro de conhecimento
NovoProblema
Dedução
Regras
Indução
Dedução
Indução
3 Geber Ramalho & Márcio Dahia
Aprendizagem Baseada em Instância
Aprendizagem Gulosa (convencional)
• construção explícita da função f que generaliza os exemplos de treinamento.
• Estima f de uma vez por todas para todo o espaço de exemplos
• métodos: ID3, Version Space, MLP Neural Nets, ...
Aprendizagem Baseada em Instância (IBL) ou aprendizagem preguiçosa:
• simplesmente armazena os exemplos de treinamento
• deixa a generalização de f só para quando uma nova instância precisa ser classificada
• a cada nova instância, uma f nova e local é estimada
• métodos: vizinhos mais próximos, regressão localmente ponderada, raciocínio baseado em casos, etc.
Aprendizagem Baseada em Instância
Objetos (dados)
clustering (ap. não-supervisionada)
Redes neurais, agrupamento conceitual, estatítica, ...
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
Gulosa
ap. supervisionada
(árvore de decisão, conjunto deregras, redes neurais c/ pesos ajustados,...)
ID3, version space, RN-MLP naive bayes, ...
K em intençãoK em intenção
5 Geber Ramalho & Márcio Dahia
Aprendizagem Baseada em Instância
Como?• Armazena as instâncias de treinamento• Calcula a distância entre as instâncias de treinamento e
a instância desconhecida• Avalia o valor da função de classificação a partir dos
valores das instâncias mais próximas
Diferentes métodos possuem diferentes formas de:
• Representar as instâncias de treinamento
• Calcular a distância entre instâncias
• Avaliar o valor da função de classificação
6 Geber Ramalho & Márcio Dahia
k vizinhos mais próximos
7 Geber Ramalho & Márcio Dahia
k vizinhos mais próximos
Método mais antigo (1967) e difundido
Instâncias são representadas por pontos num espaço n dimensional n
• instância x = <a1(x), a2(x), a3(x), ..., an(x)>
Onde ar(x) representa o valor do r-ésimo
atributo
A distância entre as instâncias pode ser calculada pela distância euclidiana ou outras
n
rjrirji xaxaxxd
1
2))()((),(
8 Geber Ramalho & Márcio Dahia
x = < idade(x), altura(x), peso(x)>, onde adimplente pode ser “sim”, “não”]
Exemplo de treinamento = (x,f(x)), onde f(x) é a função de classificação a ser aprendida
• joão = (<36, 1.80, 76>, ???) a ser classificado
• josé = (<30, 1.78, 72>, sim)
• maria = (<25, 1.65, 60>, sim)
• anastácia = (<28, 1.60, 68>, não)
Distância
• d(joão,josé) = [(36-30)2 + (1.80-1.78)2 + (76-72)2]1/2 = (36+0.0004+16)1/2 = 7,21
• d(joão,maria) = (121+0.0225+256)1/2 = 19,41
k vizinhos mais próximos: exemplo
As distâncias entre os pontos podem ser eventualmente normalizadas
9 Geber Ramalho & Márcio Dahia
k vizinhos mais próximos
A função de classificação
• Caso seja discreta, seu resultado é aquele que aparecer mais vezes entre os k vizinhos mais próximos (V = conjunto de valores possíveis da função)
• Caso seja contínua, seu resultado é a média dos resultados dos k vizinhos mais próximos
f̂
Vf n :
nf :
10 Geber Ramalho & Márcio Dahia
k vizinhos mais próximos: Algoritmo para estimar f
//Treinamento
Adicione cada instância de treinamento <x,f(x)> na lista instancias_treinamento
//Classificação
Para cada instância xq a ser classificada
Chame de x1,x2,...xk as k instâncias mais próximas de xq na lista
instancias_treinamento
Caso discreto retorna
Caso contínuo retorna
babaδ(a,b)
xfvxfk
ii
Vvq
se 0 e se 1 a igual é onde
))(,(maxarg)(ˆ1
k
xfxf
k
ii
q
1
)()(ˆ
11 Geber Ramalho & Márcio Dahia
Caso discreto
• Percebe-se que o k é determinante na classificação
--
-xq+
++ +
-
-
- k = 1 classifica xq como +
k = 5 classifica xq como -
k vizinhos mais próximos: exemplo
12 Geber Ramalho & Márcio Dahia
Caso contínuo
• exemplo = filme = <ano, bilheteria>
• classificação f = recomendação r Z, r = [1...5]
• r(x1) = 4, r(x2) = 3, r(x3) = 5, r(x4) = 2
• para k = 3 e supondo que x1, x2 e x3 são os mais próximos
de xq, temos
• f(xq) = (4+3+5)/3 = 4
k vizinhos mais próximos: exemplo
13 Geber Ramalho & Márcio Dahia
http://www.cs.cornell.edu/Info/People/chew/Delaunay.html
k vizinhos mais próximos
Visualização da “superfície de decisão”, para k = 1
• Diagrama de Voronoi => poliedro convexo para cada instância de treinamento.
• As instâncias dentro do poliedro são completamente classificados pela instância associada
14 Geber Ramalho & Márcio Dahia
Refinamento óbvio (p/ melhorar robustez)
• ponderar a contribuição de cada um dos k vizinhos de acordo com sua distância ao ponto de consulta xq
– Caso discreto
– Caso contínuo
•
k
ii
k
iq
fxf
1
1ii )(x
)(ˆ
),xd(xω
qii
1onde
k
iii
Vvq xfvxf
1
))(,(maxarg)(ˆ
k vizinhos mais próximos
15 Geber Ramalho & Márcio Dahia
k vizinhos mais próximos
Problema da dimensionalidade
• Para calcular a distância entre os pontos, o método utiliza todos os atributos da instância
Conseqüências:
• pode custar caro
• atributos irrelevantes podem deturpar a classificação
Soluções
• Atribuir pesos j aos atributos de maneira que minimize a taxa de erro de classificação
• Usar a técnica de validação cruzada para automaticamente escolher os pesos
• Eliminar atributos do espaço de instâncias
16 Geber Ramalho & Márcio Dahia
Regressão Localmente Ponderada (LWR)
Há como generalizar K vizinhos mais próximos
• Constrói uma aproximação explicita de uma função f(xq) em
uma região próxima de xq levando em conta a distância
entre estas e xq
• A aproximação é então usada para calcular o valor ponto xq. • A descrição de f’(x) é apagada, pois a função de
aproximação será construída para cada instância a ser consultada
17 Geber Ramalho & Márcio Dahia
Regressão localmente ponderada
Função de aproximação mais comum
Escolher i que minimiza a soma dos quadrados dos erros em relação ao conjunto de treinamento D
Mas existem diferentes propostas para minimizar o erro...
• Erro quadrático sobre os k-vizinhos mais próximos
• Erro quadrático ponderado em D,...
)(...)()(ˆ110 xaxaxf nn
Dx
q xfxfx2
)(ˆ)(2
1)E(
18 Geber Ramalho & Márcio Dahia
Raciocínio Baseado em Casos (CBR)
Mais que um método de aprendizagem preguiçosa: é um método de resolução de problemas!!!!!!
19 Geber Ramalho & Márcio Dahia
Compreensão de histórias (Sistema IPP)
IRA guerrilas ambushed a military patrol in west Belfast yesterday killing one british soldier and badly wounding another Army quarters
a suspected IRA gunman killed a 50-year old unarmed security guard in east Belfast early today the police said
A gunman shot and killed a part-time policeman at a soccer match Saturday and escaped through the crowd...
situação-explicaçãoou
problema solução
Nova explicação/solução
Nova situação/problema
20 Geber Ramalho & Márcio Dahia
“Experiência vivida”
Classificação: “Os problemas de ouvido deste paciente são casos típicos de otite média”
Soluções compiladas: “Os sintomas de coração do paciente X podem ser explicados da mesma maneira que aquele paciente Y”
Avaliando medidas: Minha casa é como aquela que foi vendida mais em baixo nesta rua por R$25.000,00 mas ela tem uma vista melhor”
Concepção (design): para projetar este hospital, vou me basear naquele que já fiz com um número de leitos parecido, embora tenha de adaptá-lo pois este é de esquina
Avaliando opções: se nós atacássemos as instalações dos mísseis cubanos/russos, seria como no caso de Pearl Harbor
21 Geber Ramalho & Márcio Dahia
Experiência: o que o especialista tem de mais valioso
Case-based reasoning system
• Um método de resolução de problemas onde novos problemas
são resolvidos adaptando-se soluções de antigos problemas
similares
• Raciocínio analógico intra-domínio
• aprendizado incremental on-line
Em termos de IBL
• Representação mais complexa das instâncias
• Cálculo diversificado da distância entre instâncias
• Não só classifica, mas adapta!!! É um método de resolução de problemas
22 Geber Ramalho & Márcio Dahia
Raciocínio baseado em casos
Historicamente:
• Wittgenstein (conceituação em extensão)
• Edel Tulving (memória episódica)
• Gentner (analogia), ....
• Roger Schank (scripts)
• Janet Kolodner (memória dinâmica)
Um caso
• é um episódio vivido
• contém a descrição de : problema + solução
• exemplos: um paciente, um projeto arquitetônico, uma situação, uma causa jurídica, uma melodia, etc.
23 Geber Ramalho & Márcio Dahia
Exemplo
Usos- classificação (casa dos meus sonhos?)- estimação de preços
novocaso(alvo)problema
baseReutilizar
Recuperar
Reter
Revisar
novocaso
(alvo)
soluçãosugerida
soluçãofinal
casosolução
casotestado
ecorrigido
casoaprendido
Indexar
Funcionamento do CBR: ciclo dos 4 RE´s
casorecupe-
rado(fonte)
25 Geber Ramalho & Márcio Dahia
Desenvolvimento de um sistema CBR
Qual a natureza e conteúdo dos casos?
Como representá-los?
Como indexá-los de maneira a poder encontrá-los adequadamente e rapidamente mais tarde?
Qual são os critérios para a escolha do melhor caso e como recuperá-lo?
Como estruturar (organizar) os casos da base?
Como adaptar o caso recuperado?
26 Geber Ramalho & Márcio Dahia
Natureza e conteúdo dos casos
Pergunta chave
• O que é um caso no domínio abordado?
Conteúdo
• Mínima: descrição do problema e da solução
• Extensões: avaliação da solução (falhas, sucesso, etc.) , contexto (justificação, links com outros casos, etc.),
Outros
• Tamanho e composição (casos compostos)
Quantidade de casos
• distribuir bem no espaço de problema n-dimensional (n atributos)
27 Geber Ramalho & Márcio Dahia
Representação dos casos
Várias linguagens
• de vetores de características
• Atributo-valor (frames, redes semânticas, objetos, ...)
• lógica de primeira ordem
Depende da natureza do que se quer representar
• Velho problema da expressividade x eficiência
• ex.– situaçãoDeMediação(c1, disputa) protagonistas (c1, criança11,
criança20, criança32) objetoDisputado (c1, chocolate) ...
• ex. – objeto: disputa;– atributos: protagonistas, objetoDisputado
28 Geber Ramalho & Márcio Dahia
Indexação
Objetivo: dar ao sistema conhecimento sobre como estocar e comparar (match) casos
Vocabulário de indexação
• índice = atributo, característica, predicado, ...
• Pode ser feita manual ou automaticamente – Checklist, difference-based, inductive learning, ...
Conselhos
• levar em conta a utilização que se quer fazer (propósito)– ex. para um mecânico e para um cliente de locadora, a
descrição de um automóvel é bem diferente
29 Geber Ramalho & Márcio Dahia
Indexação (cont.)
Interpretação de situação
• os índices realmente relevantes para um problema/situação em particular
• ex. em uma disputa entre crianças a profissão não conta, enquanto na disputa entre adultos, ela conta
preçoanomodelomarcaopcionaiskilometragemmotorcor....
30 Geber Ramalho & Márcio Dahia
A recuperação é baseada na similaridade entre caso alvo e casos fontes
• Dois tipos de cálculo de similaridade: explícito ou indireto
Medida explícita (mais usado!)
• independente da estratégia de recuperação ou da organização da memória
• k vizinhos mais próximos (knn)
Medida indireta
• dependente da estratégia de recuperação e/ou da organização da memória
• memória dinâmica (hierárquica)
Critério para escolha dos casos
31 Geber Ramalho & Márcio Dahia
wi - peso da característica iaxi e ayi - valores da característica f nos casos C e Ssimi - função primitiva para a característica i
n
i i
yixii
n
i i
w
avaloravalorsimwYXSimil
1
1))(),((
),(
k vizinhos mais próximos (k = 1)
Observações
• similaridade global [0-1], sem ordem de testes
• mais fácil introduzir conhecimento do domínio: pesos
• os pesos podem ser definidos manualmente ou por métodos automáticos
32 Geber Ramalho & Márcio Dahia
ano = 1997modelo= Gol marca = VWcor = vermelhoPreço = 1000
Carro 1
ano = 1996modelo= Golf marca = VWcor = azulPreço = 1500
Carro 2
ano = 1995modelo= Tempramarca = Fiatcor = azulPreço = 1300
Carro 3
Exemplo
Pesos
• ano = 2, modelo = 3, marca = 2, cor = 1, preco =1
Funções primitivas
• ano: (diferença 2) => 1; (2 < dif 4) => 0,5; (dif > 4) => 0
• modelo: igual => 1; diferente => 0
• marca: igual => 1; diferente => 0
• cor: igual => 1; parecida => 0,5; diferente => 0
• preço: (dif 250) => 1; (250 < dif < 1000) => 0,5); (dif > 1000) => 0
33 Geber Ramalho & Márcio Dahia
Organização da memória
Memória plana
• Implementação: lista simples (1 nível de indexação)
• Métodos de recuperação– Busca serial (custa caro)– Busca paralela
• Medida de similaridade– explícita (knn)
Memória hierárquica
• Implementação: – características compartilhadas– redes de discriminação
• Métodos de recuperação & Medida de similaridade– implícita (basta percorrer!)
Características compartilhadas
situaçãoDeMediação = disputa
Tipo: disputa física(Korea)
Tipo: disputa política(Panama)
Protagonistas: paísestipoDeObjetoDisputado: terras
Protagonistas: criançastipoDeObjetoDisputado: comida
Desejo: objeto inteiro(Laranja1)
Desejo: diferentes partes do objeto(Laranja2)
objDisputado: laranjarelaçãoFamiliar: irmãsidades: adolescentes
objDisputado: Candy(Candy)
35 Geber Ramalho & Márcio Dahia
Organização da memória
Trade-offs:
• eficiência x completude– eficiência na inserção x eficiência na consulta– ordem fixa dos testes pode levar a a recuperação do caso que
não é o mais similar
• “plausibilidade” x facilidade de introduzir conhecimento
Organizações alternativas de memória
• template trees, z-trees, ...
36 Geber Ramalho & Márcio Dahia
Similaridade e recuperação
O casamento é parcial !!!! =>Mais robustez
Etapas da recuperação
• Matching: encontrar os N casos mais similares ao caso alvo
• Ranking: Escolher o melhor caso MC em relação o alvo
Questão: a similaridade basta?
• nas tarefas de design (projeto), não basta!
• É preciso: adaptation-based retrieval
37 Geber Ramalho & Márcio Dahia
Reutilização
Objetivo: compensar as diferenças entre o problema-alvo e problema-fonte escolhido
Adaptação: 3 tipos • Cópia: usada normalmente em classificação• Adap. Estrutural: a partir da própria solução recuperada• Adap. Derivacional: a partir da maneira com que a solução
recuperada foi gerada
Para as duas últimas as operações são:• ajuste de parâmetros, abstração e especialização, substituição,...
Problema: • depende do domínio,coordenação do conjunto de operadores de
transformação
38 Geber Ramalho & Márcio Dahia
Reutilização
Exemplo
• JULIA precisa criar uma refeição italiana (e que não contenha carne) composta de entrada, massas, refeição principal e sobremesa;
• Baseando-se em casos anteriores, JULIA escolhe lasanha como prato principal. Porém:
– a refeição original inclui um prato de massas. Para simplificar, JULIA elimina o prato de massas;
– lasanha inclui carne. Devido à restrição do problema, uma lasanha vegetariana é proposta;
39 Geber Ramalho & Márcio Dahia
Exemplo de reutilização: reinstanciação
Método
• Determine os papéis dos envolvidos no caso retido;
• Faça a correspondência dos papéis no problema proposto;
• Reinstancie os atributos e relações do caso retido de acordo com as respectivas correspondências;
Ex.: MEDIATOR
• resolução de conflitos: como dividir uma laranja entre duas crianças interessadas?
• caso anterior: método utilizado por pescadores;
• reinstanciação: identificação dos papéis de cada entidade envolvida (pescador criança, peixe laranja, objetivo divisão)
40 Geber Ramalho & Márcio Dahia
Outros Métodos
Ajuste de parâmetros
• ex.: cálculo de novo valor de um imóvel;
Substituição baseado em casos
• encontrar outro caso que sugira uma alternativa;
• por que não utilizar logo este caso?
41 Geber Ramalho & Márcio Dahia
Revisão e retenção
Revisão
1) Avaliar a solução (automaticamente ou não)
2) Consertar o caso
Retenção
1) Extração da informação a reter
2) indexação
3) inserção do caso na base
42 Geber Ramalho & Márcio Dahia
Aplicações: estado da arte
Todas as classes de problemas dos SEs baseados em regras
• diagnóstico, planejamento, scheduling, interpretação, cozinha, design, seleção, ensino,....
Existem ferramentas (shells)
• ReMind, CAsePOint,CASUEL, ART*, ReCall, CBR-Express,...
Exemplos• Machine Tool Fault Diagnosis
• Computer Network Diagnosis
• Credit Analysis
• Geological Deposit Prediction
• Battle Planning
Mais aplicações...
• Bank Telex Classification
• Natural Language Understanding
• Network Management
• Legal Reasoning
• Claims Settlement
• Medical Diagnosis
• Weather Prediction
• Fraud Detection
• Industrial Planning and Scheduling
• Residential Domain
• Aircraft Maintenance Domain
• Helpdesk Systems for PC Network Diagnostics
44 Geber Ramalho & Márcio Dahia
Algumas aplicações na WEB
FindMe agents
• sugere filmes e carros em locadoras
• raciocino através de exemplos
• busca não hierárquica
Correspondent agents
• usa técnicas de recuperação de casos para encontrar textos: FAQ-finder
Analog Devices
• help desk: o sistema responde às dúvidas mais simples, restringindo a necessidade em contatar seus engenheiros
45 Geber Ramalho & Márcio Dahia
Problemas
Aquisição & descrição dos casos
• nem sempre é trivial além de demandar conhecimento do domínio!
O controle da medida de similaridade é fraco pois o matching é parcial
• o acúmulo de semelhanças “irrelevantes” faz com que certos casos sejam escolhidos em detrimento dos outros
• como ter certeza que as propriedades A e B serão determinantes na recuperação de um caso que contém 20 atributos?
A explicação
• pode ser prejudicada quando a recuperação é baseada em uma medida de similaridade numérica
46 Geber Ramalho & Márcio Dahia
Balanço e conclusões
Apesar das limitações, é bem mais fácil e rápido desenvolver e manter um sistema CBR. E ele é mais robusto!
• CLAVIER na Lockheed (fornos) - de 60% para 10%, taxa de erro
• General dynamics (barcos) - 5 homens-ano x 2 homens-ano.
• CANASTA da DEC: 8 vezes mais rápido
47 Geber Ramalho & Márcio Dahia
Quando usar CBR?
Existe uma grande volume de dados históricos
Os especialistas falam sobre seus domínio dando exemplos
A experiência vale tanto quanto o conhecimento dos livros texto
Os problemas não são completamente formalizáveis• fraca compreensão do problema, dificuldade de verbalização
Existem conhecimento para adaptação de casos• adequado para tarefas de projeto (design)
Existem muitas exceções às regras
É preciso aprender “on-line”
48 Geber Ramalho & Márcio Dahia
Balanço entre aprendizado guloso e preguiçoso
Guloso
• Generaliza função de classificação
• Aproximação global
• Treinamento lento
• Classificação rápida
Preguiçoso
• Não generaliza a função de classificação
• Aproximação local
• Treinamento rápido
• Classificação lenta
• KNN - considera todos os atributos
49 Geber Ramalho & Márcio Dahia
Referências básicas
Aamodt, A; Plaza, E. (1994). “Case-Based Reasoning: Foundational Issues, Methodological Variantions, and System Approaches”. Em AI Communications, Vol. 7, nr. 1;
Kolodner, J. (1993) Case Based Reasoning. Morgan Kaufmann.
Web
• AI-CBR Home Page: http://www.ai-cbr.org/theindex.html
• CBR archive: http://www.ai-cbr.org/cases.html
• CBR in the Web: http://wwwagr.informatik.uni-kl.de/~lsa/CBR/CBR-Homepage.html
• CBR Bibliography: http://www.surveying.salford.ac.uk/AI-CBR/biblio/search.html