余弦相似度是否与 l2 归一化欧几里得距离相同?

机器算法验证 正常化 自然语言 欧几里得 余弦距离 余弦相似度
2022-02-02 20:29:08

相同的含义,它将为向量u和一组向量V之间的相似性排名产生相同的结果。

我有一个向量空间模型,它具有距离度量(欧几里德距离,余弦相似度)和归一化技术(无,l1,l2)作为参数。据我了解,设置 [cosine, none] 的结果应该与 [euclidean, l2] 相同或至少非常相似,但事实并非如此。

实际上很有可能系统仍然存在错误——或者我对向量有什么严重的错误?

编辑:我忘了提到向量是基于语料库中文档的字数。给定一个查询文档(我也将其转换为字数向量),我想从我的语料库中找到与其最相似的文档。

仅计算它们的欧几里德距离是一种直接的度量,但在我从事的任务中,余弦相似度通常被用作相似度指标,因为仅长度不同的向量仍然被认为是相等的。距离/余弦相似度最小的文档被认为是最相似的。

2个回答

为了2-归一化向量x,y,

||x||2=||y||2=1,
我们有平方欧几里得距离与余弦距离成正比
||xy||22=(xy)(xy)=xx2xy+yy=22xy=22cos(x,y)
也就是说,即使您对数据进行了归一化并且您的算法对于距离的缩放不变,您仍然会因为平方而期望差异。

标准余弦相似度在欧几里得空间中定义如下,假设列向量uv

cos(u,v)=u,vuv=uTvuv[1,1].
如果您的向量被归一化为单位范数(在 l2 中),这将减少为标准内积。在文本挖掘中,这种标准化并非闻所未闻,但我不认为这是标准。