余弦距离的应用 -- cosine distance

在机器学习问题中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常使用余弦相似度来表示,其取值范围为[ -1, 1 ]。

                                        余弦距离的应用 -- cosine distance_第1张图片

如果希望得到类似于距离的表示,余弦距离 = 1 - 余弦相似度,其取值范围为[ 0, 2 ],即相同的两个向量余弦距离为0。

 

当一对文本相似度的长度差距很大、但内容相近时,如果使用词频或者词向量作为特征,它们在特征空间中的欧氏距离通常很大;而如果使用余弦相似度的话,它们之间的夹角可能很小,因而相似度高。

此外,在文本、图像、视频等领域,研究的对象的特征维度往往很高,余弦相似度在高维情况下依然保持“相同时为1,正交时为0,相反时为-1”的性质,而欧氏距离的数值则受维度的影响,范围不固定,并且含义比较模糊。

 

总体来说,欧氏距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异

 

注意:余弦距离不是严格定义上的距离!

一般严格定义的距离需满足三条公理:正定性 { 即dist(a,b)>=0 },对称性 { dist(a,b) = dist(b, a) },三角不等式 { 三点中任意两点的“距离”和都得大于等于剩余两点的距离,其中等号在三点“共线”时成立,这里的“距离” 是这里用到的度量}

余弦距离 不满足 三角不等式。反例:A( 1, 0 ),B( 1, 1 ),C(0, 1)

此外,相对熵 Relative Entropy  也叫 KL散度 也不是严格定义上的距离,不满足 对称性 和 三角不等式

对称性是显然的,基本上随便的测时数据都不满足对称性,三角不等式 的证明此处略过,可自行查新相关资料。

KL简单介绍 : https://blog.csdn.net/m0_38024592/article/details/100069931

你可能感兴趣的:(机器学习,余弦距离,cosine,distance)