【每周一文】Ad Click Prediction: a View from the Trenches(2013)

本文详细介绍了Google的FTRL算法在点击率预估问题(CTR)中的应用,探讨了批量算法与在线优化算法的区别,特别是在处理模型稀疏性和鲁棒性方面的策略。FTRL算法因其工程优化而在工业界得到了广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

该文是GoogleFTRL在点击率模型上的应用,从技术实现的角度介绍了在线学习算法FTRL的工程实现,并且给出一些内存优化、特征选择等工程细节。从此FTRL算法才大规模推广使用。
该笔记主要介绍一下几类在线学习算法的思路以及FTRL实现细节以及工程上技巧。

问题

点击率预估问题(CTR)是计算广告中非常重要的模块,预估一个用户对广告的点击概率,从而提升广告效果。
LR模型时CTR问题中最经典的模型,而LR模型训练也是无约束最优化问题中经典案例。因此问题最终归约为如何有效优化LR模型;同时还需要考虑模型稀疏性,模型稀疏性可能会和训练数据不足、模型复杂度过高相关,也是控制过拟合的有效手段。
LR模型需要解决问题是

pt=σ(wt,xt)σ(a)=1/(1+exp(a))logl(wt)=ytlogpt(1yt)log(1pt)

求解方案

批量算法

求解该类问题最经典的算法是GD(梯度下降法也称最速下降法),即沿着梯度方法逐渐优化模型参数。
梯度下降法能够保证精度,要想预防过拟合问题一般会加上正则项,L1或者L2正则。
L1相对于L2正则能够产生更稀疏的参数(为什么?

在线优化算法

相比于批量GD算法,OGD能够利用实时产生的正负样本,一定程度上能够优化模型效果。
在线优化算法需要特殊关注模型鲁棒性和稀疏性,由于样本是一个一个到来,默写参数可能因为训练样本不足导致过拟合等。因此OGD会着重处理模型稀疏性。

L1正则法

对于L1正则,模型权重更新方式为

Wt+1=WtηtGtηtλsgn(wt)

模型稀疏控制参数 λ 会将接近0的参数趋近于0.

简单截断法

相对于L1正则属于比较暴力的解决方案,直接将不满足阈值的系数设置为0.
以k为窗口,如果t/k不为整数时采用标准的SGD进行优化,否则采用如下方法

Wt+1=T0(WtηtGt,θ)T0(vi,θ)={ 0,vi,if |vi|θ others

通过参数 θ 控制模型稀疏性。

梯度截断法(TG)

简单截断法比较暴力,不够优雅,因此提出改进思路。

Wt+1=T1(WtηtGt,ηtλt,θ)T1(vi,α,θ)=max(0,viα),min(0,vi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值