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

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

余弦相似度:取值范围[-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)
不满足三角不等式。
整理自:《百面机器学习》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。