在线学习算法FTRL-Proximal原理

1.背景

Follow The Regularized Leader Proximal,简称FTRL,由Google公司提出。由于FTRL收敛速度快、能产生稀疏解等优势,FTRL在计算广告领域的重要性日益凸显。

2.回顾SGD

可以参考文章利用SGD方法训练FM模型 地址

定义:

模型参数:
第t个样本:
自定义Loss Function
然后可以利用随机梯度下降(SGD)得到参数更新值:
进行迭代:
其中,是learning rate(学习速率,也就是步长)。
这种迭代方式够简单,但不够好,也不产生稀疏解。

3.Follow The Leader(FTR)

FTR是FTRL的前身,每次找到让之前所有损失函数之和最小的参数
算法流程

  1. 随机初始化(实验证明随机初始化比直接赋值效果更好)
  2. for t in 1,2,…,n
    (1)得到损失函数
    (2)更新

4.Follow The Regularized Leader(FTLR)

FTLR在FTR上加了一个正则项
Google的原文是这样描述的:"Like Stochastic Gradient Descent, but much sparser models."
(1)推导

其中

式中第一项是对损失函数的贡献的一个估计,第二项是控制w(也就是model)在每次迭代中变化不要太大,第三项代表L1正则(获得稀疏解),表示学习速率。

学习速率可以通过超参数自适应学习

(2)进一步化简

这个优化问题看起来比较难解,因为看起来要存储迭代过程产生过的所有model参数。实际上,经过巧妙的处理,只要为model参数x的每个系数存一个数就可以了。

最终可以化简为

令梯度为0,得到解析解

![](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTYwNDIzMjAxMDIyOTM5?x-oss-process=image/format,png)

其中,

对于上面的迭代式,如果 = 0,同时学习率η取一个常数,这个迭代过程就跟SGD是一致的

(3)算法流程
注:此流程中将自适应学习速率中超参设为0

5.实际工程Tip

(1)使用正负样本的数目来计算梯度的和(所有的model具有同样的N和P)

![](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTYwNDIzMjA0MDU4MTcy?x-oss-process=image/format,png)

(2)Subsampling Training Data
    1)在实际中,CTR远小于50%,所以正样本更加有价值。通过对训练数据集进行subsampling,可以大大减小训练数据集的大小
    2)正样本全部采(至少有一个广告被点击的query数据),负样本使用一个比例r采样(完全没有广告被点击的query数据)。但是直接在这种采样上进行训练,会导致比较大的biased prediction
    3)解决办法:训练的时候,对样本再乘一个权重。权重直接乘到loss上面,从而梯度也会乘以这个权重。
    
    先采样减少负样本数目,在训练的时候再用权重弥补负样本,从而控制P(Y=1)的count。
    
参考文献
(1) Ad Click Prediction: a View from the Trenches.H. Brendan McMahan, Gary Holt, D. Sculley et al
(2)美团技术团队《Online Learning算法理论与实践》地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值