J'utilise un algorithme de Lloyd modifié pour obtenir des sorties de taille de cluster égales en kmeans avec k = 2. ci-après le pseudo-code:L'algorithme de Kmeans pour k = 2 qui donne des sorties de taille de cluster égales
- Randomly choose 2 points as initialization for the 2 clusters (denoted as c1, c2)
- Repeat below steps until convergence
- Sort all points xi according to ascending values of ||xi-c1|| - ||xi-c2||, i.e. differences in distances to the first and the second cluster
- Put top 50% points in cluster 1 , others in cluster 2
- Recalculate centroids as average of the allocated points (as usual in Lloyd's)
Maintenant, l'algorithme ci-dessus fonctionne bien pour moi de manière empirique:
- Il donne des grappes équilibrées
- Il diminue toujours l'objectif
a une telle un algorithme a été proposé ou analysé auparavant dans la littérature? Puis-je obtenir des références s'il vous plaît?
Merci pour votre référence! À mon avis, il y a une différence cruciale entre mon algorithme et celui de la référence: Pour k = 2, l'étape d'attribution de points peut être résolue exactement comme ci-dessus, tandis que pour le plus général k> 2, elle ne semble pas être le cas. Par conséquent, dans le lien ci-dessus, ils utilisent une procédure d'échange de points locale qui est inutile lorsque k = 2. Je voulais savoir si la preuve du cas de k = 2 existe quelque part .. – vervenumen
Je ne pense pas que le cas k = 2 soit d'un grand intérêt; parce qu'on cherche habituellement plus de grappes. J'ai certainement vu ce genre d'opération pour k = 2 en indexation métrique. –