官方网站面膜做微商,常州模板建站定制网站,百度收录不到我的网站,wordpress视频压缩其实在模型训练过程中#xff0c;我们在不断地评估着样本间的距离#xff0c;如何评估样本距离也是定义优化目标和训练方法的基础。
在机器学习问题中#xff0c;通常将特征表示为向量的形式#xff0c;所以在分析两个特征向量之间的相似性时#xff0c;常使用余弦相似度…其实在模型训练过程中我们在不断地评估着样本间的距离如何评估样本距离也是定义优化目标和训练方法的基础。
在机器学习问题中通常将特征表示为向量的形式所以在分析两个特征向量之间的相似性时常使用余弦相似度来表示。余弦相似度的取值范围是[-1,1]相同的两个向量之间的相似度为1。如果希望得到类似于距离的表示将1减去余弦相似度即为余弦距离。因此余弦距离的取值范围为[0,2]相同的两个向量余弦距离为0.
1.为什么在一些场景中要使用余弦相似度而不是欧氏距离
对于两个向量A和B其余弦相似度定义为即两个向量夹角的余弦关注的是向量之间的角度关系并不关心它们的绝对大小其取值范围是[-1,1]。当一对文本相似度的长度差距很大但内容十分相近时如果使用词频或词向量作为特征它们在特征空间中的欧氏距离通常很大而如果使用余弦相似度的话它们之间的夹角可能很小因而相似度高。此外在文本、图像、视频等领域研究的对象的特征维度往往很高余弦相似度在高维情况下依然保持“相同时为1正交时为0相反时为-1”的性质而欧氏距离的数值则受维度的影响范围不固定并且含义也比较模糊。
在一些场景例如Word2Vec中其向量的模长是经过归一化的此时欧氏距离与余弦距离有着单调的关系即 其中表示欧氏距离表示余弦相似度表示余弦距离。在此场景下如果选择距离最小相似度最大的近邻那么使用余弦相似度和欧式距离的结果是相同的。
总体来说欧氏距离体现数值上的绝对差异而余弦距离体现方向上的相对差异。例如统计两部剧的用户观看行为用户A的观看向量为0,1用户B为1,0此时二者的余弦距离很大而欧氏距离很小我们分析两个用户对于不同视频的偏好更关注相对差异显然应当使用余弦距离。而当我们分析用户活跃度以登录次数单位次和平均观看时长单位分钟作为特征时余弦距离会认为1,10、10,100两个用户距离很近但显然这两个用户活跃度是有着极大差异的此时我们更关注数值绝对差异应当使用欧氏距离。
特定的度量方法适用于什么样的问题需要在学习和研究中多总结和思考这样在遇到新的问题时也可以活学活用。
2.余弦距离是否是一个严格定义的距离?
该题主要考察对距离的定义的理解以及简单的反证和推导。首先看距离的定义在一个集合中如果每一对元素均可唯一确定一个实数使得三条距离公理正定型、对称性、三角不等式成立则该实数可称为这对元素之间的距离。
余弦距离满足正定型和对称性但是不满足三角不等式因此他并不是严格定义的距离。具体来说对于向量A和B三条距离公理的证明过程如下。
正定性
根据余弦距离的定义有 考虑到 因此有恒成立。特别地有 对称性
根据余弦距离的定义有 因此余弦距离满足对称性。
三角不等式
该性质并不成立下面给出一个反例。给定一个A(1,0),B(1,1),C(0,1)则有 因此有 其实从问题1中我们也能够得出单位圆上欧氏距离和余弦距离满足 即有如下关系 显然在单位圆上余弦距离和欧氏距离的范围都是[0,2]。我们已知欧氏距离是一个合法的距离而余弦距离与欧氏距离有二次关系自然不满足三角不等式。具体来说可以假设A与B、B与C非常近其欧氏距离为极小量此时A、B、C虽然在圆弧上但近似在一条直线上所以A与C的欧氏距离接近于。因此A与B、B与C的余弦距离为A与C的余弦距离接近于大于A与B、B与C的余弦距离之和。
在机器学习领域被俗称为距离却不满足三条距离公理的不仅仅有余弦距离还有KL距离Kullback-Leibler Divergence也叫作相对熵它用于计算两个分布之间的差异但不满足对称性和三角不等式。