一、为什么用余弦相似度,而不是欧式距离?
余弦相似度:取值范围[-1,1]
余弦距离=1-余弦相似度:取值范围[0,2]
- 余弦相似度在高维的情况下依然保持“相同时为1,正交时为0,相反时为-1”的性质。
- 欧式距离的数值受维度的影响,范围不固定,并且含义也比较模糊。
- 欧式距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。
二、余弦距离是否是一个严格定义的距离?
首先我们要知道距离的定义是什么:满足三条距离公理(正定性、对称性、三角不等式)。
(1)正定性:书中给的证明是证明余弦距离≥0,不太确定正定性是不是这个含义。
因为≥0,所以dist(A,B)≥0恒成立,满足正定性。
(2)对称性:
满足对称性。
(3)三角不等式:
余弦距离不满足三角不等式,下面给出反例:A=(1,0) B = (1,1) C = (0,1)
从而有
dist(A,B)+dist(B,C) = 2- ≤ 1=dist(A,C)
不满足三角不等式。
整理自:《百面机器学习》