k-means更新中心使用余弦相似度

时间:2012-05-17 12:36:40

标签: cluster-analysis k-means cosine

我在使用k-means更新中心时遇到问题。 我的数据如下:

  1 0 5 6 2 3 5 7
  2 5 0 8 6 1 0 5 . . .
  2 5 6 4 2 1 0 8
         .
         .

我需要按行处理行(例如:一行是中心)。我计算了具有余弦相似性的聚类。现在我想更新每个集群的中心。但我不知道我该怎么做。请帮助我。 (每行包含文档中不同单词的迭代次数。) 感谢

2 个答案:

答案 0 :(得分:3)

实际上有一种算法可以使用余弦度量,称为球面k均值。

有关详细信息,请参阅

http://www.cs.gsu.edu/~wkim/index_files/papers/refinehd.pdf http://nirmalthapa.wordpress.com/2011/05/05/spherical-k-means-clustering-algorithm/

答案 1 :(得分:1)

k-means是针对欧几里德的判决设计的,而不是针对其他指标

虽然起初看起来好像你可以轻松使用任何其他距离函数,但问题实际上是 mean 函数。

对于欧几里德距离,算术平均值将最小化方差,这样可以确保算法的终止。对于曼哈顿距离,您可以使用medoid(参见k-medoids聚类)。

但是如果你投入任意其他距离函数,k-means可能会遇到无限循环(即停止收敛)。因此在使用其他距离时要小心,并考虑使用比k-means更先进/更现代的算法。