KNN: 1 vizinho mais próximo

9

Minha pergunta é sobre o classificador de um vizinho mais próximo e é sobre uma afirmação feita no excelente livro The Elements of Statistical Learning, de Hastie, Tibshirani e Friedman. A declaração é (p. 465, seção 13.3):

"Como ele usa apenas o ponto de treinamento mais próximo ao ponto de consulta, o viés da estimativa de um vizinho mais próximo é geralmente baixo, mas a variação é alta".

O livro está disponível em
http://www-stat.stanford.edu/~tibs/ElemStatLearn/download.html

Para iniciantes, podemos definir o que é preconceito e variação. Da pergunta "como podemos aumentar a dimensão aumentar a variância sem aumentar o bi" , temos o seguinte:

"Primeiro, o viés de um classificador é a discrepância entre sua função estimada e verdadeira média, enquanto a variação de um classificador é a divergência esperada da função de previsão estimada em relação ao seu valor médio (ou seja, quão dependente o classificador é do aleatório amostragem realizada no conjunto de treinamento).

Portanto, a presença de viés indica algo basicamente errado com o modelo, enquanto a variação também é ruim, mas um modelo com alta variação pode pelo menos prever bem em média ".

Alguém poderia explicar por que a variação é alta e o viés é baixo para o classificador vizinho mais próximo?

FredikLAa
fonte

Respostas:

13

O viés é baixo, porque você ajusta seu modelo apenas ao ponto 1 mais próximo. Isso significa que seu modelo estará muito próximo dos dados de treinamento.

A variação é alta, porque otimizar apenas um ponto mais próximo significa que a probabilidade de você modelar o ruído em seus dados é realmente alta. Seguindo sua definição acima, seu modelo dependerá muito do subconjunto de pontos de dados que você escolher como dados de treinamento. Se você reorganizar aleatoriamente os pontos de dados que escolher, o modelo será dramaticamente diferente em cada iteração. assim

divergência esperada da função de previsão estimada em relação ao seu valor médio (ou seja, quão dependente o classificador é da amostragem aleatória feita no conjunto de treinamento)

será alto, porque cada vez que seu modelo será diferente.

Exemplo Em geral, um modelo k-NN se encaixa em um ponto específico nos dados com os N pontos de dados mais próximos em seu conjunto de treinamento. Para 1-NN, este ponto depende apenas de um único outro ponto. Por exemplo, você deseja dividir suas amostras em dois grupos (classificação) - vermelho e azul. Se você treinar seu modelo para um determinado ponto p, para o qual os 4 vizinhos mais próximos seriam vermelho, azul, azul, azul (subindo pela distância até p). Em seguida, um 4-NN classificaria seu ponto em azul (3 vezes azul e 1 vez em vermelho), mas o modelo 1-NN classifica-o em vermelho, porque vermelho é o ponto mais próximo. Isso significa que seu modelo está realmente próximo dos dados de treinamento e, portanto, o viés é baixo. Se você calcular o RSS entre o modelo e os dados de treinamento, ele será próximo de 0. Em contraste, a variação no modelo é alta, porque o modelo é extremamente sensível e distorcido. Conforme indicado acima, é provável que um embaralhamento aleatório do seu conjunto de treinamento mude drasticamente o seu modelo. Por outro lado, o 10-NN seria mais robusto nesses casos, mas poderia ser rígido. Qual k escolher depende do seu conjunto de dados. Isso depende muito daPreconceito-Variância-Tradeoff , exatamente relacionado a esse problema.

Alex VII
fonte
Obrigado @alexvii. Você está dizendo que, para um novo ponto, esse classificador resultará em um novo ponto que "imita" o conjunto de testes muito bem. E se o conjunto de testes for bom, a previsão estará próxima da verdade, o que resulta em um viés baixo? Corrigir? Ou estou perdendo alguma coisa?
FredikLAa
Eu adicionei algumas informações para deixar meu argumento mais claro.
Alex VII
Mais uma coisa: se você usar os três vizinhos mais próximos em comparação com o mais próximo, não estaria mais "certo" de que estava certo e não classificaria a "nova" observação em um ponto que poderia ser "inconsistente" com os outros pontos? e, assim, diminuindo o viés?
FredikLAa
Isso está bem explicado na página da Wikipedia, sob o ponto K-vizinhos mais próximos, quase no final da página.
Alex VII
11

Lembre-se de que o classificador 1-vizinho mais próximo é realmente o modelo de vizinho mais próximo mais complexo . Por mais complexo, quero dizer, ele tem o limite de decisão mais irregular e é mais provável que se ajuste demais. Se você usar um classificador vizinho N mais próximo (N = número de pontos de treinamento), classificará tudo como classe majoritária. Diferentes permutações dos dados fornecerão a mesma resposta, fornecendo um conjunto de modelos com variação zero (todos exatamente iguais), mas com um alto viés (consistentemente todos errados). Reduzir a configuração de K aproxima cada vez mais os dados de treinamento (baixa tendência), mas o modelo depende muito mais dos exemplos de treinamento específicos escolhidos (alta variação).

Wang nuclear
fonte
obrigado @Matt. Uma pergunta: como você sabe que o viés é o mais baixo para o vizinho mais próximo? Como você sabe que não usar três vizinhos mais próximos seria melhor em termos de viés?
FredikLAa
Imagine um problema discreto de kNN em que temos uma quantidade muito grande de dados que cobre completamente o espaço da amostra. Qualquer ponto de teste pode ser classificado corretamente comparando-o com o vizinho mais próximo, que é de fato uma cópia do ponto de teste. A polarização é zero neste caso. Se usarmos mais vizinhos, erros de classificação são possíveis, como resultado do viés crescente. Este exemplo é verdadeiro para tamanhos muito grandes de conjuntos de treinamento. Na realidade, pode ser possível obter um viés experimentalmente mais baixo com mais alguns vizinhos, mas a tendência geral com muitos dados é menos vizinhos -> viés menor.
Nuclear Wang
3

Aqui está um post muito interessante sobre tendências e variações. A seção 3.1 lida com o algoritmo knn e explica por que baixo k leva a alta variação e baixo viés.

A Figura 5 é muito interessante: você pode ver em tempo real como o modelo está mudando enquanto k está aumentando. Para baixo k, há muito ajuste excessivo (algumas "ilhas" isoladas), o que leva a um viés baixo, mas uma alta variação. Para k muito alto, você tem um modelo mais suave, com baixa variação, mas alto viés. Neste exemplo, um valor de k entre 10 e 20 dará um modelo de descida que é geral o suficiente (variação relativamente baixa) e preciso o suficiente (tendência relativamente baixa).

Anil Narassiguin
fonte