1

我必须使用 k-means 编写该集群的程序。我有 TF-IDF 和看起来像这样的余弦相似度

1.00    0.17    0.46    0.40    0.89
0.17    1.00    0.83    0.60    0.58
0.46    0.83    1.00    0.30    0.67
0.40    0.60    0.30    1.00    0.73
0.89    0.58    0.67    0.73    1.00

我有 2 均值的输出,它与第一个质心分成两组:D1 和 D2,因为它们的相似性最低(0.17)所以组是 {D1, D5} 和 {D2, D3, D4} 但如果我必须选择3-means?那么我该如何选择我的起始质心?

还有一件事我不明白,我正在使用我的 TF-IDFS,如下所示:

0.2 0.4 0.8 0.0 0.2
0.0 0.4 0.2 0.8 0.2
0.8 0.0 0.2 0.4 0.4

并为我的小组制作新的质心

组 1:T1- 0.2 T2- 0.1 T3- 0.6 组 2:T1- 0.4 T2- 0.4(6) T3-0.2

现在我该怎么做才能再次将我的文档分配给新的质心?我现在必须计算质心和文档之间的余弦吗?我把它放在那里的 cos 值是否高于组质心?

4

2 回答 2

2

说真的,你把事情搞混了。

对于 k-means,您不需要成对相似度表。它从不比较两个对象!

还要回顾关于 k-means 的许多问题,特别是为什么在 k-means 中使用其他距离而不是平方欧几里得距离是危险的(因为平均值可能不适用于其他距离函数)。虽然我相信它可以证明在相当可用的条件下它也适用于余弦距离,但我还没有看到为什么以及何时保证收敛的证据。我知道的证明仅对(平方)欧几里得距离有效。)

于 2014-01-05T11:17:54.350 回答
1

D1 和 D2 聚类,因为它们的相似性最高,距离最低。相似度不低。

您最初选择的质心与 2 质心情况相同。正确的?你在那里做什么?您使用 3 个随机向量,或者选择 3 个数据点作为初始质心。

你的第二部分没有意义。您可以通过将新文档分配给最近的集群来分配它们。如果愿意,您可以从那里继续迭代。

于 2014-01-04T21:00:08.893 回答