2-2 LFM算法的理论基础与公式推导

本小节主要从数学上重点介绍LFM,主要从建模方法、迭代、收敛等方面认识LFM算法。

1.LFM理论知识

(1)LFM建模公式:

p(u,i)表示user-item对,如果user点击了item,那么p(u,i)=1,否则p(u,i)=0。模型的最终输出为user向量和item向量,即p_{u}q_{i}。其中F表示维度,也就是上一小节阐述的user对item喜欢与否的影响因素的个数。

那么具体如何得到p_{u}q_{i}呢?

我们用机器学习中监督学习的思想解决。在F设定好之后,p_{u}q_{i}可以用随机数进行初始化,初始化之后,如何进行迭代呢?这里采用的方法是梯度下降。

(2)损失函数

解释公式:p(u,i)是训练样本的label,也就是说如果user点击了item,那么p(u,i)=1,否则p(u,i)=0。后面项是模型预估的user对item喜好程度,也就是前面所说的模型产出的参数p_{u}q_{i}转置的乘积。这里的D是所有的训练样本的集合。

可以看到如果模型预估的数值与label越接近的话,损失函数数值越小,反之则越大。这里为了防止过拟合,增加了正则化项,并进行展开,得到如下:

这里\partial是正则化系数,是用来平衡平方损失与正则化项,这里采用的是L2正则化,正则化目的是为了让模型更加简单化,防止由于p_{u}q_{i}过度拟合训练样本中的数据使模型的参数过度复杂,造成泛化能力减弱。

(3)LFM算法迭代

损失函数对p_{uf}q_{if}的偏导:

得到偏导之后,采用梯度下降的方法,

其中,\beta是learning rate,即学习率。

同理:

(4)影响因素

哪些参数的设定会影响最终的模型效果?

1.负样本的选取

比起正样本,负样本的数量是非常多的。因为,展现给用户的item比用户点击的item要多的多。我们要有一定的负采样规则,我们选取那些充分展现而用户没有点击的item作为负样本。

那么什么叫做充分展现?

充分展现是指,这个item在所有的用户中,已经有了比较高的展现次数。

然后,我们就可以用user没有点击过的物品中,按照该item在所有用户中的展现次数做排序,取一定数目的item作为负样本。这个一定数目只要保证对该user来说,它的正负样本均衡就可以。比如,一个用户点击了100个item,那么同样也取100个负样本来保证正负样本的均衡。

2.隐特征F、正则参数\partial、学习率\beta

以上是对模型比较重要的三个参数。其中\partial\beta通常设置为0.01-0.05,隐特征个数F通常设置为10-32之间。

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值