J'ai un ensemble de données d'un sac de mots. Je choisis au hasard certains points et les utilise pour les tests et les autres sont utilisés pour la formation.
- cas (1) Je prends simplement chaque point de données de l'ensemble de test et le classe comme ayant la même étiquette de classe que son point le plus proche de l'ensemble de trains.
- cas (2) Je fais la classification en utilisant n'importe quel classificateur supervisé connu.
J'ai toujours un meilleur taux de reconnaissance dans le cas (1). Autrement dit, ne pas faire d'apprentissage du tout, c'est mieux que d'utiliser n'importe quel apprentissage supervisé, pour cet ensemble de données (et d'autres)! Est-ce une situation fréquente?
Réponses:
Ce n'est pas vrai que vous ne faites aucun apprentissage. Ce que vous faites, c'est utiliser l'algorithme de classification bien connu appelé le plus proche voisin (NN). Il est important de réaliser que vous apprenez tant que vous utilisez les données du train (même si vous ne calculez pas explicitement un paramètre) - et dans ce cas, vous l'utilisez certainement.
Il est normal que NN se porte bien. Cependant, dans certains cas, cela peut être le signe d'un problème avec vos données. Cela peut se produire lorsque vos données ne sont pas IID . Par exemple, dans certains cas, vous pouvez avoir des doublons exacts ou proches dans vos données. Dans un tel cas, de nombreux cas dans l'ensemble de test auront un voisin proche dans l'ensemble de train et vous obtiendrez un taux de réussite élevé, mais en fait, vous êtes en sur-ajustement, car si vous obtenez un nouveau point sans doublons, vos performances seront pires. Dans ce cas, vous pouvez essayer de supprimer les doublons à l'avance ou de créer les ensembles de train / test de telle sorte que les doublons (ou les clusters étroits) doivent être dans le même ensemble. Il est important de regarder les données et d'essayer de comprendre ce qui se passe.
la source