Quelles sont les principales différences entre K-moyennes et K-voisins les plus proches?

86

Je sais que k-means n'est pas supervisé et qu'il est utilisé pour la mise en cluster, etc., et que k-NN est supervisé. Mais je voulais connaître des différences concrètes entre les deux?

nsc010
la source
1
Une comparaison concise: baoqiang.org/?p=579
Franck Dernoncourt

Réponses:

106

Ce sont des méthodes complètement différentes. Le fait qu'ils aient tous les deux la lettre K dans leur nom est une coïncidence.

K-means est un algorithme de classification qui essaie de partitionner un ensemble de points en K ensembles (clusters) tels que les points de chaque cluster tendent à être proches les uns des autres. Il n'est pas supervisé car les points n'ont pas de classification externe.

K plus proches voisins est un algorithme de classification (ou de régression) qui, afin de déterminer la classification d'un point, combine la classification des K points les plus proches. Il est supervisé parce que vous essayez de classer un point sur la base de la classification connue des autres points.

Bitwise
la source
6
Je pense qu'il y a plus de similitudes que ce type ne donne de crédit. Ils utilisent tous deux des méthodes de distance pour regrouper et classer les entrées, respectivement. C'est souvent la raison pour laquelle ils sont enseignés ensemble et pourquoi les problèmes de dimensionnalité sont abordés en relation avec eux. Différentes méthodes de distance peuvent être appliquées aux deux. Il y a en fait beaucoup de similitudes.
eljusticiero67
@ eljusticiero67 bien sûr, ils sont utilisés pour classer les entrées, cela est mentionné par OP. Et la plupart des méthodes d’apprentissage classiques sont basées sur la distance, ce qui n’est donc pas surprenant. Notez que le PO était intéressé par les différences. J'ai aussi compris que si OP laissait supposer qu'il pourrait y avoir une similitude due au K dans les deux noms.
Bitwise
12

Comme indiqué par Bitwise dans leur réponse , k-means est un algorithme de classification. S'il s'agit de k-voisins les plus proches (k-NN), la terminologie est un peu floue:

  • dans le contexte de la classification, il s'agit d'un algorithme de classification, comme indiqué également dans la réponse susmentionnée

  • en général c'est un problème pour lequel il existe différentes solutions (algorithmes)

Ainsi, dans le premier contexte, dire "classifieur k-NN" peut en réalité signifier divers algorithmes concrets sous-jacents qui résolvent le problème de k-NN, et leur résultat est interprété aux fins de la classification.

Ce sont deux choses différentes, mais vous trouverez peut-être intéressant que l'algorithme k-means soit l'une des différentes méthodes possibles pour résoudre le problème k-NN (Marius Muja et David G. Lowe, "Voisins approximatifs approximatifs rapides avec configuration automatique d'algorithme" , in Conférence internationale sur la théorie et les applications de la vision par ordinateur (VISAPP'09, 2009 PDF )

BartoszKP
la source
0

Vous pouvez avoir un k-means supervisé. Vous pouvez construire des centroïdes (comme dans k-means) en fonction de vos données étiquetées. Rien ne t'arrête. Si vous voulez améliorer cela, l'espace euclidien et la distance euclidienne pourraient ne pas vous fournir les meilleurs résultats. Vous devrez choisir votre espace (par exemple, un espace riemannien) et définir la distance entre les points (et même définir un "point"). Les deux derniers sont des sujets de recherche et dépendent également du type (propriétés) de données (signal) dont vous disposez.

Anton Andreev
la source
-2

K-means peut créer les informations de cluster pour les nœuds voisins, tandis que KNN ne peut pas trouver le cluster pour un nœud voisin donné.

Rti
la source
-2

k Les moyens peuvent être utilisés comme phase d’entraînement avant que knn soit déployé à l’étape de classification proprement dite. K moyennes crée les classes représentées par les étiquettes centroïde et classe des échantillons appartenant à chaque classe. knn utilise ces paramètres ainsi que le nombre k pour classer un nouvel échantillon invisible et l'affecter à l'une des k classes créées par l'algorithme de moyennes de K

Mohatef
la source