《Python人脸识别:从入门到工程实践》 ——2.3.3 余弦距离

举报
华章计算机 发表于 2020/02/20 14:21:53 2020/02/20
【摘要】 本节书摘来自华章计算机《Python人脸识别:从入门到工程实践》 —— 书中第2章,第2.3.3节,作者是王天庆 。

2.3.3 余弦距离

余弦距离指的是向量空间中两个向量间的夹角的余弦值,又称作余弦相似度。对于两个n维空间点a=(x1,x2,…,xn)和b=(y1,y2,…,yn),它们的余弦距离定义如下:

image.png

我们可以根据向量之间点乘的公式反推一下余弦距离的表达式。

对于两个向量a=[1,2,3]与b=[4,5,6],它们之间点积的计算过程如下:

image.png

那么,这两个向量之间夹角θ的余弦值可以表示为:

image.png

这两个向量之间夹角的余弦值就是这两个向量之间的余弦相似度。将向量的计算过程带入式中,可以得到这两条向量之间的余弦相似度:

image.png

余弦相似度的数值范围也就是余弦值的范围,即\[-1,1\],这个值越高也就说明相似度越大。我们可以看到,这两条向量之间的相似度非常接近1,可以说是非常相似的。我们也可以想象到,在三维空间中,这两条向量的差距其实并不是非常大,这也从侧面印证了余弦相似度的数值含义。

值得一提的是,有些时候,我们希望这个数值的范围在\[0,1\]这个区间中,也就是对结果进行归一化处理。这个归一化过程可以利用余弦值的性质来完成:

image.png

余弦相似度是一种非常常用的衡量向量之间距离的方式,常用在人脸识别等特征相似度度量的场景中。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。