相似度计算方法

Posted by ZhY on May 2, 2017

在实际应用时我们常用不同的相似度进行聚类,接下来介绍几种常用的相似度计算方法。

余弦相似度

余弦相似度是用两个信息的夹角余弦值进行度量,当二者夹角余弦值等于1时,代表二者完全重复(可以通过这个方法去重);当二者夹角余弦值接近于1时,代表其相似度越高;余弦越小代表相似度越低。

调整余弦相似度

余弦相似度更多的是从方向上区分差异,而对绝对的数值不敏感,因此没法衡量每个维度上数值的差异,会导致这样一种情况:

用户对内容评分,按5分制,X和Y两个用户对两个内容的评分分别为(1,2)和(4,5),使用余弦相似度得到的结果是0.98,两者极为相似。

但从评分上看X似乎不喜欢2这个 内容,而Y则比较喜欢,余弦相似度对数值的不敏感导致了结果的误差,需要修正这种不合理性就出现了调整余弦相似度,即所有维度上的数值都减去一个均值,比如X和Y的评分均值都是3,那么调整后为(-2,-1)和(1,2),再用余弦相似度计算,得到-0.8,相似度为负值并且差异不小,但显然更加符合现实。

闵可夫斯基距离/欧氏距离

欧氏距离与余弦相似度的不同

余弦相似度侧重于方向上的差异,而不是位置上的差异。

欧氏距离能够体现个体数值特征的绝对差异,所以更多的用于需要从维度的数值大小中体现差异的分析,如使用用户行为指标分析用户价值的相似度或差异。

余弦距离更多的是从方向上区分差异,而对绝对的数值不敏感,更多的用于使用用户对内容评分来区分兴趣的相似度和差异,同时修正了用户间可能存在的度量标准不统一的问题(因为余弦距离对绝对数值不敏感)。

杰卡德相似系数

对于杰卡德相似系数或杰卡德距离来说,它处理的都是非对称二元变量。非对称的意思是指状态的两个输出不是同等重要的

Pearson相似系数

相关系数

0.8-1.0 极强相关

0.6-0.8 强相关

0.4-0.6 中等程度相关

0.2-0.4 弱相关

0.0-0.2 极弱相关或无相关

需要注意的是,pearson相关系数等于0,代表二者不相关,但不代表二者相互独立。

相对熵(K-L距离)

KL距离具有非对称性,即