我正在使用潜在语义分析来表示低维空间中的文档语料库。我想使用 k-means 将这些文档分为两组。
几年前,我使用 Python 的 gensim 并编写了自己的 k-means 算法来做到这一点。我使用欧几里得距离确定聚类质心,然后根据与质心的余弦相似度对每个文档进行聚类。它似乎工作得很好。
现在我正在尝试在更大的文档语料库上执行此操作。K-means 没有收敛,我想知道这是否是我的代码中的错误。我最近读到您不应该使用余弦相似度进行聚类,因为 k-means 仅适用于欧几里得距离。尽管,正如我所提到的,它在我较小的测试用例中似乎运行良好。
现在我在LSA 维基百科页面上看到了这个:
可以使用传统的聚类算法(如 k-means)使用余弦等相似性度量对文档和术语向量表示进行聚类。
那么它是哪一个?我可以使用余弦相似度吗?