其他分享
首页 > 其他分享> > 记录篇:【百面机器学习】第二章.模型评估---余弦距离的应用

记录篇:【百面机器学习】第二章.模型评估---余弦距离的应用

作者:互联网

在机器学习问题中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常使用余弦相似度来表示。余弦相似度的取值范围是[−1,1] ,相同的两个向量之间的相似度为1 。如果希望得到类似于距离的表示,将 1 减去余弦相似度即为余弦距离。因此,余弦距离的取值范围为[0,2] ,相同的两个向量余弦距离为0 。 -- -- -- --

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

对于两个向量 AB ,其余弦相似度即两个向量夹角的余弦,关注的是向量之间的角度关系,并不关心它们的绝对大小,其取值范围是[−1,1] 。当一对文本相似度的长度差距很大、但内容相近时,如果使用词频或词向量作为特征,它们在特征空间中的的欧氏距离通常很大;而如果使用余弦相似度的话,它们之间的夹角可能很小,因而相似度高。此外,在文本、图像、视频等领域,研究的对象的特征维度往往很高,余弦相似度在高维情况下依然保持“ 相同时为 1 ,正交时为 0 ,相反时为 −1” 的性质,而欧氏距离的数值则受维度的影响,范围不固定,并且含义也比较模糊。 在一些场景,例如 Word2Vec中,其向量的模长是经过归一化的,此时欧氏距离与余弦距离有着单调的关系在此场景下,如果选择距离最小(相似度最大)的近邻,那么使用余弦相似度和欧氏距离的结果是相同的。 总体来说,欧氏距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。例如,统计两部剧的用户观看行为,用户A 的观看向量为 (0,1) ,用户 B 为(1,0);此时二者的余弦距离很大,而欧氏距离很小;我们分析两个用户对于不同视频的偏好,更关注相对差异,显然应当使用余弦距离。而当我们分析用户活跃度,以登陆次数( 单位:次 ) 和平均观看时长 ( 单位:分钟 ) 作为特征时,余弦距离会认为(1,10) 、 (10,100) 两个用户距离很近;但显然这两个用户活跃度是有着极大差异的,此时我们更关注数值绝对差异,应当使用欧氏距离。 -- -- -- --

问题2 余弦距离是否是一个严格定义的距离?

该题主要考察面试者对距离的定义的理解,以及简单的反证和推导。首先看距离的定义:在一个集合中,如果每一对元素均可唯一确定一个实数,使得三条距离公理(正定性,对称性,三角不等式)成立,则该实数可称为这对元素之间的距离。

余弦距离满足正定性和对称性,但是不满足三角不等式,因此它并不是严格 定义的距离。

--

面试者在碰到这类基础证明类的问题时,往往会遇到一些困难。比如对面试官考察的重点“ 距离 ” 的定义就不一定清晰地记得。这个时候,就需要跟面试官多沟通,在距离的定义上达成一致(要知道,面试考察的不仅是知识的掌握程度,还有面试者沟通和分析问题的能力)。要想给出一个完美的解答,就需要清晰的逻辑、严谨的思维。比如在正定性和对称性的证明过程中,只是给出含糊的表述诸如“ 显然满足 ” 是不好的,应该给出一些推导。最后,三角不等式的证明 / 证伪中,不应表述为“ 我觉得满足 / 不满足 ” ,而是应该积极分析给定三个点时的三角关系,或者推导其和欧氏距离的关系,这样哪怕一时找不到反例而误认为其是合法距离,也比“ 觉得不满足 ” 这样蒙对正确答案要好。

标签:--,距离,余弦,---,相似,欧氏,百面,向量
来源: https://blog.csdn.net/weixin_48592695/article/details/121643723