为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Spark的协同过滤只有als一种算法

als是交替最小二乘法,是一种优化算法,在机器学习中,als特指使用交替最小二乘法的一个协同过滤推荐算法。
在基于矩阵分解的推荐系统中,由于用户-物品评分矩阵是一个稀疏矩阵,所以将这个矩阵分解为两个矩阵,一个是用户对物品的偏好矩阵,一个是物品包含的特征的矩阵,在矩阵分解过程中,矩阵的缺失值得到了填充,那么就可以填充后的评分矩阵给用户推荐商品。
设这个评分矩阵为

图片描述
,用户偏好矩阵为

图片描述
,物品隐含特征矩阵为

图片描述
,那么

图片描述
。als的目的就是要找到用户偏好矩阵为

图片描述
,和物品隐含特征矩阵为

图片描述
。为了让

图片描述
尽可能的接近

图片描述
,也就是使损失函数

图片描述
最小化,为了解决过拟合的问题,加入了正则化的系数,即

图片描述
,由于有两个变量x,y,所以先固定y,将损失函数对

图片描述
求偏导,再固定x,对

图片描述
求偏导,依次迭代,将上一步得到的
图片描述

图片描述
作为下一步的输入,直到均方根误差RMSE很小。
以上就是als的算法原理。als算法大大减少了存储的空间,而且Spark可以利用这种稀疏性用简单的线性代数计算求解。这些都使得als算法在大规模数据上计算是非常快的,这也解释了为什么Spark的推荐算法只有als。

点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消