《Python人脸识别:从入门到工程实践》 ——2.3.3 余弦距离
【摘要】 本节书摘来自华章计算机《Python人脸识别:从入门到工程实践》 —— 书中第2章,第2.3.3节,作者是王天庆 。
2.3.3 余弦距离
余弦距离指的是向量空间中两个向量间的夹角的余弦值,又称作余弦相似度。对于两个n维空间点a=(x1,x2,…,xn)和b=(y1,y2,…,yn),它们的余弦距离定义如下:
我们可以根据向量之间点乘的公式反推一下余弦距离的表达式。
对于两个向量a=[1,2,3]与b=[4,5,6],它们之间点积的计算过程如下:
那么,这两个向量之间夹角θ的余弦值可以表示为:
这两个向量之间夹角的余弦值就是这两个向量之间的余弦相似度。将向量的计算过程带入式中,可以得到这两条向量之间的余弦相似度:
余弦相似度的数值范围也就是余弦值的范围,即\[-1,1\],这个值越高也就说明相似度越大。我们可以看到,这两条向量之间的相似度非常接近1,可以说是非常相似的。我们也可以想象到,在三维空间中,这两条向量的差距其实并不是非常大,这也从侧面印证了余弦相似度的数值含义。
值得一提的是,有些时候,我们希望这个数值的范围在\[0,1\]这个区间中,也就是对结果进行归一化处理。这个归一化过程可以利用余弦值的性质来完成:
余弦相似度是一种非常常用的衡量向量之间距离的方式,常用在人脸识别等特征相似度度量的场景中。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)