K-means与余弦距离

时间:2014-01-04 19:33:21

标签: machine-learning distance cluster-analysis k-means cosine-similarity

我必须使用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-means的输出,它与第一个质心分为两组:D1和D2因为它们的相似性最低(0.17)所以组是{D1,D5}和{D2,D3,D4}但是,如果我不得不选择3种手段呢?然后我如何选择我的起始质心?

另一件事我不明白,我正在服用我的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.4T2-0.4(6)T3-0.2

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

2 个答案:

答案 0 :(得分:2)

说真的,你搞砸了。

对于k-means,您不需要成对相似性表。它永远不会比较两个对象!

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

答案 1 :(得分:1)

D1和D2群集因为它们的相似性最高且距离最低。相似度不高。

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

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