协同过滤中最常用到的三种相似度的测量方法比较

person系数:

sim(i,j)=corri,j=uU(Ru,iRi¯¯¯¯¯¯)(Ru,jRj¯¯¯¯¯¯)(Ru,iRi¯¯¯¯¯¯)2(Ru,jRj¯¯¯¯¯¯)2 s i m ( i , j ) = c o r r i , j = ∑ u ∈ U ( R u , i − R i ¯ ) ( R u , j − R j ¯ ) ( R u , i − R i ¯ ) 2 ( R u , j − R j ¯ ) 2

针对两个向量而言,要求两个向量中的各个分量的含义是一致的,更通俗的说是针对两个变量,通过计算这两个变量的person系数来衡量两个变量之间的相似性,在协同过滤中也就是计算两个item之间的相关程度。

余弦相似度:

sim(i,j)=cos(i⃗ ,j⃗ )=i⃗ j⃗ i⃗ 2×j⃗ 2 s i m ( i , j ) = c o s ( i → , j → ) = i → ⋅ j → ‖ i → ‖ 2 × ‖ j → ‖ 2

针对两个向量而言,对两个向量的分量的含义是否一致并没有特别的要求。也就是说,在得分矩阵中,既可以是针对item之间的相关程度的衡量,也可以是两个用户之间的相关程度的衡量。

修正余弦相似度:

sim(i,j)=uU(Ru,iRi¯¯¯¯¯¯)(Ru,jRj¯¯¯¯¯¯)(Ru,iRi¯¯¯¯¯¯)2(Ru,jRj¯¯¯¯¯¯)2 s i m ( i , j ) = ∑ u ∈ U ( R u , i − R i ¯ ) ( R u , j − R j ¯ ) ( R u , i − R i ¯ ) 2 ( R u , j − R j ¯ ) 2

  • 修正余弦相似度 & 余弦相似度 的区别:
    在余弦相似度上进行修正后得到修正余弦相似度,修正余弦相似度提出的前提:对于有些用户来说3分以上已经是属于喜欢的范畴了,但是对于有些用户而言4分以上才是喜欢的范畴,因此在计算的时候以用户的平均打分作为中心化标准进行修正每个用户在已有打分的item上的打分(忽略了未打分的item)。

  • person系数 & 修正余弦相似度 的区别:
    person中心化的标准是该item的打分均值
    修正余弦相似度是该user的打分均值

  • 余弦相似度 & person系数与修正余弦相似度 的区别:
    余弦相似度计算时包括了用户所有信息,也就是说包括缺省的打分信息(缺省的地方赋0值)
    person系数与修正余弦相似度进行计算时只包括了两个用户都进行了打分的item上的信息(忽略缺省的地方)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值