大数据——协同过滤推荐算法:线性回归算法

推荐系统中的协同过滤算法一般分为两大类:

  • 基于行为的协同过滤算法(Memory-Based CF),利用用户行为数据计算相似度,包括用户之间的相似度和物品之间的相似度。
  • 基于模型的协同过滤算法(Model-Based CF),利用机器学习算法预测用户的喜好程度,一般用户数据较为稀疏的时候更适合这种方法。

本文主要介绍Model-Based协同过滤算法

1、Model-Based CF基于模型协同过滤算法

利用用户-物品评分矩阵训练机器学习模型,从而预测用户对物品的评分,主要可以分为以下几类:

  • 基于分裂、回归或者聚类算法
  • 基于矩阵分解的推荐算法
  • 基于神经网络算法
  • 基于图模型算法

2、基于回归模型算法的协同过滤

回归模型的前提是连续的值,我们将评分看做连续的值,采用以下Baseline(基准预测)实现策略。其思想是运用每个人的偏好不同:

有些用户比较好心,他的评分高于其他用户,有些用户比较苛刻,他的评分低于其他用户;而部分物品比较受欢迎,它的评分高于一般物品,部分物品可能会被嫌弃,它的评分会低于一般物品。

而Baseline则是通过找出每个用户与其他用户的评分偏置值 b u b_u bu,每个物品与其他物品的偏置值 b i b_i bi,最终的目标也就变成了寻找最优的 b u b_u bu b i b_i bi。所以Baseline算法的步骤如下:

  1. 计算所有电影的平均评分 u u u;
  2. 计算每个用户的评分与平均评分的偏置值 b u b_u bu;
  3. 计算每部电影的评分与平均评分的偏置值 b i b_i bi
  4. 预测用户对电影的评分:
    r ^ u i = b u i = u + b u + b i \hat{r}_{ui} = b_{ui} = u+b_u+b_i r^ui=bui=u+bu+bi

以用户A对《封神第一部》的评分为例:

  1. 首先计算所有电影的平均评分 u = 3.5 u=3.5 u=3.5
  2. 用户A比较好心,普遍比平均分高1分,偏置值 b u = 1 b_u=1 bu=1
  3. 《封神第一部》一开始差评比较多,评分比平均分低0.5分,偏置值 b i = − 0.5 b_i=-0.5 bi=0.5
  4. 则用户A对《封神第一部》的评分为:3.5+1-0.5=4.1分。

在线性回归问题中,我们用平方差构建损失函数:
C o s t = ∑ u , i ∈ R ( r u i − r ^ u i ) 2 = ∑ u , i ∈ R ( r u i − u − b u − b i ) 2 Cost = \sum_{u,i∈R}(r_{ui}-\hat{r}_{ui})^2 = \sum_{u,i∈R}(r_{ui}-u-b_u-b_i)^2 Cost=u,iR(ruir^ui)2=u,iR(ruiububi)2
为了防止过拟合,需要加入L2范式,最后的公示如下:
C o s t = ∑ u , i ∈ R ( r u i − u − b u − b i ) 2 + λ ( ∑ u b u 2 + ∑ i b i 2 ) Cost = \sum_{u,i∈R}(r_{ui}-u-b_u-b_i)^2 + \lambda(\sum_u{b_u}^2+\sum_i{b_i}^2) Cost=u,iR(ruiububi)2+λ(ubu2+ibi</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AIGC人工智残

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

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

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

打赏作者

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

抵扣说明:

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

余额充值