[矩阵分解]基于隐式反馈的矩阵分解ALS(spark实现)

本文详细介绍了基于隐式反馈的矩阵分解ALS模型,包括模型定义、参数求解和推荐计算,并探讨了在pyspark中如何实现ALS模型。此外,文章还讨论了针对大规模数据的推荐计算优化策略以及矩阵分解模型与协同过滤模型的比较。
摘要由CSDN通过智能技术生成

目录

一、ALS模型

1、模型定义

2、参数求解

3、推荐计算

二、pyspark实现ALS模型

三、矩阵分解模型与协同过滤模型比较


 

一、ALS模型

1、模型定义

用户u对商品i的偏好:

       其中,在隐式反馈中无法获取用户对商品明确的评分,在视频推荐场景中rui表示为视频观看的时长比例,在商品推荐场景中rui表示为对商品点击次数等。

       用户的隐式反馈属于One-class问题,把预测用户行为看成一个二分类问题,猜用户会不会做某事,实际上收集到的数据只有明确一类:用户干了某事,而用户明确不干某事的数据却没有明确表达。那些没有反馈的缺失值,就是取值为0的评分非常多,导致正负类别样本非常不均衡,严重倾斜,应对这个问题的做法就是负样本采样:挑选部分缺失值作为负类别样本。

负样本采样方法:

  1. 随机均匀采样和正类别一样多。
  2. 按照物品的热门程度采样(在实践中经过了检验)。该采样方法的思想是,一个越热门的物品,用户越可能知道它的存在,这种情况下用户还没对它有反馈就表明,这很可能是真正的负样本。

用户u对商品i偏好度pui的可信度

       用户隐式反馈的可信度,正比于用户反馈的次数,反馈次数越多,越确信用户对物品的喜欢。

损失函数定义为:

      损失函数包含误差平方和(偏差)和正则项(方差)两部分。

2、参数求解

        ALS(alternating-least-squares):如果用户特征矩阵或者商品特征矩阵固定,损失函数为二次函数,存在全局最优值,所以交替地计算用

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值