Explicit ALS公式推导

来源:互联网 发布:淘宝 代理商 今日说法 编辑:程序博客网 时间:2024/03/29 17:48

约定

n表示隐式因子个数,xu,yi表示隐式向量

xu=xu1xu2xun

X=xT1xT2xTuXT=[x1x2xu]

Scalar-by-vector

这里写图片描述

损失函数

L=(u,i)K(ruixTuyi)2+λ(||xu||2+||yi||2)

xuL=0,化简过程如下,其中Ku表示用户u接触的物品集:
iKu(xTuyiyTiruiyTi)+λxTu=0

两边转置
iKu(yiyTixuruiyi)+λxu=0

iKu(yiyTi+λ)xu=iKuruiyi

其中:
iKuyiyTi=YTY,iKuruiyi=YTru

于是
xu=(YY+λI)1Yru

注意

从公式推导可以看出,每次迭代只需要关注该用户接触过的物品集或者该物品发生行为的用户集,在实现的时候需要注意。

参考

  • http://danielnee.com/2016/09/collaborative-filtering-using-alternating-least-squares/
  • https://en.wikipedia.org/wiki/Matrix_calculus#Scalar-by-vector
原创粉丝点击