基于模型协同过滤推荐离线召回:ALS
召回与排序业务流程
als(alternative least square),即交替最小二乘法,是用于计算损失函数最小化的一种方法,当然更为熟知的还有随机梯度下降法。
再正式介绍als之前,需要先引入矩阵分解的思想。
假定已有user对item的评分矩阵R,希望通过矩阵分解来预测user对其它item的评分,可以通过构造两个矩阵P和Q,使得
然后通过不断迭代,来使不断逼近 R 的值。
在这里,P代表user的特征矩阵,Q代表item的特征矩阵,特征的每一维代表一个隐形因子,特征维度一般可通过根据经验设定,而隐形因子的具体值是由机器学到的。
以单用户 对商品 为例,则公式可变为 构造损失函数为:
交替二乘法的基本思想是:
- 随机初始化矩阵QQ,
- 将Q当做已知,对损失函数求导=0,得到P的值;
- 得到矩阵P后,再将P当作已知,重新去计算矩阵Q,
- 两个过程交替进行,直到误差达到可以接受的程度。
当学习到user矩阵 P和特征矩阵 Q 以后,则可以计算任意user对item的预测评分了,可从候选item集中,选择top N个评分最高的items作为召回集合。