相似度计算方法学习总结

无论什么推荐算法,计算相似度都是避不开的,下面就总结一下已经了解的相似度计算方法。

1. 余弦相似度

 

这个算是最常用的了,典型例子是计算文本相似度。通过计算两个向量间的夹角,越是相似夹角度数越接近0,所计算的值也就越接近1

但是余弦相似度只对方向敏感,对距离并不敏感。

2. 欧式距离(欧几里得距离)

 

 就是计算空间上两点间的距离。下图很好体现了欧氏距离和余弦相似度的差异。

 

所以可以看出 欧氏距离 适用于 那些 对数值差异大小敏感的 相似度计算,

余弦相似度 更适用于 判别方向上的差异,而对绝对的数值不敏感的,比如 通过用户对 内容的评分来区分兴趣的相似度,修正了不同用户之间可能存在度量标准不统一的问题(有的用户默认高分,有的用户默认低分,对于默认低分用户来说7分就表示他喜欢了,而对默认高分用户来说10分才表示喜欢)。

3. 皮尔逊相关系数(PC)

 

其实就是 升级版的余弦相似度。

举个例子:

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

此外,还有

斯皮尔曼等级相关系数、平局平方差异(MSD)、Jaccard距离和Dice系数等... 不太懂,以后涉及到深处在研究哈。

(https://www.cnblogs.com/chenliyang/p/6548306.html)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值