[论文笔记]slope one predictors for online rating-based collaborative filtering

作者:Daniel Lemire, Anna Maclachlan。

论文概要:

slope-one是一种item-based的协同过滤算法,核心思想是线性回归f(x) = x+b。根据用户对item的评分信息,得到任意两个item之间的回归直线。然后根据已评分item计算未评分item的分值。最后根据计算出来的item的分值排序做推荐。它的优点是算法简单,容易实现,可扩展性也不错,但需要是基于评分的,如果没有评分,需要构造评分。

2. 相关研究

2.1 memory-based和model-based CF,这个在其他几篇论文中都提过了,略。

3. 几种CF方案

    a. Per User Average。即根据用户的历史评分记录计算用户的平均评分,然后应用到该用户的所有未评分item上。

    b. 基于Pearson相关度的算法,即user-based CF。

    c. 基础的slope-one算法。

    d.带权的slope-one算法。基础的slope-one算法在计算回归直线时,并没有考虑对同一item的评分用户数。显然假如有2000个用户对J和L共同评分,20个用户对K和L共同评分,这个时候用户对J的评分显然要比对K的评分对L的影响要大。

    e. bi-polar(不知道怎么翻译) slope one算法。带权的slope-one算法很好地考虑了共同评分用户数的问题,但还有另外一个问题:好评和差评对用户的决策影响是不同的。很多的好评对用户的影响也不如少数的差评。因此这个算法先会计算用户对一个item的平均评分,然后将用户对item的评分集拆成两个:好评集(即>平均评分的)和差评集。对好评集中的item使用带权的slope-one算法预测评分,而对差评集中的item使用基础的slope-one算法(即放大了少量的差评),最后计算item的带权平均值。

4. 测试结果

测试使用EachMovie和MovieLens数据集,MAE评估推荐质量,并比较了Bi-polar slope one, weighted slope one, slope one, bias from mean, adjusted cosine item-based, per user average, pearson这些算法,对于EachMovie数据集,Pearson和Bi-polar slope one的表现最佳。对于MovieLens数据集,三种slope-one算法表现同样好,并且优于所有其他算法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值