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

AdPredictor引发的一系列故事 adpredictor、true-skill推导、lda推导、变分em、期望传播、高斯卷积、高斯乘除、指数族分布、kl距离、置信传播、sum-product算法 阅读详情

概述

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

问题

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

样本为正例的概率表示为pt=σ(wt,xt)σ(a)=1/(1+exp(−a))对应的log损失函数为l(wt)=−ytlogpt−(1−yt)log(1−pt)

求解方案

批量算法

求解该类问题最经典的算法是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+α),vi,if vi∈[0,θ] if vi∈[−θ,0]others
参数 λ 和θ 控制模型稀疏,值越大越稀疏。
TG和简单截断法的区别在于
这里写图片描述
注:可以将T1算法按照每一维度进行展开,则L1和简单截断法都是该策略的特殊case。

FOBOS算法

该算法又称为前后项算法,其权重的更新方式分为两个部分

W(t+1/2)=Wt−ηtGtWt+1=argmin12||W−Wt+1/2||2+ηt+1/2Ψ(W)
权重更新分为两个部分,第一步先进行一步标准的梯度下降;然后对结果进行微调,即满足最速下降又保证了一定的稀疏性。
其中 Ψ(W) 是正则项可以对权重进行约束,常用的选择为L1,则对应的方法为L1-FOBOS

RDA算法

RDA(正则对偶平均)是微软的研究成果,其权重更新策略为

Wt+1=argmin1t∑r=1t<Gt,W>+Ψ(W)+βtth(W)
权重更新包括三个部分第一部分线性加权,即对历史梯度进行加权平均;第二部分正则项部分对特征进行稀疏化;第三部分严格递增序列相当于额外的正则项。
实验证明该方法能够产生较好的稀疏和精度。

FTRL

FTRL是Google提出的在线算法,由于其在工程实现上进行了大量优化,在工业界应用非常广泛。

权重更新策略

FTRL更新策略为

wt+1=argmin(g1:tw+12∑s=1tσs||w−ws||2+λ1||w||+12λ2||w||2)

其中 g1:t=∑ts=1gt ,相当于新产生的权重验证所有样本的梯度并且和历史权重不偏离太远。最后通过L1正则进行稀疏性约束。这样既保证了权重更新的精度有保证了稀疏性。
另外参数 σs 是一个和学习率相关参数 ∑ts=1σs=1ηt ; 而ηt=1t√,非增序列

公式推导

上面的公式看起来比较复杂,将其展开可以得到

F(w)=g1:tw+12∑s=1tσs||w−ws||2+λ1||w||+12λ2||w||2=g1:tw+12∑s=1tσs(wTw−2wTws+wTsws)+λ1||w||+12λ2||w||2=(g1:t−∑s=1tσsws)w+12(∑s=1tσs+λ2)wTw+λ1||w||+const=zTtw+12(1ηt+λ2)wTw+λ1||w||+const

其中 zt−1=g1:t−1−∑t−1s=1σsws,根据定义可以得到zt−1=zt−1+gt−(1ηt−1ηt−1)wt
对上式进行求导可以得到
zt+(1ηt+λ2)w+λ1∂|W|=0

从上式中可以容易得到w和z必须是异号,否则等式不能成立。
因此根据L1正则的次导数和梯度公式,讨论如下。
∂|W|=⎧⎩⎨⎪⎪0,1,−1,if −1<w<1 if w>1 if w<−1

  1. 当 |zti|<λ1 时
    w_i > 0,则有 w=−zi−λ11ηt+λ2<0 不成立
    w_i < 0,则有 w=−zi+λ11ηt+λ2>0 不成立
    w_i=0
  2. 当 zt>λ1 时
    由于两者必须异号,此时有w_i < 0
    w=−zi+λ11ηt+λ2
  3. 当 zt<−λ1 时同理 w=−zi−λ11ηt+λ2
  4. 因此有
    wi=⎧⎩⎨⎪⎪0,−(zi−sgn(zi)λ1)1ηt+λ2,if |zi|≤λ1 if others 

工程优化

  1. 各个维度采用不同的学习率 ηti=αβ+∑√ts=1g2si
  2. 稀疏特征处理,Possion Inclusion(通过一定概率扔掉特征)、BloomFilter Iclusion(通过碰撞优化特征)
  3. 浮点数重新编码
  4. 训练多个模型,采用不同参数。但是采用相同特征进行存储,特征更新采用加权平均方式进行更新。比较类似于异步梯度下降法
  5. 学习率更新优化 ∑g21:t=PNP+N 通过正负样本个数进行优化
  6. 对于CTR模型,负样本数量特别多,考虑采用负样本采样,假设采样概率为r,此时相当于每个样本都有了权重w_t(正样本权重为1,负样本权重为1/r),同时相当于梯度也会乘上该系数,不会改变最终的损失。 El(wt)=stwtl(wt)+(1−st)0=l(wt),其中st=1/wt为该样本被选中的概率

伪代码

根据上面的推导和优化,最终代码如下
这里写图片描述
经过上面推导,整体还是比较好理解。

总结

FTRL提供了一套完整的在线学习算法和工程框架,根据伪代码可以非常容易实现并且应用。该模型常和其他方法结合使用,例如FTRL+LBFGS等

论文阅读:《Ad Click Prediction: a View from the Trenches》 Ad Click Prediction: a View from the Trenches 阅读详情

相关推荐

颜色分类leetcode-AD_Prediction:使用ResNet、AlexNet预测阿尔茨海默病

颜色分类leetcode AD-预测 使用脑 MRI 图像预测阿尔茨海默病的卷积神经网络 抽象的 阿尔茨海默病 (AD) 的特点是严重的记忆丧失和认知障碍。 它与显着的大脑结构变化有关,这可以通过磁共振成像 (MRI) 扫描来测量。 可观察到的临床前结构变化为使用图像分类工具(如卷积神经网络 (CNN))进行 AD 早期检测提供了机会。 然而,目前大多数 AD 相关研究都受到样本量的限制。 找到一种在有限数据上训练图像分类器的有效方法至关重要。 在我们的项目中,我们探索了基于 CNN 的不同转移学习方法,用于 AD 预测脑结构 MRI 图像。 我们发现,与从头开始训练的深度 CNN 相比,具有 2D 表示方法的预训练 2D AlexNet 和具有预训练 3D 自动编码器的简单神经网络都提高了预测性能。 预训练的 2D AlexNet 的表现甚至优于带有自动编码器的 3D CNN( 77% )( 86 % )。 方法 1. 数据 在这个项目中,我们使用了来自阿尔茨海默病神经影像学倡议 (ADNI)研究的公共大脑 MRI 数据。 ADNI 是一项正在进行的多中心队列研究,从 2004 年开

计算广告(一)【Ad Click Prediction: a View from the Trenches】工程实践视角下的广告点击率预估

其实这篇文章也不是最原始的论文,最原始的论文为[1],这篇论文从理论上介绍了FTRL。而《Ad Click Prediction: a View from the Trenches》这篇论文则注重在把理论运用到实践中,因此这篇论文的作者数量高达15+个。这篇论文的motivation为:**在线服务的内存是有限的,如何减少模型的体积,即如何能使得模型变得更加稀疏,减少特征数量。

天泽28的专栏 3608

Rockchip RK3568实战:手把手教你调试I2S音频驱动(附ALSA设备树配置详解)

本文提供Rockchip RK3568平台I2S音频驱动的实战调试指南。详细解析了从硬件连接到软件配置的全过程,重点涵盖ALSA驱动框架下的设备树配置、时钟计算、DMA参数设置以及常见问题(如无声、爆音)的排查与解决方法,帮助开发者快速定位并解决音频驱动难题。

weixin_28358083的博客 495

论文笔记:Ad Click Prediction: a View from the Trenches

参考列表: https://blog.youkuaiyun.com/fangqingan_java/article/details/51020653 https://www.cnblogs.com/yaoyaohust/p/10733050.html https://blog.youkuaiyun.com/u011239443/article/details/80528717 工程实践视角下的广告点击率预估 摘...

weixin_39655021的博客 885

CAPL 中的变量类型详解与应用

CAPL 中的变量类型详解与应用

qq_42268594的博客 1447

ADC INL&DNL测试方法和实例

本文介绍了一种可操作的ADC INL和DNL的测试方法--直方图法(也称码密度法)。并实际使用该方法测试了两款芯片的ADC INL和DNL

APTCHIP的博客 1万+

#Paper Reading# Ad Click Prediction: a View from the Trenches

论文题目: Ad Click Prediction: a View from the Trenches 论文地址: https://dl.acm.org/citation.cfm?id=2488200 论文发表于: KDD 2013(CCF A类会议) 论文大体内容: 本文主要介绍了FTRL模型的工程实现,并且作者尝试的多个trick。这也是LR模型处理大规模数据下,所发展出来的优化模型FTRL...

John159151的专栏 523

RK3588 MIPI屏幕调试避坑指南:双通道8Lane下DSC压缩屏的花屏、分层问题排查实录

本文详细解析了RK3588平台在双通道8Lane MIPI接口下调试DSC压缩屏时遇到的花屏、分层问题。通过硬件信号完整性检查、软件配置验证及帧数据分析,提供了一套系统化的排查方法,并深入探讨了初始化序列优化和双通道同步机制,帮助工程师高效解决高分辨率屏幕显示异常问题。

weixin_27015733的博客 280

【论文】Ad Click Prediction: a View from the Trenches

作者主要展示了CTR预估系统中最近的研究和实验。包括了improvements in the context of traditional supervised learning,这是基于FTRL-Proximal online learning algorithm (which has excellent sparsity and convergence properties)和per-coor...

twostarxx的博客 647

空频、空时、空域、时域、频域抗干扰介绍

1、时域抗干扰:对时间域序列进行滤波,滤波系数h(n),采样序列不断进行输入与滤波系数卷积计算,得到响应输出;例如常用的FIR和IIR滤波器。 对于多窄带干扰噪声源和连续波干扰源有较好的处理效果,还可以解决多径问题; 可以通过在接收机前端处理中增加一个嵌入式块实现; 2、频域抗干扰:接收机不容易受到相对于接收机频带以外的强功率干扰; 通常为带通滤波和阻带滤波, 适用于窄带干扰噪声源,连续波干扰源以及较强的频带外干扰噪声源, 3、空域抗干扰:通过多个自适应天线按照特定组合成天线阵列,波束成形,针对

qq_43517907的博客 7301

luks-磁盘加密工具

linux磁盘加密配置工具及步骤详解

zdd56789的博客 120

Ad Click Prediction: a View from the Trenches 阅读

目录 摘要 摘要 预测广告点击率(CTR)是一个大规模的学习问题,是数十亿美元在线广告业的核心。我们从部署的CTR预测的实验中提出了一系列的案例研究和课题。包括用FTRL-Proximal在线学习算法(其具有优良的稀疏性和收敛性)和使用不同的学习率(the use of per-coordinate learning rates)提升传统的监督学习算法。 我们还探讨了现实世界中出现的一些传统机器学习研究领域之外的挑战。这些方法包括节省内存的实用技巧、评估和可视化性能的方法、为预测概率提供..

xuanshuang的博客 552

实战!用Python爬取海关总署进出口贸易数据 —— 从反爬突破到数据可视化全流程指南

{"period": "2026-05", "country": "美国", "import_val": 123.4, "export_val": 567.8, ...}研究员可构建领先指标模型;fig = px.bar(top, x="country", y="total_usd", title="贸易总额TOP10")html.H1("海关进出口数据看板", style={"textAlign": "center"}),"""发起带签名的POST请求(实际为GET + query param)"""

2201_76125261的博客 588

Ad Click Prediction: a View from the Trenches (2013)论文阅读

文章链接: https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/41159.pdf 补充:https://courses.cs.washington.edu/courses/cse599s/14sp/scribes/lecture20/lecture20_draft.pdf ...

weixin_30466953的博客 276

GPU架构(1.1)--介绍 GPU的 VPU(Vision Processing Unit)架构

基于自研的 VPU(Vision Processing Unit)架构,专为高性能图形处理和深度学习设计。VPU 架构通过优化计算单元、内存层次结构、同步机制和指令流水线,提供了卓越的性能和能效。VPU 架构通过优化计算单元、内存层次结构、同步机制和指令流水线,提供了卓越的性能和能效。这种架构不仅适用于高性能图形处理,还广泛应用于深度学习、科学计算和边缘计算等领域。通过了解 VPU 架构的详细设计和工作原理,读者可以更好地利用这些先进的 GPU 技术,开发出高效、可靠的计算系统。

MHD0815的博客 1298

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

learning from the Trenches 12-16 用看板管理大型项目

12. Capturing and Using Process Metrics Two process metrics:• Velocity (features per week) (每周功能数)• Cycle time (weeks per feature) 周期时间(每个功能的开发时间) 1. Velocity 1.a reality checktool t...

amy_1217的博客 301

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

[转]点击率预测-两篇paper from google

1. Ad Click Prediction: a View from the Trenches 2. Google在KDD最新发表的点击率预估的paper中提到了FTRL算法,算法细节paper请戳这里。经过我们的初步试验,该算法在很多场景下优于传统的Logistic Regression算法,比如Ad Predictor和Lib linear

创造工具、使用工具!哦,别忘了其实那只是工具! 2449

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

推荐系统比较好的论

链接:http://www.zhihu.com/question/25566638/answer/37455091 来源:知乎 推荐几篇对工业界比较有影响的论文吧: 1. The Wisdom of The Few 豆瓣阿稳在介绍豆瓣猜的时候极力推荐过这篇论文,豆瓣猜也充分应用了这篇论文中提出的算法; 2. Restricted Boltzmann Machines for C

oucpowerman的博客 1111

精准广告投放(资料整理)

转自:http://luowei828.blog.163.com/blog/static/310312042013102995410307 【写在前面】本页面涉及精准广告投放的基础知识,比如:定向技术,基础模型等。会不断补充。 ------------------------------------------------------------------------------------

qinglu000的专栏 4878

复习-优化算法

在线学习算法:FTRL 下面程序来自https://www.kaggle.com/jiweiliu/ftrl-starter-code/code alpha = .005 # learning rate beta = 1. # smoothing parameter for adaptive learning rate L1 = 0.2 # L1 regu...

love_data_scientist的博客 313

各大公司广泛使用的在线学习算法FTRL详解

转载请注明本文链接:http://www.cnblogs.com/EE-NovRain/p/3810737.html   现在做在线学习和CTR常常会用到逻辑回归(Logistic Regression),而传统的批量(batch)算法无法有效地处理超大规模的数据集和在线数据流,google先后三年时间(2010年-2013年)从理论研究到实际工程化实现的FTRL(Follow-the-r...

weixin_30633507的博客 790

FTRL

FTRL参考论文:Ad Click Prediction: a View from the TrenchesFTRL是一种在线学习的训练方法,是一种增量的学习方法,即可以保证训练的精度,又可以保证解的稀疏,非常适合大规模的LR在线训练。FTRL的优化目标为: wt+1=argminw(g1:tw+12∑s=1tδs∥w−ws∥22+λ1∥w∥1)\begin{equation} w_{t+1}

Skywalker 1090

基于FTRL的在线CTR预测算法

本文主要讲解基于FTRL的在线CTR预测算法的主要思想以及Java实现

Yummy 1万+

推荐系统相关的Paper

几篇对工业界比较有影响的论文 推荐两篇必看最好能自己实现论文 当前推荐系统所面临的挑战相关研究 AAAI 2018 录用推荐系统相关的部分Papers Reference 几篇对工业界比较有影响的论文 The Wisdom of The Few 豆瓣阿稳在介绍豆瓣猜的时候极力推荐过这篇论文,豆瓣猜也充分应用了这篇论文中提出的算法; Restricted Boltzmann M

静下心来好好学习 3571

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?

作者|携程基础业务研发部 编辑|EmilyAI 前线导读:携程作为国内领先的 OTA,每天向上千万用户提供全方位的旅行服务,如何为如此众多的用户发现适合自己的旅游产品与服务,挖掘潜在的兴趣,缓解信息过载,个性化推荐系统与算法在其中发挥着不可或缺的作用。而 OTA 的个性化推荐一直也是个难点,没有太多成功经验可以借鉴,本文分享了携程在个性化推荐实践中的一些尝试与摸索。声明 | 本文为 InfoQ 特

产业智能官 8290
上一篇: 【每周一文】Learning Classifiers from Only Positive and Unlabeled Data(2008)
下一篇: 【每周一文】Field-aware Factorization Machine(2014)
下一步
博客等级 码龄18年 664粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下一步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值