【发布时间】:2014-02-11 03:22:09
【问题描述】:
k-means 聚类算法是否总是产生相同的解决方案?初始化应该是随机的,那么无论初始化如何聚类都会收敛到相同的结果吗?
【问题讨论】:
-
不,它没有。
标签: algorithm statistics artificial-intelligence k-means convergence
k-means 聚类算法是否总是产生相同的解决方案?初始化应该是随机的,那么无论初始化如何聚类都会收敛到相同的结果吗?
【问题讨论】:
标签: algorithm statistics artificial-intelligence k-means convergence
初始化应该是随机的,那么无论初始化如何聚类都会收敛到相同的结果吗?
恰恰相反。如果 k-means 问题是一个很好的凸优化问题,我们不会随机初始化它,因为简单地从 (0,0,...,0) 开始会给出正确的答案.
随机初始化的原因正是你可以通过尝试不同的随机种子来获得不同的解决方案,然后在你所有的 k-means 运行完成后选择最好的一个。对于许多应用程序来说,十次运行是一个很好的经验法则。
寻找k-means 问题的全局最小值通常是NP-hard。通用算法确实是启发式算法。
【讨论】:
其实k-means算法的初始化对得到的结果有明显的影响。为了防止“错误”初始化,您可以求助于克服这个问题的 k-means++ 算法。您可以在维基百科 (http://en.wikipedia.org/wiki/K-means%2B%2B) 中查看。
【讨论】: