1

在每次迭代所有数据点之后,或者在将聚类分配给每个数据点之后,评估新的聚类中心会更好吗?为了澄清,这两种方法是优选的:K均值聚类:评估新的聚类中心

  1. 您将所有的数据点,以不同的集群,然后找到新的聚类中心
  2. 或者,你的下一个数据点分配到最近的聚类和发现新的群集中心,移动到下一个点作为重复...

回答

3

这些都或多或少的两种主要方法

  1. 它或多或少劳埃德方法 - 你遍历所有数据点,将每个分配给最近的簇,然后相应地移动所有中心,重复。
  2. 它或多或少是一种Hartigan方法 - 您遍历每个数据点并查看是否更好地将其移动到其他群集(它是否最小化能量/使群集更“密集”),重复直到没有可能的更改。

哪两个比较好?实证研究表明Hartigan方法具有多重优势。特别是人们可以证明,Hartigan不会比劳埃德工作得更差(每个Hartigan optima也是劳埃德最优的,但不是相反)。在http://ijcai.org/papers13/Papers/IJCAI13-249.pdf中有一个很好的理论和实践分析表明,应该遵循第二种方法,特别是如果数据中存在许多可能不相关的特征。

+0

但是,如果你建议Hartigan方法更好,那么这会不会导致在过程中很早获得局部最优值的问题,从而导致更多的迭代达到全局最优值。例如,假设您考虑的第一个数据点是您获得的最后一个群集中最远的,因此使得第一个群集中心更新非常不准确。但是如果你遵循劳埃德的方法,第一次更新总是不会像Hartigan那样准确。没有说明是事实,但只是想知道...... –

+0

每种方法都有一个反例,这不是重点。看看测试,一般来说 - 劳埃德表现更差,这只是一个实证结论,而不是理论结果:) – lejlot

+0

lejlot你似乎有很棒的聚类经验,你可以检查这个问题,如果你有时间:http:///stackoverflow.com/questions/32404742/how-to-calculate-clustering-success-pre-assigment-true-classes-are-known ty – MonsterMMORPG