向量空间模型:余弦相似度与欧几里得距离

机器算法验证 距离
2022-04-05 05:55:05

我有分类文本的语料库。从这些我创建向量。每个向量对应一个文档。向量分量是本文档中的单词权重,计算为 TFIDF 值。接下来,我构建了一个模型,其中每个类都由一个向量表示。模型具有与语料库中的类一样多的向量。模型向量的分量被计算为取自此类向量的所有分量值的平均值。对于未分类的向量,我通过计算这些向量之间的余弦来确定与模型向量的相似性。

问题:我可以使用未分类和模型向量之间的欧几里得距离来计算它们的相似度吗?如果不是 - 为什么?
谢谢!

3个回答

为了补充其他答案:

的余弦相似度x,yx,yxy

x, y之间的欧式距离(平方)x,yxy2=x2+y22x,y

假设x,y是范数

余弦相似度:x,y

欧几里得距离(平方):2(1x,y)

如您所见,如果对向量进行归一化,则最小化(平方)欧几里得距离等效于最大化余弦相似度。

您可以使用欧几里得距离,只要您使用适当的变换规则,例如:

dist=1simdist=1simsimdist=1simdist=log(sim)

但是,重要的是要记住,通常距离不是相似度。后者是主观驱动的(如果计算出的相似度分数超过 0.85193相比之下,距离是遵循许多有根据的属性的真实度量。看看“距离百科全书XYsim(X,Y)

如果您不将向量标准化为相同的长度,那么它们的长度将取决于文档的长度。通常,在文档分类中,我们不希望受到文档长度的影响。这就是为什么余弦相似度是首选的原因之一。