als是交替最小二乘法,是一种优化算法,在机器学习中,als特指使用交替最小二乘法的一个协同过滤推荐算法。
在基于矩阵分解的推荐系统中,由于用户-物品评分矩阵是一个稀疏矩阵,所以将这个矩阵分解为两个矩阵,一个是用户对物品的偏好矩阵,一个是物品包含的特征的矩阵,在矩阵分解过程中,矩阵的缺失值得到了填充,那么就可以填充后的评分矩阵给用户推荐商品。
设这个评分矩阵为
,用户偏好矩阵为
,物品隐含特征矩阵为
,那么
。als的目的就是要找到用户偏好矩阵为
,和物品隐含特征矩阵为
。为了让
尽可能的接近
,也就是使损失函数
最小化,为了解决过拟合的问题,加入了正则化的系数,即
,由于有两个变量x,y,所以先固定y,将损失函数对
求偏导,再固定x,对
求偏导,依次迭代,将上一步得到的
,
作为下一步的输入,直到均方根误差RMSE很小。
以上就是als的算法原理。als算法大大减少了存储的空间,而且Spark可以利用这种稀疏性用简单的线性代数计算求解。这些都使得als算法在大规模数据上计算是非常快的,这也解释了为什么Spark的推荐算法只有als。
点击查看更多内容
5人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦