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)
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=1xx′x0x=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
Observe como não há 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:
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
fonte de imagens