结合你的学习和研究经历,探讨为什么在一些场景中要使用余弦相似度而不是欧式距离

对于两个向量A和B,其余弦相似度定义为
模型评估--余弦距离的应用 - 图1
即两个向量夹角的余弦,关注的是向量之间的角度关系,并不关心他们的绝对大小,其取值范围是[-1,1]。当一对文本相似度的长度差距很大、但内容相近时,如果使用词频或词向量作为特征,它们在特征空间中的的欧氏距离通常很大;而如果使用余弦相似度的话,它们之间的夹角可能很小,因而相似度高。此外,在文本、图像、视频等领域,研究的对象的特征维度往往很高,余弦相似度在高维情况下依然保持“相同时为1,正交时为0,相反时为−1”的性质,而欧氏距离的数值则受维度的影响,范围不固定,并且含义也比较模糊。
在一些场景,例如Word2Vec中,其向量的模长是经过归一化的,此时欧氏距离与余弦距离有着单调的关系,即
模型评估--余弦距离的应用 - 图2
其中模型评估--余弦距离的应用 - 图3表示欧式距离,模型评估--余弦距离的应用 - 图4表示余弦相似度,模型评估--余弦距离的应用 - 图5表示余弦距离。在此场景下,如果选择距离最小(相似度最大)的近邻,那么使用余弦相似度和欧氏距离的结果是相同的。

余弦距离是否是一个严格定义的距离

距离的定义:在一个集合中,如果每一对元素均可唯一确定一个实数,使得三条距离公理(正定性,对称性,三角不等式)成立,则该实数可称为这对元素之间的距离。
余弦距离满足正定性和对称性,但是不满足三角不等式,因此它并不是严格定义的距离。具体来说,对于向量A和B,三条距离公理的证明过程如下。

  • 正定性

根据余弦距离的定义,有
模型评估--余弦距离的应用 - 图6
考虑到模型评估--余弦距离的应用 - 图7,因此有模型评估--余弦距离的应用 - 图8恒成立。特别地,有
模型评估--余弦距离的应用 - 图9
因此余弦距离满足正定性。

  • 对称性

根据余弦距离的定义,有
模型评估--余弦距离的应用 - 图10
因此余弦距离满足对称性。

  • 三角不等式

该性质并不成立,下面给出一个反例。 给定模型评估--余弦距离的应用 - 图11,则有
模型评估--余弦距离的应用 - 图12
模型评估--余弦距离的应用 - 图13
因此有
模型评估--余弦距离的应用 - 图14