Erro de treinamento no classificador KNN quando K = 1


8

Eu recebi esta pergunta em um questionário, ele perguntou qual seria o erro de treinamento para um classificador KNN quando K = 1. O que significa treinamento para um classificador KNN? Meu entendimento sobre o classificador KNN era que ele considera todo o conjunto de dados e atribui a qualquer nova observação o valor da maioria dos vizinhos K mais próximos. Onde o treinamento entra em cena? Além disso, a resposta correta fornecida para isso foi que o erro de treinamento será zero, independentemente de qualquer conjunto de dados. Como isso é possível?

Respostas:


13

Erro de treinamento aqui é o erro que você terá ao inserir seu conjunto de treinamento no seu KNN como conjunto de teste. Quando K = 1, você escolherá a amostra de treinamento mais próxima da sua amostra de teste. Como sua amostra de teste está no conjunto de dados de treinamento, ela se escolherá como a mais próxima e nunca cometerá erros. Por esse motivo, o erro de treinamento será zero quando K = 1, independentemente do conjunto de dados. A propósito, existe uma suposição lógica aqui, e esse é o seu conjunto de treinamento que não incluirá as mesmas amostras de treinamento pertencentes a classes diferentes, ou seja, informações conflitantes. Alguns conjuntos de dados do mundo real podem ter essa propriedade.


3

Para uma compreensão visual, você pode pensar em treinar KNNs como um processo de colorir regiões e estabelecer limites em torno dos dados de treinamento.

Podemos primeiro traçar limites em torno de cada ponto no conjunto de treinamento com a interseção de bissetores perpendiculares de cada par de pontos. (a animação bissetor perpendicular é mostrada abaixo)

animação bissetriz perpendicular

fonte gif

Para descobrir como colorir as regiões dentro desses limites, para cada ponto, observamos a cor do vizinho. Quando , para cada ponto de dados, , em nosso conjunto de treinamento, queremos encontrar um outro ponto, , que tem a menor distância . A menor distância possível é sempre , o que significa que o "vizinho mais próximo" é na verdade o próprio ponto de dados original, .K=1xxx0x=x

Para colorir as áreas dentro desses limites, procuramos a categoria correspondente a cada . Digamos que nossas escolhas sejam azuis e vermelhas. Com , colorimos regiões que cercam pontos vermelhos com vermelho e regiões que cercam azul com azul. O resultado seria algo parecido com isto:xK=1

k = 1 com todos os limites

Observe como não pontos vermelhos nas regiões azuis e vice-versa. Isso nos diz que há um erro de treinamento 0.

Observe que os limites de decisão geralmente são desenhados apenas entre categorias diferentes (elimine todos os limites azul-azul vermelho-vermelho), portanto, seu limite de decisão pode parecer mais com isso:

insira a descrição da imagem aqui

Novamente, todos os pontos azuis estão dentro dos limites azuis e todos os pontos vermelhos estão dentro dos limites vermelhos; ainda temos um erro de teste zero. Por outro lado, se aumentarmos para , temos o diagrama abaixo. Observe que existem alguns pontos vermelhos nas áreas azuis e pontos azuis nas áreas vermelhas. É assim que se parece um erro de treinamento diferente de zero.KK=20

Quando , colorimos as regiões em torno de um ponto com base na categoria desse ponto (cor neste caso) e na categoria de 19 de seus vizinhos mais próximos. Se a maioria dos vizinhos é azul, mas o ponto original é vermelho, o ponto original é considerado um desvio e a região ao redor é colorida em azul. É por isso que você pode ter tantos pontos de dados vermelhos em uma área azul e vice-versa. K=20

insira a descrição da imagem aqui

fonte de imagens

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.