Dans quelles conditions K-means est-il invariant par transformation?


8

Étant donné un ensemble de points de données où nous exécutons K-means sur et obtenons les clusters .X={x1,x2,…,xm}Xje∈RréXc1,c2,…,ck

Maintenant, si nous créons un nouvel ensemble de données où et et exécutons K-means sur pour obtenir les clusters .Oui={y1,y2,…,ym}yje=UNEXje+byje∈RréOuig1,g2,…gk

Dans quelles conditions et avons-nous la garantie d'obtenir les mêmes grappes?UNEb

Supposons que K-means utilise la distance euclidienne et a les mêmes conditions initiales sur les deux algorithmes, c'est-à-dire que si les centres initiaux de X sont alors les centres initiaux de Y sont où .c10,…,ck0g10,…,gk0gje0=UNEcje0+b

Jusqu'à présent, j'ai pensé que doit être de rang complet et peut être n'importe quel vecteur. Cependant, je n'ai pas pu le prouver.UNEb

Réponses:


6

La réponse dépend de votre algorithme K-means, mais ce qui suit devrait fonctionner pour les algorithmes standard.

Vous obtiendrez le même résultat si votre transformation remplit deux conditions:T

  1. Il conserve les distances: , où est votre métrique, disons.d(z,w)=d(T(z),T(w))dd(z,w)=‖z−w‖
  2. Il conserve des moyennes: si est une combinaison convexe que .∑ipiziT(∑ipizi)=∑ipiT(zi)

Vous pouvez le vérifier en parcourant l'algorithme, montrant qu'il fait toujours les mêmes choix.


Merci Yuval, cela a beaucoup de sens. Cela signifierait-il alors que pour la distance euclidienne, A devrait être une matrice orthogonale pour créer une transformation rigide?
— Ana Echavarria

Il semble que oui.
— Yuval Filmus
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.