KNN – K Nearest Neighbor (K Vizinhos mais Próximos)

Slides:



Advertisements
Apresentações semelhantes
Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Advertisements

Aprendizado de Máquina
Mineração de Dados Avaliação de Classificadores
Araken de Medeiros Santos Anne Magály de Paula Canuto
HAC MD -junho/ Noções de algoritmos e estudo de casos das principais tarefas de Mineração de dados.
Aprendizado de Máquina
Método Hierárquico Aglomerativo de Clusterização Algoritmo CURE
Método K-medóides Algoritmos PAM e CLARA
PREDIÇÃO DATA MINING AULA 13 SANDRA DE AMO
Programação Linear Método Simplex
Aprendem a partir de seus vizinhos AULA 9 DATA MINING Sandra de Amo
Classificação Arvores de Decisão
Classificadores em Dados não Balanceados
Classificadores Bayesianos
Mineração de Preferências (a partir de amostras superiores e inferiores) J.Pei et al. KDD 2008 AULA 18 Data Mining Profa. Sandra de Amo.
Avaliação de Clusteres
Método de NewtonRaphson
Aprendizado de Máquinas
Reconhecimento de Padrões Aprendizagem Supervisionada (KNN)
Capítulo 6 Estimativas e Tamanho de Amostras
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Sistemas Inteligentes
Análise de Sistemas Contábeis
Aprendizado de Máquina
Aprendizado de Máquina Aula 8
Alexandre Xavier Falcão & David Menotti
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
K-NN Prof. Dr. Rogério Vargas.
Classificação Arvores de Decisão
DISTRIBUIÇÕES AMOSTRAIS
Prof. Guilherme Alexandre Monteiro Reinaldo Recife
Avaliação de Clusteres Parte II
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Técnicas de Amostragem : como avaliar a acurácia de um classificador
INF 1771 – Inteligência Artificial
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
ANÁLISE ESTATÍSTICA II
Prof. Alexandre Monteiro Recife
Prof. Alexandre Monteiro Recife
1 JavaCC Prof. Alexandre Monteiro Baseado em material cedido pelo Prof. Euclides Arcoverde Recife.
Geração de Código Intermediário
Curso de Nivelamento Razão, Proporção e Regra de Três
Prof. Guilherme Alexandre Monteiro Reinaldo Recife
Paradigmas da Inteligência Artificial
Classificação: avaliação de modelos
Análise Sintática LR Prof. Alexandre Monteiro
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG Etapas do Processo.
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
Prof. Guilherme Alexandre Monteiro Reinaldo Recife
SVMSharp – Uma implementação didática de uma SVM
Analisador Léxico Prof. Alexandre Monteiro
Noções de Inferência Estatística
Inteligência Artificial
Aprendizagem Estatística de Dados Aprendizagem Estatística de Dados Francisco Carvalho.
e-Commerce (Comércio Eletrônico)
Análise Léxica Prof. Alexandre Monteiro
1 Características do Projeto Web Prof. Alexandre Monteiro Recife.
Hibernate Mapeamento Objeto-Relacional Aula Prática I
1 Trabalho Extra SIG Prof. Guilherme Alexandre Monteiro Reinaldo Recife.
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Combinação de Preditores utilizando o Coeficiente de Correlação aplicado aos Problemas de Regressão Resumo Este trabalho apresenta um algoritmo de Boosting.
Prof. Alexandre Monteiro Recife
Classificação de Textos
Avaliação de Classificadores Binários
Classificadores Bayesianos Classificadores Bayesianos são classificadores estatísticos que classificam um objeto numa determinada classe baseando-se na.
Transcrição da apresentação:

KNN – K Nearest Neighbor (K Vizinhos mais Próximos) Prof. Alexandre Monteiro Recife

Contatos Prof. Guilherme Alexandre Monteiro Reinaldo Apelido: Alexandre Cordel E-mail/gtalk: alexandrecordel@gmail.com greinaldo@fbv.edu.br Site: http://www.alexandrecordel.com.br/fbv Celular: (81) 9801-1878

História Método introduzido nos anos 50. Muito dispendioso computacionalmente. Só ganhou popularidade a partir dos anos 60, como o aumento da capacidadecomputacional dos computadores. Muito usado na área de Reconhecimento de Padrões.

Descrição do Método KNN Dados: Banco de Dados de m tuplas classificadas (a1,...,an,C) Uma tupla X = (x1,...,xn) não classificada Os valores dos atributos são normalizados. Valor normalizado = (v.real - MinA)/(MaxA – MinA) Calcula-se a distância de X a cada uma das tuplas do banco de dados. Pega-se as k tuplas do banco de dados mais próximas de X. A classe de X é a classe que aparece com mais frequência entre as k tuplas mais próximas de X.

Diferentes valores de K

Algumas questões Como calcular a distância entre duas tuplas ? Para atributos contínuos : distância Euclidiana d(x,y) = √ Σni=1 (xi – yi)2 Para atributos categóricos Se xi = yi então xi – yi = 0 Se xi e yi são distintos: xi – yi = 1 Como lidar com valores incompletos (ausentes) ao calcular a distância entre duas tuplas X e Y ? Se xi e yi são ausentes: xi – yi = 1 Se xi é ausente e yi não: xi – yi = max { |1 – yi|, |0 – yi| } Como determinar o melhor valor de K (=número de vizinhos) ? Obtido repetindo-se os experimentos.

Vantagens e Desvantagens Performance Não constrói um modelo de classificação. Processo de classificação de uma tupla é lento. Classificadores Eager (espertos) gastam tempo para construir o modelo. O processo de classificação de uma tupla é rápido. Sensível a ruídos KNN faz predição baseando-se em informações locais à tupla sendo classificada. Árvores de decisão, redes neurais e bayesianas encontram modelo global que se leva em conta todo o banco de dados de treinamento.

Exemplo Compra-computador X = (≤ 30, Média,Sim,Bom) ID IDADE RENDA ESTUDANTE CREDITO CLASSE 1 ≤ 30 Alta Não Bom 2 Sim 3 31...40 4 > 40 Média 5 Baixa 6 Excelente 7 8 9 10 11 12 13 14 X = (≤ 30, Média,Sim,Bom)

Exemplo Distância VALOR d(X,1) 1,41 d(X,2) 1 d(X,3) 1,73 d(X,4) d(X,5)

Exemplo K = 5 Os 5 vizinhos mais próximos são X1 = ( ≤ 30 Alta Sim Bom) Classe = Não X2 = (≤ 30 Média Não Bom) Classe = Não X3 = ( ≤ 30 Baixa Sim Bom) Classe = Sim X4 = ( > 40 Média Sim Bom) Classe = Sim X5 = (≤ 30 Média Sim Exc. ) Clase = Sim Logo, X é classificada na classe = Sim

Acurácia de Classificadores Como medir ?

Holdout Método Holdout Subamostragem Randômica Considera-se um banco de dados de amostras Divide-se em 2 partes : D1 e D2 D1 é 2 vezes maior do que D2 Acurácia= número de tuplas de D2 bem classificadas dividido pelo total de tuplas de D2 Subamostragem Randômica Variação do método Holdout Método Holdout é repetido k vezes Acurácia geral = média das acurácias em cada rodada

Cross-Validation Validação Cruzada (k-fold Cross-validation) Dados iniciais são particionados em k partes D1,..., Dk de tamanhos aproximados Treinamento e testes são executados k vezes. Em cada iteração i (i=1...k) Di é escolhido para teste e o restante das partições são utilizadas como treinamento. Cada tupla de amostra é utilizada o mesmo número de vezes como tupla de treinamento e uma única vez como tupla de teste. Acurácia de um classificador = número total de tuplas bem classificadas nas k iterações dividido pelo total de tuplas no banco de dados original. Acurácia de um preditor = Soma dos erros dividido nas k iterações dividido pelo total de tuplas no banco de dados original.

Variantes do Cross-validation Leave-one-out Caso especial de k-fold cross validation Cada Di tem um único elemento Em cada iteração somente 1 tupla é utilizada para teste. Cross-validation estratificada As “folhas” D1, ... , Dk são tais que a distribuição das classes em cada folha é aproximadamente igual à distribuição nos dados iniciais. Ex: se em D a proporção de tuplas das classes C1 e C2 é de 2 para 1 então esta proporção é mantida em cada “folha” Di.

Bootstrap A cada vez que uma tupla é selecionada para participar do grupo de treinamento, ela volta novamente para o banco inicial, podendo ser novamente selecionada na próxima vez. Bancos de treinamento e testes podem conter tuplas repetidas.

.632 Bootstrap Banco de dados original com d tuplas Os sorteios de tuplas são realizados d vezes. Ao final de d sorteios temos um banco D1 de treinamento (boostrap sample) e um banco D2 de testes. A amostra de treinamento D1 tem exatamente d elementos.

.632 Bootstrap É bem provável que alguma tupla t do banco original ocorre repetida em D1. Qual a probabilidade de uma tupla não estar no banco de treinamento D1 no final dos d sorteios ? (1 – 1/d)d lim (1 – 1/d)d = 1/e (para d  infinito) e = 2.718 1/e = 0,368 36,8% das tuplas não são escolhidas: formam o conj. D2 63,2% das tuplas são escolhidas: formam o boostrap D1

Acurácia medida com o Boostrap Repete-se o processo de amostragem k vezes Em cada vez construímos D1 e D2 e medimos a acurácia do classificador (ou preditor) M Acc(Mi)test-set = acurácia de M calculada na iteração i, com D2 como teste e D1 como treinamento Acc(Mi)train-set = acurácia de M calculada na iteração i, com dados originais como teste e D1 como treinamento. Acurácia(M) = Σ (0.632*Acc(Mi)test-set + 0.368*Acc(Mi)train-set ) k i = 1

Referências Machine Learning. Tom Mitchell. McGraw-Hill.1997.