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

Ana Echavarria
la source

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.

Yuval Filmus
la source
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