基于模型协同过滤推荐离线召回:ALS

召回与排序业务流程
基于模型协同过滤推荐离线召回:ALS

als(alternative least square),即交替最小二乘法,是用于计算损失函数最小化的一种方法,当然更为熟知的还有随机梯度下降法。

再正式介绍als之前,需要先引入矩阵分解的思想。
基于模型协同过滤推荐离线召回:ALS

假定已有user对item的评分矩阵R,希望通过矩阵分解来预测user对其它item的评分,可以通过构造两个矩阵P和Q,使得
R~=PQT\tilde{R}=P Q^{T}
然后通过不断迭代,来使R~\tilde{R}不断逼近 R 的值。
在这里,P代表user的特征矩阵,Q代表item的特征矩阵,特征的每一维代表一个隐形因子,特征维度一般可通过根据经验设定,而隐形因子的具体值是由机器学到的。
基于模型协同过滤推荐离线召回:ALS

以单用户 uu 对商品 ii 为例,则公式可变为 r~ui=puqi\tilde{r}_{u i}=p_{u} * q_{i}^{\top} 构造损失函数为:
J=minq,pu,iK(ruiqipu)2+λ(qi2+pu2) J=\min _{q^{*}, p^{*}} \sum_{u, i \in K}\left(r_{u i}-q_{i}^{\top} p_{u}\right)^{2}+\lambda\left(\left\|q_{i}\right\|^{2}+\left\|p_{u}\right\|^{2}\right)
交替二乘法的基本思想是:

  1. 随机初始化矩阵QQ,
  2. 将Q当做已知,对损失函数求导=0,得到P的值;
  3. 得到矩阵P后,再将P当作已知,重新去计算矩阵Q,
  4. 两个过程交替进行,直到误差达到可以接受的程度。

当学习到user矩阵 P和特征矩阵 Q 以后,则可以计算任意user对item的预测评分了,可从候选item集中,选择top N个评分最高的items作为召回集合。