美文网首页
为什么用余弦相似度,而不是欧式距离?

为什么用余弦相似度,而不是欧式距离?

作者: 小歪与大白兔 | 来源:发表于2018-12-09 19:01 被阅读0次
一、为什么用余弦相似度,而不是欧式距离?

余弦相似度:取值范围[-1,1]
余弦距离=1-余弦相似度:取值范围[0,2]

  • 余弦相似度在高维的情况下依然保持“相同时为1,正交时为0,相反时为-1”的性质。
  • 欧式距离的数值受维度的影响,范围不固定,并且含义也比较模糊。
  • 欧式距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。
二、余弦距离是否是一个严格定义的距离?

首先我们要知道距离的定义是什么:满足三条距离公理(正定性、对称性、三角不等式)。
(1)正定性:书中给的证明是证明余弦距离≥0,不太确定正定性是不是这个含义。
dist(A,B) = 1- cosθ = \frac{||A||_2||B||_2-AB}{||A||_2||B||_2}
因为||A||_2||B||_2-AB≥0,所以dist(A,B)≥0恒成立,满足正定性。
(2)对称性:
dist(A,B) = \frac{||A||_2||B||_2-AB}{||A||_2||B||_2} = \frac{||B||_2||A||_2-BA}{||B||_2||A||_2} =dist(B,A)
满足对称性。
(3)三角不等式:
余弦距离不满足三角不等式,下面给出反例:A=(1,0) B = (1,1) C = (0,1)
dist(A,B) = dist(B,C) =1- \frac{\sqrt{2}}{2}
dist(B,C) = 1
从而有
dist(A,B)+dist(B,C) = 2- \sqrt{2} ≤ 1=dist(A,C)
不满足三角不等式。
整理自:《百面机器学习》

相关文章

网友评论

      本文标题:为什么用余弦相似度,而不是欧式距离?

      本文链接:https://www.haomeiwen.com/subject/upykhqtx.html