10/4/2010 capítulo5 algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/dkd-5 - knn.pdf ·...

24
10/4/2010 1 Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 1 DESCOBRINDO CONHECIMENTO NOS DADOS DANIEL T. LAROSE, PH.D. Capítulo 5 Algoritmo dos k-vizinhos mais próximos Prepared by James Steck, Graduate Assistant Métodos Supervisionados vs. não supervisionados Os métodos de mineração de dados são classificados como supervisionados ou não supervisionados Métodos não supervisionados Uma variável alvo não é especificada Em vez disso, o algoritmo procura por padrões e estruturas entre as variáveis Clusterização é o método não supervisionado mais comum Por exemplo, consultores políticos podem analisar clusters de eleitores em distritos eleitorais que podem ser favoráveis ao seu candidato Variáveis importantes tais como sexo, idade, renda e raça são entradas do algoritmo de clusterização Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 2

Upload: others

Post on 01-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

1

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 1

DESCOBRINDO CONHECIMENTO NOS DADOS

DANIEL T. LAROSE, PH.D.

Capítulo 5Algoritmo dos k-vizinhos mais próximos

Prepared by James Steck, Graduate Assistant

Métodos Supervisionados vs. não

supervisionados

� Os métodos de mineração de dados são classificados como supervisionados ou não supervisionados

� Métodos não supervisionados� Uma variável alvo não é especificada

� Em vez disso, o algoritmo procura por padrões e estruturas entre as variáveis

� Clusterização é o método não supervisionado mais comum

� Por exemplo, consultores políticos podem analisar clusters de eleitores em distritos eleitorais que podem ser favoráveis ao seu candidato

� Variáveis importantes tais como sexo, idade, renda e raça são entradas do algoritmo de clusterização

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 2

Page 2: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

2

Métodos Supervisionados vs. não

supervisionados (continuação)

� Perfis de eleitores para angariar fundos e fazer publicidade são criados

� Métodos supervisionados� Uma variável alvo é especificada

� O algoritmo "aprende" a partir dos exemplos, determinando quais os valores das variáveis preditoras estão associados com diferentes valores da variável alvo

� Por exemplo, os métodos de regressão discutidos no Capítulo 4 são supervisionadas. Os valores observados da variável resposta (alvo) são lidos pelo algoritmo dos mínimos quadrados, enquanto ele tenta minimizar o erro de predição

� Todos os métodos de classificação nos capítulos 5-7 são métodos supervisionados, incluindo: Árvores de Decisão, Redes Neurais, e k-vizinhos mais próximos

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 3

Metodologia para modelagem supervisionada

� Métodos de mineração de dados supervisionados usam conjuntos de dados de treinamento, teste e validação como parte da construção do modelo e processo de avaliação

� Treinamento� O conjunto de treinamento inclui registros com as variáveis preditoras

e valores pré-classificados para a variável alvo

� Esta é a fase inicial onde um modelo de mineração de dados provisório é construído usando o conjunto de treinamento

� O modelo "aprende" a partir dos exemplos do conjunto de treinamento

� O que acontece se o modelo de aplicar cegamente todos os padrões aprendidos a partir do conjunto de treinamento a dados futuros?

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 4

Page 3: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

3

Metodologia para modelagem supervisionada(continuação)

� Por exemplo, suponha que todos os clientes em um conjunto de treinamento com o nome "David" coincidentemente estejam na faixa de renda alta

� Um modelo de mineração de dados que "memoriza" essa idiossincrasia presente no conjunto de treinamento está na verdade overfitting os dados

� Muito provavelmente nós não queremos nosso modelo aplicando esta regra a dados futuros ou dados não previamente conhecidos

� Portanto, o passo seguinte no processo é examinar o desempenho do modelo de dados provisório usando um conjunto diferente de dados

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 5

Metodologia para modelagem supervisionada(continuação)

� Teste� O conjunto de teste é uma parte dos dados independente do conjunto

de treinamento que foi utilizado para construir o modelo de dados provisório

� Os verdadeiros valores da variável alvo no conjunto de teste estão temporariamente escondidos do modelo de dados provisório

� O modelo de dados provisório simplesmente classifica os registros no conjunto de teste de acordo com as regras e padrões que aprendeu a partir dos registros do conjunto de treinamento

� O desempenho do modelo de dados provisório é avaliada comparando a sua classificação em relação aos valores reais de variável alvo

� O modelo de dados provisório é ajustado num esforço para minimizar a taxa de erro no conjunto de teste

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 6

Page 4: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

4

Metodologia para modelagem supervisionada(continuação)

� Validação� Em seguida, ao modelo de dados ajustado é aplicada um outro

conjunto de dados chamado o conjunto de validação

� O conjunto de validação é outro pedaço do conjunto dos dados independente dos conjuntos de treinamento e de teste

� O desempenho do modelo de dados ajustado é avaliado com conjunto de validação

� Se necessário, o modelo de dados ajustado é modificado para minimizar a taxa de erro no conjunto de validação

� Estimativas do desempenho do modelo de dados para dados futuros ou não previamente conhecidos são computados usando medidas de avaliação aplicadas aos resultados obtidos ao classificar o conjunto de validação

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 7

Metodologia para modelagem

supervisionada (continuação)

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 8

Apply provisional model to test set. Adjust provisional model

to minimize error rate on test set.

Training Set(pre-classified)

Test Set

“Final”data mining model.

Provisionaldata mining model.

Validation Set

Adjusteddata mining model.

Apply adjusted model to validation set. Adjust the adjusted model to minimize error rate on validation set.

Use training set to generate a provisional data mining

model.

Page 5: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

5

Metodologia para modelagem

supervisionada (continuação)� Underfitting versus Overfitting

� Geralmente, a precisão do modelo de dados provisório não é tão elevada quanto aplicado nos conjuntos de teste ou validação, em comparação aos resultados obtidos com o conjunto de treinamento

� Isso ocorre quando um modelo de dados tende a overfit o conjunto de treinamento, aprendendo todas as tendências ou estruturas possíveis

� Na construção do modelo, há uma tensão constante entre desenvolver modelos que são complexas e conseguem generalizar bem

� Um modelo de dados que permite atingir alta precisão sobre o conjunto de treinamento resulta em aumento da complexidade do modelo

� No entanto, à medida que aumenta a complexidade do modelo, a generalização de um modelo de dados para os conjuntos de dados de teste e de validação diminui

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 9

Metodologia para modelagem

supervisionada (continuação)� Esta figura mostra que inicialmente, à medida que a complexidade do

modelo aumenta, a taxa de erro diminui para ambos os conjuntos de treinamento e validação

� Em aumentado a complexidade do modelo, a taxa de erro no conjunto de treinamento diminui

� No entanto, a taxa de erro no conjunto de validação começa a aumentar

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 10

Error Rate

Complexity of Model

Error Rate on Training Set

Error Rate on Validation Set

Overfitting

Optimal Level of Model Complexity

Underfitting

Page 6: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

6

Metodologia para modelagem

supervisionada (continuação)

� Como a complexidade do modelo aumenta o modelo de dados provisório começa a memorizar o conjunto de treinamento, ao invés de generalizá-lo

� Portanto, o ponto onde a taxa de erro no conjunto de validação é minimizada é o nível ótimo de complexidade do modelo

� Qualquer complexidade do modelo maior do que este ponto consiste em overfitting os dados, complexidade do modelo inferior a esse ponto consiste em underfitting os dados

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 11

Bias-Variance Trade-Off

� Suponhamos que estamos construindo um modelo de dados que tenta separar os pontos claros e escuros (dois valores possíveis para uma variável alvo) na figura acima

� A linha reta se beneficia pela baixa complexidade, mas produz erros de classificação. Por exemplo, apenas 6 / 8 pontos abaixo da linha são claros

� A linha curva reduz o erro de classificação a zero, mas a função de separação é altamente complexa

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 12

Page 7: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

7

Bias-Variance Trade-Off(cont’d)

� Estamos inclinados a adotar a solução de alta complexidade para reduzir a taxa de erro

� No entanto, isso pode produzir um modelo que depende das idiossincrasias encontradas no conjunto de treinamento

� Suponha que adicionemos mais pontos de dados ao gráfico de dispersão

� A linha reta é apenas ligeiramente alterada para acomodar os pontos adicionais, este separador simples tem baixa variância

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 13

Bias-Variance Trade-Off(cont’d)

� Em contraste, a linha curva é alterada consideravelmente para manter a sua precisão na classificação, e portanto tem grande variância

� Embora o separador de alta complexidade (linha curva) tenha bias menor (menor taxa de erro), ele tem grande variância

� O separador de baixa complexidade (linha reta) tem baixa variância e bias maior (maior taxa de erro)

� Este exemplo ilustra o que é conhecido como o Bias-Variância Trade-Off, e é outra maneira de descrever overfitting / underfitting

� Nosso objetivo é construir um modelo de dados onde nem o bias nem a variância são muito altos

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 14

Page 8: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

8

Bias-Variance Trade-Off(cont’d)

� O erro médio quadrado (MSE) é o método mais comum de avaliar a precisão de um modelo

� Dado dois ou mais modelos de dados potencialmente bons, o melhor modelo pode ser identificado pao se escolher aquele com o menor MSE

� O MSE é uma medida adequada, pois combina tanto o bias quanto a variância em seu cálculo

� O MSE é uma função do erro de estimação (SSE) e da complexidade do modelo, e é definido como:

� Esta equação indica claramente a relação de complementaridade entre a variância o bias

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 15

2bias varianceMSE +=

Tarefa de Classificação

� A classificação é provavelmente a tarefa mais comun de mineração de dados

� Exemplos� Bancos: determinar se uma aplicação numa hipoteca é

boa

� Educação:Direcionar um aluno no que diz respeito a necessidades especiais

� Medicina: diagnosticar se a doença está presente

� Lei: determinar se o arbítrio é fraudulenta

� Segurança: identificar se uma determinada transação financeira representa uma ameaça terrorista

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 16

Page 9: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

9

Tarefa de Classificação (continuação)

� A classificação é um método supervisionado e inclui duas ou mais classes para a variável alvo categórica

� Por exemplo, a variável alvo faixa de renda pode incluir as categorias de “Baixa", “Média" e “Alta“

� O algoritmo examina as relações entre os valores dos campos do preditor (entrada) e dos valores alvo

� Suponha que queremos classificar a faixa de renda de uma pessoa com base nos valores da idade, sexo e ocupação de outras pessoas, que estão contidos em um banco de dados

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 17

Subject Age Gender Occupation Income Bracket

001 47 F Software Engineer High

002 28 M Marketing Consultant Middle

003 35 M Unemployed Low

… … … … …

Tarefa de Classificação (continuação)

� Primeiro, o algoritmo de classificação analisa os valores do conjunto de dados para o preditor e as variáveis alvo no conjunto de treinamento

� Desta forma, o algoritmo "aprende" quais os valores das variáveis preditoras estão associadas com os valores da variável alvo

� Por exemplo, mulheres mais velhas podem ser associadas com os valores da faixa de renda “Alta“

� Agora que o modelo de dados foi construído, o algoritmo examina novos registros para o qual a faixa de renda é desconhecida

� De acordo com as classificações no conjunto de treinamento, o algoritmo classifica os novos registros

� Por exemplo, uma mulher de 63 anos de idade pode ser classificada na faixa de renda “Alta"

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 18

Page 10: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

10

Algoritmo dos k-vizinhos mais próximos

� O algoritmo dos k-vizinhos mais próximos é um exemplo de aprendizagem baseada em instâncias onde os registros contendo o conjunto de treinamento são primeiro armazenados

� Em seguida, a classificação de um novo registro ainda sem classificação é feita comparando-o com os registros no conjunto de treinamento com os quais ele é mais parecido

� O algoritmo dos k-vizinhos mais próximos é usado na maioria das vezes para a classificação, embora também seja aplicável a tarefas de estimativas e previsão

� Exemplo: Paciente 1 � Lembre-se do capítulo 1, em que estavamos interessados em classificar o tipo de

medicamento que deveria ser prescrita a um paciente

� O conjunto de treinamento consiste em 200 pacientes com os atributos sendo a razão Na/K, idade, e medicamentos

� Nossa tarefa é classificar o tipo de medicamento que deveria ser prescrito a um paciente novo que tem 40 anos de idade e uam razão Na/K igual a 29

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 19

Algoritmo dos k-vizinhos mais

próximos (continuação)

� Este gráfico de dispersão de Na/K versus Idade mostra os registros no conjunto de treinamento com os quais os pacientes 1, 2 e 3 são mais parecidos

� A “drug” overlay é mostrada onde os pontos claros = medicamento Y, pontos’médios = medicamento A ou X, e os pontos escuros= medicamento B ou C

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 20

Patient 1 Patient 2 Patient 3

Page 11: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

11

Algoritmo dos k-vizinhos mais próximos(continuação)

� Qual medicamento deve ser prescrito ao paciente 1?

� Como o perfil dos pacientes 1 os colocam no gráfico de dispersão perto doentes medicados com a droga Y, podemos classificar o paciente 1 como droga Y

� A todos os pontos perto do paciente 1 são prescritos medicamentos Y, tornando uma essa classificação bem simples

� Exemplo: Paciente 2

� Em seguida, vamos classificar um novo paciente, que tem 17 anos de idade e uma relação Na / K = 12,5. Um “close-up” mostra a vizinhança de pontos de treinamento em proximidade com o paciente 2

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 21

A

Patient2

C

B

Algoritmo dos k-vizinhos mais

próximos (continuação)

� Suponha que nós fazemos k = 1 para o nosso algoritmo dos k-vizinhos mais

próximos

� Isso significa que classificamos o paciente 2 de acordo com qualquer que seja o ponto no conjunto de treinamento ao qual ele é mais próximo

� Neste caso, o paciente 2 está mais próximo ao ponto escuro, e, portanto, nós os classificamos como droga B ou C

� Suponha que nós fazemos k = 2 e classificamos novamente Paciente 2 usando os k-vizinhos mais próximos

� Agora, o paciente 2 está mais próximo a um ponto escuro a um ponto médio

� Como é que o algoritmo decide qual droga prescrever?

� Um sistema simples de votação não ajuda

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 22

Page 12: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

12

Algoritmo dos k-vizinhos mais próximos(continuação)

� No entanto, com k = 3, o voto determina que dois dos três pontos mais próximos para o paciente 2 são médios

� Portanto, o paciente 2 é classificado como droga A ou X

� Note que a classificação do paciente 2 diferiu com base no valor escolhido para k

� Exemplo: Paciente 3

� O paciente 3 tem 47 anos de idade e tem uma relação Na / K de 13,5. Um “close-up” mostra paciente 3 no centro, com os 3 pontos de treinamento de dados mais próximos

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 23

Algoritmo dos k-vizinhos mais próximos(continuação)

� Com k = 1, paciente 3 está mais próximo ao ponto escuro, com base em uma medida de distância

� Portanto, paciente 3 é classificado como droga B ou C

� Usando k = 2 ou k = 3, o voto não ajuda, já que cada um dos três pontos de treinamento mais próximos têm diferentes valores de alvo

� Considerações ao usar os k-vizinhos mais próximos� Quantos vizinhos devem ser usados? k =?

� Como é medida a distância entre os pontos?

� Como a informação obtida de dois ou mais vizinhos é combinada tomar uma decisão de classificação?

� Todos os pontos deveriam ter pesos iguais, ou alguns pontos deveriam ter mais influência?

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 24

Page 13: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

13

Função Distância

� Como é definida a semelhança entre um registro não classificados e os seus vizinhos?

� Uma métrica de distância é uma função de valores reais d usada para medir a similaridade entre as coordenadas x, y e z com propriedades:

� Propriedade 1: A distância é sempre não-negativa

� Propriedade 2: comutativa, a distância de "A a B" é a distância de "B a A"

� Propriedade 3: a desigualdade triângulo diz que, distância de "A a C" deve ser menor ou igual à distância de "A a B a C"

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 25

),(),(),(.3

),(),(.2

ifonly and if 0),(and,0),(.1

zydyxdzxd

xydyxd

yxyxdyxd

+≤

=

==≥

Função Distância (continuação)

� A função distância euclidiana é comumente usada para medir a distância

� Exemplo� Suponha um Paciente que tem 20 anos de idade e tem uma relação

Na / K = 12, e um Paciente B que tem 30 anos e uma relação Na / K = 8

� Qual é a distância euclidiana entre estas instâncias?

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 26

attributes therepresent

,...,, and ,,...,, where

)(),(

2121

2

Euclidean

m

yyyxxx

yxd

mm

iii

==

−= ∑

yx

yx

77.10)812()3020()(),( 222

Euclidean =−+−=−= ∑i

iiyxd yx

Page 14: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

14

Função Distância (continuação)

� Ao medir uma distância, um ou mais atributos podem ter valores muito grandes, em relação aos outros atributos

� Por exemplo, a faixa de renda pode ser escalada 30,000-100,000, enquanto os anos de serviço assumem os valores de 00-10

� Neste caso, os valores dos rendimentos vão sobrepujar a contribuição dos anos de serviço

� Para evitar esta situação usamos normalização

� Normalização� Valores de dados contínuos devem ser normalizados usando a

normalização Min-Max ou a padronização Z-Score

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 27

)(deviation standard

)mean(ationStandardiz Score-Z

)min()max(

)min(ionNormalizatMax -Min

X

XX

XX

XX −=

−=

Função Distância (continuação)

� Para atributos categóricos, a função distância euclidiana não é apropriada

� Em vez disso, define-se uma função chamada "diferente”

� Nós substituímos diferente (x, y) para cada atributo categórico na função distância euclidiana

� Exemplo� Qual paciente é mais parecido com um homem de 50 anos de idade:

um homem de 20 anos de idade ou uma mulher de 50 anos de idade?

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 28

otherwise

if

1

0),(different

ii

ii

yxyx

=

=

Page 15: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

15

Função Distância (continuação)

� Seja o Paciente A = homem de 50 anos de idade, Paciente B = homem de 20 anos de idade, e Paciente C = mulher de 50 anos de idade

� Suponha que a variável idade tem um intervalo = 50, mínimo = 10, média = 45 e desvio padrão = 15

� A tabela contém os valores de idade originais, Min-Max normalizada, e padronizados pela Z-Score

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 29

Patient Age AgeMMN AgeZscore Gender

A 50 Male

B 20 Male

C 50 Female

8.050

1050=

−33.0

15

4550=

2.050

1020=

−67.1

15

4520−=

33.015

4550=

−8.0

50

1050=

Função Distância (continuação)

� Idade não normalizada� Suponha que não normalizamos a Idade. Calcular a distância entre o

paciente A e paciente B, e a distância entre o paciente A e o paciente C

� Nós determinamos, embora talvez de forma incorreta, que o paciente C é mais próximo ao paciente A

� O paciente B é realmente 30 vezes mais distante do paciente A que o paciente C é do paciente A?

� Talvez deixar de normalizar os valores da idade está criando esta discrepância?

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 30

300)2050(),( 22=+−=BAd

11)5050(),( 22=+−=CAd

Page 16: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

16

Função Distância (continuação)

� Idade normalizada utilizando o Min-Max� A idade é normalizada usando a normalização Min-Max. Os valores estão no

intervalo [0, 1]

� Novamente, podemos calcular a distância entre o paciente A e o paciente B, e entre o paciente A e o paciente C

� Neste caso, o paciente B é agora mais perto do paciente A

� Idade padronizada usando Z-Score� Desta vez a idade é padronizada utilizando a padronização Z-Score

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 31

6.00)2.08.0(),( 22=+−=BAdMMN

0.11)8.08.0(),( 22=+−=CAdMMN

Função Distância (continuação)

� Usando a padronização Z-Score, a maioria dos valores estão tipicamente contidos no intervalo [-3, 3]

� Agora, o Paciente C é o mais próximo do Paciente A. Este resultado é diferente daquele obtido com a normalização Min-Max

� Conclusão� O uso de técnicas de normalização diferentes resultaram no paciente A

sendo mais próximo de pacientes diferentes no conjunto de treinamento� Isso ressalta a importância de compreender qual técnica está sendo usada

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 32

0.20))67.1(33.0(),( 22=+−−=BAdZscore

0.11)33.033.0(),( 22=+−=CAdZscore

Page 17: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

17

Função Distância (continuação)

� Note que a distância (x, y) e as funções de normalização Min-Max produzem valores no intervalo [0, 1]

� Talvez, ao calcular a distância entre os registros contendo tanto atributos numéricos e categóricos, a utilização da normalização Min-Max Normalização seja preferível

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 33

Função Combinação

� A função distância euclidiana determina a semelhança de um novo registro não classificado para com aqueles do conjunto de treinamento

� Como deveriam se combinar os mais semelhantes (k) registros para fornecer uma classificação?

� Votação simples não ponderada� Esta é a função combinação mais simples

� Decide sobre o valor de k para determinar o número de registros similares que "votam“

� Compare cada registro não classificado com os seus k vizinhos mais próximos (maior similaridade) de acordo com a função distância euclidiana

� Cada um dos k registros semelhantes votam

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 34

Page 18: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

18

Função Combinação (continuação)

� Lembre-se que classificamos um novo paciente de 17 anos de idade com uma relação Na / K = 12,5, com k = 3

� A votação simples não ponderada determinou que dois dos três pontos mais próximos ao paciente 2 são médios

� Portanto, o paciente 2 é classificado como droga A ou X com uma confiança de 03/02 = 66,67%

� Também classificamos um novo paciente de 47 anos de idade, que tem uma relação Na / K de 13,5, com k = 3

� No entanto, a votação não ponderada simples não ajudou e resultou em um empate

� Talvez voto ponderado deva ser considerado?

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 35

Votação Ponderada

� Votação Ponderada

� Neste caso, quanto mais próximo o vizinho for, mais influência ele tem na decisão de classificação

� Este método assume que um vizinho mais próximo é mais similar e que portanto seu voto deveria ser ponderado por um fator maior, em comparação com vizinhos mais distantes

� O peso do registro específico é inversamente proporcional à sua distância para o registro não classificado

� É pouco provável ocorrer um “empate" com esta abordagem

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 36

Page 19: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

19

Votação Ponderada (continuação)

� Exemplo

� Mais uma vez, lembre-se que classificamos um novo paciente de 17 anos de idade com uma relação Na / K = 12,5, com k = 3

� Nós determinamos, usando votação não ponderada, dois dos pontos mais próximos foram Médios, e o terceiro foi escuro

� No entanto, o ponto escuro é a mais similar ao novo paciente

� Agora, vamos classificar novamente o novo paciente usando um esquema de votação ponderada, utilizando os valores da tabela abaixo

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 37

Record Age Na/K AgeMMN Na/KMMN

New Patient 17 12.5 0.05 0.25

A (Dark) 16.8 12.4 0.0467 0.2471

B (Med) 17.2 10.5 0.0533 0.1912

C (Med) 19.5 13.5 0.0917 0.2794

Votação Ponderada (continuação)

� As distâncias dos registos A, B e C para o novo paciente são:

� Em seguida, os votos desses registros são ponderados de acordo com o inverso do quadrado da sua distância para o novo registro

� O registro A vota para classificar o novo paciente como escuro (droga B ou C)

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 38

058893.)1912.25(.)0533.05(.),( 22=−+−=Bnewd

004393.)2471.25(.)0467.05(.),( 22=−+−=Anewd

051022.)2794.25(.)0917.05(.),( 22=−+−=Cnewd

.818,51004393.

1

),(

1)(

22≅==

AnewdGrayDarkVotes

Page 20: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

20

Votação Ponderada (continuação)

� Registros B e C votam para classificar o paciente como novo Médio (droga A ou X)

� Convincentemente (51.818 contra 672) o método de votação ponderada classifica o novo paciente como escuro (droga B ou C)

� Note que este procedimento inverte a nossa decisão de classificação, determinada através da votação não ponderada, k = 3

� A distância inversa de 0 é indefinida usando votação ponderada

� Teoricamente, o valor de k pode ser aumentado, de modo que todos os registros de treinamento participem na votação, no entanto, a complexidade computacional pode resultar em baixo desempenho

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 39

.672051022.

1

058893.

1

),(

1

),(

1)(

2222≅+=+=

CnewdBnewdGrayMediumVotes

Quantificando a relevância de um

atributo: alongando os eixos

� Nem todos os atributos podem ser relevantes para a classificação

� Por exemplo,as árvores de decisão incluem apenas os atributos que contribuem para melhorar a exatidão da classificação

� Em contraste, o comportamento padrão dos k-vizinhos mais próximos é calcular distâncias usando todos os atributos

� Um registro relevante pode estar próximo para variáveis importantes e, ao mesmo tempo muito longe para outras, as variáveis sem importância

� Tomados em conjunto, o registro relevante pode agora estar moderadamente longe do registro novo, de modo que ele não participe da decisão de classificação

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 40

Page 21: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

21

Quantificando a relevância de um atributo:

alongando os eixos (continuação)

� Talvez, devamos considerar restringir o algoritmo a usar os campos mais importantes para a classificação

� No entanto, ao invés de fazer essa determinação a priori, podemos fazer os atributos tanto mais como menos importantes

� Isso é feito usando a validação cruzada ou aplicando conhecimentos de domínio

� Alongando os eixos� Alongamento dos eixos: encontrar o coeficiente zj pelo qual se deve

multiplicar o j-ésimo eixo. Valores maiores de zj estão associados com os eixos de variável mais importantes

� Validação Cruzada� A validação cruzada seleciona um subconjunto aleatório de dados a partir

do conjunto de treinamento e determina o conjunto de z1, z2, ..., zm que minimiza o erro de classificação no conjunto de teste

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 41

Quantificando a relevância de um

atributo: alongando os eixos (continuação)

� Repetindo o processo leva a um conjunto mais preciso de valores para z1, z2, ..., zm

� Especialistas do domínio� Alternativamente, pode-se recorrer a especialistas do domínio

para recomendar valores de z1, z2, ..., zm

� Usando qualquer uma das abordagens, o algoritmo dos k-vizinhos mais próximos pode se tornar mais preciso

� Exemplo� Suponha que a relação Na / K foi determinada para ser 3 vezes

mais importante do que o atributo Idade, para realizar a classificação dos medicamentos

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 42

Page 22: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

22

Quantificando a relevância de um

atributo: alongando os eixos (continuação)

� A distância entre os registros A, B e C em relação ao novo registro é calculada da seguinte forma:

� A classificação não muda pelo alongamento dos eixos para a razão Na / K

� Em muitas situações, alongar os eixos leva a uma maior precisão através da quantificação da relevância de cada variável utilizada na decisão de classificação

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 43

17643.))1912.25)(.3(()0533.05(.),( 22=−+−=Bnewd

009305.))2471.25)(.3(()0467.05(.),( 22=−+−=Anewd

097561.))2794.25)(.3(()0917.05(.),( 22=−+−=Cnewd

1,3 where / == AgeKNa zz

Considerações sobre o Banco de

Dados

� Métodos de aprendizado baseados em instância se beneficiam por ter acesso à exemplos de aprendizagem, compostos por muitas combinações de valores dos atributos

� O conjunto de dados deve ser equilibrado, de modo a incluir um número suficiente de registros com classificações comuns e menos comuns

� Uma abordagem para o equilíbrio do conjunto de dados é a redução da proporção de registros com classificações mais comuns

� Restrições de espaço na memória principal pode limitar o tamanho do conjunto de treinamento utilizado

� O conjunto de treinamento pode ser reduzido de modo a incluir apenas aqueles registros que ocorrem perto dos “limites”,”fronteira” de uma classificação

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 44

Page 23: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

23

Algoritmo dos k-vizinhos mais próximos para estimação e predição

� O algoritmo dos k-vizinhos mais próximos pode ser utilizado para a estimativa e previsão de variáveis-alvo de valores contínuos

� Um método usado para fazer isso é média localmente Ponderada

� Exemplo� Vamos estimar a pressão sanguinea sistólica de um paciente de

17 anos de idade com relação Na / K igual a 12,5, usando k = 3

� Os preditores são Na / K e a idade e a variável-alvo é a BP

� Os três vizinhos (A, B e C) do conjunto de treinamento são mostrados abaixo

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 45

Record Age Na/K BP AgeMMN Na/KMMN Distance

New 17 12.5 ? 0.05 0.25 --

A 16.8 12.4 120 0.0467 0.2471 0.009305

B 17.2 10.5 122 0.0533 0.1912 0.176430

C 19.5 13.5 130 0.0917 0.2794 0.097560

Algoritmo dos k-vizinhos mais próximos para estimação e

predição (continuação)

� Suponha que a BP tem um intervalo = 80 e mínimo = 90 � Nós também esticamos os eixos para a razão Na / K, para refletir a sua

importância na estimativa da BP. Além disso, usamos o inverso do quadrado das distâncias para os pesos

� A pressão arterial sistólica estimada para o novo registro é:

� Como o registro A está mais próximo do novo registro, seu valor de pressão arterial de 120 dá uma contribuição significativa para o valor estimado da BP

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 46

∑=

ii

ii

i

neww

yw

y k

i

i xxxxnewd

w ,,, records existingfor ),(

1 where 212

L=

0954.120

09756.

1

17643.

1

009305.

109756.

130

17643.

122

009305.

120

ˆ

222

222

=

++

++

==

i

i

i

i

i

neww

yw

y

Page 24: 10/4/2010 Capítulo5 Algoritmodos k-vizinhosmaispróximosalfredo/dm_ia/DKD-5 - KNN.pdf · idiossincrasias encontradas no conjunto de treinamento Suponha que adicionemos mais pontos

10/4/2010

24

Escolhendo k

� Qual é o melhor valor de k?

� Não há necessariamente uma solução óbvia

� K menor� Escolher um valor pequeno para k pode conduzir o algoritmo a

overfit os dados

� Ruído ou anomalias podem afectar indevidamente a classificação

� K maior� Valores maiores tendem a suavizar os valores de dados

idiossincráticos ou obscuros no conjunto de treinamento

� Se os valores se tornam muito grandes, valores locais interessantes serão ignorados

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 47

Escolhendo k (continuação)

� Escolhendo o valor apropriado para k exige o equilíbrio destas considerações

� Usando a validação cruzada pode ajudar a determinar o valor de k, escolhendo um valor que minimiza o erro de classificação

Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 48