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}XjeRXc1,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+byjeROuig1,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)=zw
  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.