我正在使用潜在语义分析来表示较低维空间中的文档语料库。我想使用k均值将这些文档分为两组。
几年前,我使用Python的gensim并编写了自己的k-means算法来做到这一点。我使用欧几里得距离确定了聚类质心,但随后基于与质心的余弦相似度对每个文档聚类了。它似乎工作得很好。
现在,我正在尝试在更大的文档集上执行此操作。K-means没有收敛,我想知道这是否是我的代码中的错误。我最近读到您不应该使用余弦相似度进行聚类,因为k均值仅适用于欧几里得距离。即使正如我提到的那样,它在较小的测试用例中似乎也可以正常工作。
现在,我在LSA维基百科页面上发现了这一点:
可以使用传统的聚类算法(如k均值)和相似度(如余弦)对文档和术语向量表示进行聚类。
那是什么呢?是否可以使用余弦相似度?
I then assigned each document to a cluster based on cosine similarity
-文档和质心之间的余弦?在分配完所有文档后,您将以常规(欧几里得)的方式更新质心,因为空间中文档的坐标是已知的。是这样吗?