余弦距离、欧氏距离和杰卡德距离度量的对比分析
1. 余弦距离
余弦距离,也称为余弦相似度 是用两个向量夹角的余弦值作为衡量两个向量差异的度量。
2. 欧式距离
欧式距离,是计算两个空间向量的欧几里得距离,也就是传统上两个点的距离,只不过这个时候点是多维的。
3. 杰卡德
两个集合A和B交集元素的个数在A、B并集中所占的比例,称为这两个集合的杰卡德系数,用符号 J(A,B) 表示。杰卡德相似系数是衡量两个集合相似度的一种指标(余弦距离也可以用来衡量两个集合的相似度)。
从杰卡德相似度可以引出杰卡德距离,杰卡德距离用两个两个集合中不同元素占所有元素的比例来衡量两个集合的区分度。
余弦距离和欧氏距离的对比
余弦距离使用两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比欧氏距离,余弦距离更加注重两个向量在方向上的差异。
从上图可以看出,欧氏距离衡量的是空间各点的绝对距离,跟各个点所在的位置坐标数值相关;而余弦距离衡量的是空间向量的夹角,和各个向量的方向相关, 而不是坐标数值。如果保持A点位置不变,B点朝原方向远离坐标轴原点,那么这个时候余弦距离是保持不变的(因为向量方向没有发生变化),而A、B两点的距离显然在发生改变,这就是欧氏距离和余弦距离之间的不同之处。
欧氏距离和余弦距离各自有不同的计算方式和衡量特征,因此它们适用于不同的数据分析模型:
欧氏距离能够体现个体数值特征的绝对差异,所以更多的用于需要从维度的数值大小中体现差异的分析,如使用用户行为指标分析用户价值的相似度或差异。
余弦距离更多的是从方向上区分差异,而对绝对的数值不敏感,更多的用于使用用户对内容评分来区分兴趣的相似度和差异,同时修正了用户间可能存在的度量标准不统一的问题(因为余弦距离对绝对数值不敏感)。