Eu tenho um conjunto de dados de um pacote de palavras. Escolho aleatoriamente alguns pontos e os uso para testes e os outros são usados para treinamento.
- case (1) Apenas pego cada ponto de dados do conjunto de teste e o classifico como tendo o mesmo rótulo de classe que seu ponto mais próximo do conjunto de trem.
- case (2) Eu faço a classificação usando qualquer classificador supervisionado conhecido.
Eu sempre obtenho uma melhor taxa de reconhecimento no caso (1). Ou seja, não aprender nada, é melhor do que usar aprendizado supervisionado para esse conjunto de dados (e outros)! Essa é uma situação frequente?
Respostas:
Não é verdade que você não está aprendendo nada. O que você está fazendo é usar o conhecido algoritmo de classificação chamado Vizinho Mais Próximo (NN). É importante perceber que você está aprendendo enquanto usa os dados do trem (mesmo que não calcule explicitamente algum parâmetro) - e, nesse caso, você definitivamente está usando.
Tudo bem que NN esteja indo bem. No entanto, em alguns casos, pode ser um sinal de que há um problema com seus dados. Isso pode acontecer quando seus dados não são IID . Por exemplo, em alguns casos, você pode ter duplicatas exatas ou fechadas nos seus dados. Nesse caso, muitas instâncias no conjunto de testes terão um vizinho próximo no conjunto de trens e você obterá uma alta taxa de sucesso, mas na verdade você está se adaptando demais, porque se você receber um novo ponto sem duplicatas, seu desempenho será pior. O que você pode fazer nesse caso é tentar remover as duplicatas com antecedência ou construir os conjuntos de treinamento / teste, de modo que as duplicatas (ou conjuntos apertados) precisem estar no mesmo conjunto. É importante olhar para os dados e tentar entender o que está acontecendo.
fonte