ALS(Alternating Least Squares) 交替最小二乘法概述

ALS(Alternating Least Squares)算法是基于矩阵分解的协同过滤算法中的一种,在sOven 的oryx框架中,推荐算法便是采用的这种算法。

首先说矩阵分解,这里的矩阵分解可以理解为,将一个m×n的矩阵S分解为一个m×k的矩阵X和n× k的矩阵Y的转置的乘积的近似值,即,

将这个公式放到推荐系统中,则 表示用户对产品的偏好评分矩阵, 代表用户对隐含特征的偏好矩阵, 表示产品所包含的隐含特征矩阵。


那么问题来了,怎么求矩阵X和Y呢?为了使矩阵X和Y转置的乘积尽可能接近S,需要最小化平方误差损失函数:

最小化平凡误差损失函数,就要分别对xi和yj求偏导,并令其等于零,求得xi表达式如下:

(1)

yj表达式形式类似。

其迭代步骤是:首先随机初始化Y,利用公式(1)更新得到到X,然后利用yi的表达式更新Y,直到RMSE(均方根误差)变化很小或者到达最大迭代次数为止。



你可能感兴趣的:(关于数据挖掘和数据推荐)