k-means聚类算法总能产生相同的解决方案吗?初始化应该是随机的,所以无论初始化如何,聚类都会收敛到相同的结果?
答案 0 :(得分:5)
初始化应该是随机的,无论初始化如何,聚类都会收敛到相同的结果?
恰恰相反。如果 k -means问题是一个很好的凸优化问题,我们不会随机初始化它,因为简单地从(0,0,...,0)开始会给出正确的答案
随机初始化的原因正是您可以通过尝试不同的随机种子来获得不同的解决方案,然后在完成所有 k -means运行时选择最佳解决方案。对于许多应用来说,十次运行是一个很好的经验法则。
一般来说,找出 k -means问题的全局最小值是NP-hard。通用算法实际上是一种启发式算法。
答案 1 :(得分:2)
实际上,k-means算法的初始化对获得的结果有明显的影响。为了防止“坏”初始化,你可以采用克服这个问题的k-means ++算法。您可以在维基百科(http://en.wikipedia.org/wiki/K-means%2B%2B)中查看。