0

我在更新 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
         .
         .

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

4

2 回答 2

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/

于 2013-04-04T14:11:19.487 回答
1

k-means 是为 Euclidean disance 设计的,而不是其他指标

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

对于欧几里得距离,算术平均值将使方差最小化,从而确保算法的终止。对于曼哈顿距离,您可以改用中心点(参见 k-中心点聚类)。

但是如果你加入任意其他距离函数,k-means 可能会陷入无限循环(即停止收敛)。所以在使用其他距离时要小心,并考虑使用比 k-means 更高级/现代的算法。

于 2012-05-18T06:12:34.790 回答