程序化点击率预估(CTR)

指标

广告点击率预估是程序化广告交易框架的非常重要的组件,点击率预估主要有两个层次的指标:

1. 排序指标。排序指标是最基本的指标,它决定了我们有没有能力把最合适的广告找出来去呈现给最合适的用户。这个是变现的基础,从技术上,我们用AUC来度量。

2. 数值指标。数值指标是进一步的指标,是竞价环节进一步优化的基础,一般DSP比较看中这个指标。如果我们对CTR普遍低估,我们出价会相对保守,从而使得预算花不出去或是花得太慢;如果我们对CTR普遍高估,我们的出价会相对激进,从而导致CPC太高。从技术上,我们有Facebook的NE(Normalized Entropy)还可以用OE(Observation Over Expectation)。

框架

工业界用得比较多的是基于LR的点击率预估策略,我觉得这其中一个重要的原因是可解释性,当出现bad case时越简单的模型越好debug,越可解释,也就越可以有针对性地对这种bad case做改善。但虽然如此,我见到的做广告的算法工程师,很少有利用LR的这种好处做模型改善的,遗憾….. 最近DNN很热,百度宣布DNN做CTR预估相比LR产生了20%的benefit,我不知道比较的benchmark,但就机理上来讲如果说DNN比原本传统的人工feature engineering的LR高20%,我一点也不奇怪。但如果跟现在增加了FM和GBDT的自动高阶特征生成的LR相比,我觉得DNN未必有什么优势。毕竟看透了,DNN用线性组合+非线性函数(tanh/sigmoid etc.)来做高阶特征生成,GBDT + FM用树和FM来做高阶特征生成,最后一层都是非线性变换。从场景上来讲,可能在拟生物的应用上(如视、听觉)上DNN这种高阶特征生成更好,在广告这种情境下,我更倾向于GBDT + FM的方法。

整个CTR预估模块的框架,包含了exploit/explore的逻辑。

单纯点击率预估算法的框图如下;

Step-by-step

1. 数据探索(data exploration)

主要是基础特征(raw feature/fundamental feature)的粗筛和规整。

展示广告的场景可以表述为”在某场景下,通过某媒体向某用户展示某广告”,因此基础特征就在这四个范围内寻找:

场景 – 当时场景,如何时何地,使用何种设备,使用什么浏览器等

广告 – 包括广告主特征,广告自身的特征如campaign、创意、类型,是否重定向等

媒体 – 包括媒体(网页、app等)的特征、广告位的特征等

用户 – 包括用户画像,用户浏览历史等

单特征选择的方法有下面几种:

1. 简单统计方法,统计特征取值的覆盖面和平衡度,对dominant取值现象很显著的特征,要选择性地舍弃该特征或者是归并某些取值集到一个新的值,从而达到平衡的目的。

2. 特征选择指标,特征选择主要有两个目的,一是去除冗余的特征,也就是特征之间可能是互相冗余的;二是去无用,有些特征对CTR预估这个任务贡献度很小或没有,对于这类特征选择,要小小地做,宁不足而不过分,因为单特征对任务贡献度小,很有可能后面再组合特征生成时与其他特征组合生成很有效的组合特征,所以做得不能太过。

a) 去冗余。主要是特征间的相关性,如Pearson相关性,或者指数回归(从泰勒定理的角度它可以模拟高阶的多项式特征)。

b) 去无用。主要是信息增益比。

2. 特征组合

两派方法:

FM系列 - 对于categorical feature,一般把他们encode成one hot的形式,特征组合适合用FM。

Tree系列 - 对于numerical feature和ordinal feature, 特征组合可以使用决策树类的,一般用random forest或GBDT。其中GBDT的效果应该更好,因为boosting方法会不断增强对错判样本的区分能力。

对于广告点击率预估,同时拥有这三类特征。所以一个简单的方法就是级联地使用这两个方法,更好地进行特征组合。

3. LR

a. OWL-QN

这个是batch训练的方法,主要用于处理L1正则下的LR最优化。

b. Online learning(FTRL and Facebook enhancement)

在线学习,及时反馈点击信息,不断演化LR模型,从而为新广告更快收敛。

4. 预测CTR可信吗?

任何一个特征向量输入到这个CTR预测算法,算法都会像模像样地给你输出一个预测CTR。但这个CTR真的可信吗?我们知道机器学习是典型data driven的,当训练数据中某种情况的数据不足时,这种情况下的预测值很有可能被其他数据拉偏。所以,肯定会有预测值不可信的情况,那我们怎么判断当前的预测CTR的可信度呢?

Google在提出FTRL算法的同时伴随提出了一个预测CTR可信度的方法,想法很简单:训练数据越多则可信度越高。下图公式中

指训练集中第i维feature非零的训练向量的个数。normalization到[0, 1]的方法很多,需要根据总业务数据量以及先验CTR来最终确定。

5. 修修补补

后面的事情就是在前述的框架的基础上,根据bad case修修补补了。比如说,现在认为在不同的点击率区段,影响点击率的特征的权重是一致的,但实际发现是不一样的,就可以按照点击率的区间划分,做分区间模型(据说阿里用的MLR就是这个东东)。这些都不出上面的框架,是在分析数据之后做的细化,逃不脱“分段逼近”这个大圈。

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2015-11-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

干货 | 康奈尔博士后黄高:如何设计高效地卷积神经网络

AI 科技评论按:卷积神经网络则是深度学习最具代表性的模型,在计算机视觉和自然语言翻译等领域有着极其广泛的应用。随着精度以及复杂度的逐步提升,卷积网络的推理效率...

35511
来自专栏IT派

机器学习入门知识体系

IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 随着2016年Alpha Go在围棋击败李世石,2017年初卡内基梅隆大学人工智能系统Lib...

4366
来自专栏新智元

Yoshua Bengio最新演讲:Attention 让深度学习取得巨大成功(46ppt)

【新智元导读】机器翻译是深度学习技术最切近实际的应用之一,现在在互联网上有很广泛的使用。此外,不久前,许多科技大公司也相应地推出了为图片或视频自动生成字幕的应用...

3044
来自专栏ATYUN订阅号

伯克利人工智能研究:基于模型的强化学习与神经网络动力学

让机器人在现实世界中自主行动是很困难的。即使拥有昂贵的机器人和世界级的研究人员,机器人在复杂的、非结构化的环境中仍然难以自主导航和交互。 ? ? 图1:一个学习...

3385
来自专栏新智元

谷歌大脑 Bengio:全新 Active Memory 模型提升机器翻译水平(附 NIPS 论文下载)

【新智元导读】Samy Bengio,刚刚创业的 Youshua Bengio的弟弟,昨天在 Arxiv 上发布了他与同事、Google Brain 研究人员 ...

34410
来自专栏AI科技评论

澳门大学讲座教授陈俊龙:从深度强化学习到宽度强化学习 - 结构,算法,机遇及挑战

AI 科技评论按:2018 年 5 月 31 日-6 月 1 日,中国自动化学会在中国科学院自动化研究所成功举办第 5 期智能自动化学科前沿讲习班,主题为「深度...

956
来自专栏CSDN技术头条

揭秘深度强化学习

尽管监督式和非监督式学习的深度模型已经广泛被技术社区所采用,深度强化学习仍旧显得有些神秘。这篇文章将试图揭秘这项技术,并解释其背后的逻辑。受众读者主要是有机器学...

2008
来自专栏IT派

推荐|14种模型设计帮你改进你的卷积神经网络(CNN)!

如果你觉得好的话,不妨分享到朋友圈。 摘要: 这14 种原创设计模式可以帮助没有经验的研究者去尝试将深度学习与新应用结合,对于那些没有机器学习博士学位的人来说...

3416
来自专栏机器之心

学界 | 机器学习研究趋势分析:TensorFlow已超越Caffe成研究最常用框架

选自Medium 作者:Andrej Karpathy 机器之心编译 参与:李亚洲 开玩笑地说,现在提交论文的主题是不是应该围绕把全卷积编码器解码器BatchN...

3387
来自专栏深度学习

14种模型设计帮你改进你的卷积神经网络(CNN)

自2011年以来,深度卷积神经网络(CNN)在图像分类的工作中的表现就明显优于人类,它们已经成为在计算机视觉领域的一种标准,如图像分割,对象检测,场景标记,跟踪...

3459

扫描关注云+社区