矩阵分解模型(1):ALS学习算法

一、矩阵分解模型。

用户对物品的打分行为可以表示成一个评分矩阵A(m*n),表示m个用户对n各物品的打分情况。如下图所示:


其中,A(i,j)表示用户user i对物品item j的打分。但是,用户不会对所以物品打分,图中?表示用户没有打分的情况,所以这个矩阵A很多元素都是空的,我们称其为“缺失值(missing value)”。在推荐系统中,我们希望得到用户对所有物品的打分情况,如果用户没有对一个物品打分,那么就需要预测用户是否会对该物品打分,以及会打多少分。这就是所谓的“矩阵补全(填空)”。

ALS 的核心就是下面这个假设:打分矩阵A是近似低秩的。换句话说,一个 的打分矩阵 A 可以用两个小矩阵的乘积来近似:。这样我们就把整个系统的自由度从一下降到了我们接下来就聊聊为什么 ALS 的低秩假设是合理的。世上万千事物,人们的喜好各不相同。但描述一个人的喜好经常是在一个抽象的低维空间上进行的,并不需要把其喜欢的事物一一列出。举个例子,我喜欢看略带黑色幽默的警匪电影,那么大家根据这个描述就知道我大概会喜欢昆汀的《低俗小说》、《落水狗》和韦家辉的《一个字头的诞生》。这些电影都符合我对自己喜好的描述,也就是说他们在这个抽象的低维空间的投影和我的喜好相似。再抽象一些,把人们的喜好和电影的特征都投到这个低维空间,一个人的喜好映射到了一个低维向量,一个电影的特征变成了纬度相同的向量,那么这个人和这个电影的相似度就可以表述成这两个向量之间的内积。 我们把打分理解成相似度,那么“打分矩阵A(m*n)”就可以由“用户喜好特征矩阵U(m*k)”“产品特征矩阵V(n*k)”的乘积来近似了。矩阵U、矩阵V如下图所示:

  • 11
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
基于协同过滤算法的在线书推荐系统是利用用户对书的评分行为以及书之间的相似性来为用户推荐可能感兴趣的书。在这个系统中,ALS矩阵分解算法是一种基于模型的协同过滤算法ALS矩阵分解算法是一种常用的协同过滤算法,其主要思想是将用户-书评分矩阵分解为两个低维度的矩阵,通过学习用户和书的隐含特征来预测用户对未评价书的评分,并根据预测评分来进行推荐。 具体而言,ALS矩阵分解算法分为两个步骤:交替最小二乘法和优化用户/书隐向量。在交替最小二乘法中,通过固定隐向量中一个变量,更新另一个变量,直到收敛。在优化用户/书隐向量过程中,通过最小化预测评分和实际评分之间的差距来优化隐向量。 在在线书推荐系统中,首先需要根据用户的历史评分数据构建用户-书评分矩阵。然后,通过ALS矩阵分解算法来训练模型,得到用户和书的隐向量。接下来,对于一个给定的用户,可以通过计算用户的隐向量与书的隐向量之间的相似性来获取与用户兴趣最相似的书。最后,根据相似性进行推荐,将推荐的书推送给用户。 基于协同过滤算法的在线书推荐系统不仅考虑用户的历史行为,还能通过挖掘书之间的相似性来为用户推荐可能感兴趣的书。通过使用ALS矩阵分解算法,系统可以根据用户行为数据进行模型训练和隐向量推断,从而提高书推荐的准确性和个性化程度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值