推荐算法之SlopeOne算法

SlopeOne算法是一种基于评分的协同过滤预测方法,包括基本、加权和双极性三种形式。基本SlopeOne通过计算物品间评分差的均值预测用户评分;加权版考虑共现次数影响,提高预测置信度;双极性算法则区分用户对物品的喜好类型,更严格地进行计算。通过对用户历史评分和物品评分偏差的处理,算法可以为用户推荐未评分的物品。
摘要由CSDN通过智能技术生成

1.基本思想

  SlopOne算法也属于协同过滤算法的范畴,它是一种Rating-based算法,即基于评分的协同过滤算法,利用物品间的流行度差异来预测用户对新物品的评分,一共有三种形式,下面将一一介绍。
  在这里我们规定了下面将用得到的符号,以及他的含义。

符号 含义
u u u 对于一个给定用户的不完整的评分数组,称为 e v a l u a t i o n evaluation evaluation,即用户对所有物品的评分数组,包括用户未评价的物品
u i u_i ui 用户对物品 i i i的评分
S ( u ) S_{(u)} S(u) 表示 u u u中有评分的物品的合集
c a r d ( S ) card(S) card(S) 表示集合 S S S中元素的个数
χ \chi χ 表示训练集中所有用户评分数组 u u u的集合
S i ( χ ) S_i(\chi) Si(χ) 表示训练集 χ \chi χ中所有包含物品 i i i的评分数组

2.基本SlopeOne算法

  我们举个例子来说明该算法的基本步骤

用户\物品 a b c d
A 5 3.5
B 2 5 4 2
C 4.5 3.5 1 4
  • Step1:计算Item之间的评分差的均值,记为评分偏差(两个item都评分过的用户)。 d e v i , j = ∑ u ∈ S i , j ( χ ) u i − u j c a r d ( S i , j ( χ ) ) dev_{i,j}=\sum_{u\in S_{i,j}(\chi)}\frac{u_i-u_j}{card(S_{i,j}(\chi))} devi,j=uSi,j(χ)card(Si,j(χ))uiuj
    b与a:((3.5-5)+(5-2)+(3.5-4.5))/3=1/6
    c与a:((4-2)+(1-4.5))/2=0.75
    d与a:((2-2)+(4-4.5))/2=-0.25
    c与b:((4-5)+(1-3.5))/2=-1.75
    d与b:((2-5)+(4-3.5))/2=1.25
    d与c:((2-4)+(4-1))/2=0.5

  • Step2:根据Item间的评分偏差和用户的历史评分,预测用户对未评分的item的评分,我们假设 u s e r A userA userA u A u_A uA p ( u j ) = ∑ i ∈ S (

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟炼丹师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值