490 likes | 593 Vues
Understand the basics of lazy learning with k-Nearest Neighbors (kNN) algorithm in Instance-Based Learning. Learn how to store training instances, evaluate classification functions, and more using kNN.
E N D
Aprendizado baseado em instâncias(Aprendizagem Preguiçosa) Vizinhos mais Próximos (kNN) Raciocínio Baseado em Casos (CBR)
Novo Problema Experiência (exemplos) Experiência (exemplos) Experiência (exemplos) Regras Dedução Engenheiro de conhecimento Dedução Regras S O L U Ç Ã O Indução Indução Experiência: o que o especialista tem de mais valioso • Sistemas Especialistas convencionais • Aprendizagem gulosa: ID3, Version Space, ... • Aprendizagem preguiçosa: kNN, CBR,...
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.
Objetos (dados) clustering (ap. não-supervisionada) Redes neurais, agrupamento conceitual, estatítica, ... 2 1 3 K em extensão ap. supervisionada Gulosa Preguiçosa Knn, LWR, CBR, ID3, version space, RN-MLP naive bayes, ... (árvore de decisão, conjunto deregras, redes neurais c/ pesos ajustados,...) classe novo 1,2 ou 3 algoritmo K em intenção Identificação outro objeto Identificação classe classificador 1,2 ou 3 Aprendizagem Baseada em Instância
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
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
k vizinhos mais próximos: exemplo • 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 As distâncias entre os pontos podem ser eventualmente normalizadas
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
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
k vizinhos mais próximos: exemplo • Caso discreto • Percebe-se que o k é determinante na classificação - k = 1 classifica xq como + k = 5 classifica xq como - - - - + - xq + + - +
k vizinhos mais próximos: exemplo • 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 • 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 http://www.cs.cornell.edu/Info/People/chew/Delaunay.html
k vizinhos mais próximos • 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 onde
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
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
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,...
Raciocínio Baseado em Casos (CBR) Mais que um método de aprendizagem preguiçosa: é um método de resolução de problemas!!!!!!
Nova explicação/solução Nova situação/problema 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ção ou problema solução
“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
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
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.
Exemplo • Usos - classificação (casa dos meus sonhos?) - estimação de preços
Funcionamento do CBR: ciclo dos 4 RE´s Recuperar novo caso (alvo) novo caso (alvo) Indexar caso recupe-rado (fonte) problema base Reutilizar caso aprendido caso solução solução sugerida Reter caso testado e corrigido solução final Revisar
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?
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)
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
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
preço ano modelo marca opcionais kilometragem motor cor .... 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
Critério para escolha dos casos • 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)
wi - peso da característica i axi e ayi - valores da característica f nos casos C e S simi - função primitiva para a característica i 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
Exemplo Carro 2 Carro 1 Carro 3 ano = 1996 modelo = Golf marca = VW cor = azul Preço = 1500 ano = 1997 modelo = Gol marca = VW cor = vermelho Preço = 1000 ano = 1995 modelo = Tempra marca = Fiat cor = azul Preço = 1300 • 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
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!)
situaçãoDeMediação = disputa Protagonistas: países tipoDeObjetoDisputado: terras Protagonistas: crianças tipoDeObjetoDisputado: comida Tipo: disputa física (Korea) Tipo: disputa política (Panama) objDisputado: laranja relaçãoFamiliar: irmãs idades: adolescentes objDisputado: Candy (Candy) Desejo: objeto inteiro (Laranja1) Desejo: diferentes partes do objeto (Laranja2) Características compartilhadas
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, ...
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
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
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;
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)
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?
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
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
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
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
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
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”
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 Balanço entre aprendizado guloso e preguiçoso
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