基于矩阵分解推荐算法之交替最小二乘法(ALS)--附实现代码

本文介绍了基于矩阵分解的推荐系统,特别是交替最小二乘法(ALS)的原理和工程应用。针对协同过滤算法,ALS通过分解用户-物品评分矩阵来预测未知评分,解决数据稀疏性问题。文章提供了ALS的简要推导,并给出了使用Python实现的协同过滤推荐代码。
摘要由CSDN通过智能技术生成

本文假定读者已经对以下内容有基本了解:
     1) 协同过滤算法
     2)基于模型的协同过滤算法;主要是基于矩阵分解的方法。知道如何将推荐和矩阵分解联系起来。
     3)对矩阵分解有基本的认识

本文的目的:
     本人的博客一直强调应用,对于任何的算法,会侧重对它的工程应用的介绍。相关的原理,推到演练不会涉及太深。所以本文也不会涉及太多这些方面的内容。最主要的目的是希望读者通过本文能够大概知道ALS是个什么东西,大致的流程是怎样的,在推荐中能做什么以及最终的工程实现方式。具体内容如下:
     1.基于矩阵分解的推荐简介
     2、ALS简介
     3、ALS推导
     4、基于ALS的协同过滤推荐实现(python代码)
     5、参考文献

1.基于矩阵分解的推荐简介

一个基于已有的用户对物品的评分来给用户推荐未评分过的物品的推荐问题,可以转换为一个用户-物品评分矩阵,然后基于矩阵中已知的元素预测为空的项。对应推荐中的方法就是协同过滤算法。我们知道,协同过滤算法分为两大类,一类是基于内存(memory-based)的算法(包括基于用户的和基于物品的协同过滤);另一类是基于模型的协同过滤。矩阵分解就是一种基于模型的算法。
假设有n个用户,m个物品,得到一个n×m的评分矩阵。在实际的工程中,这样的矩阵通常都会比较大,用户评分相对整个矩阵维度大小(n×m)会非常小,也就是矩阵是非常稀疏的。稀疏性会更加严重的影响基于内存的协同过滤算法。因为这种方法会基于用户间评价物品的交集,数据稀疏的情况下,用户间的交集可能很少ÿ

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值