1.指标

广告点击率预估是程序化广告交易框架的非常重要的组件,点击率预估主要有两个层次的指标: 
1.排序指标。排序指标是最基本的指标,它决定了我们有没有能力把最合适的广告找出来去呈现给最合适的用户。这个是变现的基础,从技术上,我们用AUC来度量。

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

OE=∑i=Ni=1I(user_click_ad_i)∑i=Ni=1(pctr)OE=∑i=1i=NI(user_click_ad_i)∑i=1i=N(pctr)

2.框架

工业界用得比较多的是基于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的逻辑。 
 
单纯点击率预估算法的框图如下: 

3.数据探索(data exploration)

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

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

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

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

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

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

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

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

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

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

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

4.特征组合

两派方法:

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

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

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

5.LR

a. OWL-QN

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

b. Online learning(FTRL and Facebook enhancement)

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

6.预测CTR可信吗?

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

Google在提出FTRL算法的同时伴随提出了一个预测CTR可信度的方法,想法很简单:训练数据越多则可信度越高。下图公式中指训练集中第i维feature非零的训练向量的个数。normalization到[0, 1]的方法很多,需要根据总业务数据量以及先验CTR来最终确定。

7.修修补补

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

CTR点击率预估干货分享相关推荐

  1. 一文总结排序模型CTR点击率预估

    ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在RecSys 2019 ...

  2. 推荐算法炼丹笔记:排序模型CTR点击率预估系列

    微信公众号:炼丹笔记 ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在 ...

  3. 推荐算法炼丹笔记:CTR点击率预估系列入门手册

    ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在RecSys 2019 ...

  4. Ctr点击率预估理论基础及项目实战

    1.机器学习推荐算法模型回顾 召回(粗排) 利用业务规则结合机器学习推荐算法得到初始推荐结果,得到部分商品召回集 ALS\UserCF\ItemCF\FP-Growth\规则等方式召回 排序(精排) ...

  5. 京东最新点击率预估模型论文学习和分享

    最近看了京东算法团队最新发表的一篇点击率预估模型的paper Telepath: Understanding Users from a Human Vision Perspective in Larg ...

  6. 【干货】从点击率预估的视角看腾讯社交广告算法大赛

    [干货]从点击率预估的视角看腾讯社交广告算法大赛 大赛简介 腾讯社交广告算法大赛以广告领域常见的转化率预估问题作为出题思路,从用户历史一个月的行为数据中采样竞赛数据,数据规模达几十GB.比赛题目足够诚 ...

  7. 推荐系统-排序层:主流CTR模型综述【Click-Through-Rate,点击率预估,指精排层的排序】【CTR 模型的输入(即训练数据)是:大量成对的 (features, label)数据】

    一.CTR 模型建模 在讲 CTR 模型之前,我们首先要清楚 CTR 模型是什么,用来解决什么问题.所以我们先描述 CTR 问题,并对其进行数学建模. 一个典型的推荐系统架构如下图所示: 一般会划分为 ...

  8. 阿里最新论文解读:考虑时空域影响的点击率预估模型DSTN

    作者 | 石晓文 转载自小小挖掘机(ID: wAIsjwj) [导语]:在本文中,阿里的算法人员同时考虑空间域信息和时间域信息,来进行广告的点击率预估. 什么是时空域?我们可以分解为空间域(spati ...

  9. 业余草推荐阿里妈妈自研广告点击率预估核心算法MLR

    业余草推荐阿里妈妈自研广告点击率预估核心算法MLR. 小编觉得CTR(广告点击率)预估的能力对于广告系统的意义和重要性,类似于在证券市场上预测股价的能力,优秀的CTR预测,通向美好和财富...(以下转 ...

最新文章

  1. DCMTK:读取DICOM图像,并使用设置创建PGM位图
  2. beautiful sentences
  3. 计算机操作系统指导书,《计算机操作系统》实验指导书-2015
  4. Asp.net MVC 多语言问题的解决方案
  5. 【Python】蟒蛇绘制(三种方式+import用法)
  6. Sturts2中action各项配置的默认值
  7. Linq lambda表达式经验总结
  8. 测试类什么时候初始化
  9. Js 日期 多少分钟前,多少秒前
  10. OpenCV读取多幅图片,读取系列图片,读取文件夹中指定图像类型的系列图片
  11. oppo锁屏断网设置在哪里呀_oppo锁屏时钟怎么改格式?锁屏时钟位置在哪里设置调整...
  12. IDEA格式化HTML页面
  13. 卷积定理及常见傅里叶变换表
  14. 关于28379D的X-BAR
  15. linux+qq+输入法下载官网,续:Linux下安装输入法和QQ软件
  16. jxr怎么变成jpg_【推文】夫君是未来大魔王怎么办?作死女配掉线了与你千般好...
  17. CSS制作的32种图形效果 梯形 | 三角 | 椭圆 | 平行四边形 | 菱形 | 四分之一圆 | 旗帜
  18. 知网文献使用EndNote X9在word插入参考文献
  19. 【分享】光纤光缆PPT
  20. I - 后缀数组二·重复旋律2 HihoCoder - 1407

热门文章

  1. 2 自动递增_有石CAD自动下单,1天工作量1小时完成
  2. 一文搞定Linux shell脚本编程( 史上最全汇总 )
  3. excel查标准正态分布_终于搞清楚正态分布、指数分布到底是个啥了
  4. cesium模型不遮挡点线面_cesium点线面测试数据
  5. qgraphicsview 添加矩形框并拖动改变大小_如何用手机巧影软件为视频添加字幕
  6. int** 赋值_Python的赋值、浅拷贝、深拷贝之间的区别
  7. 微信支付宝服务器在哪里,支付宝支付与微信支付服务端回调notify_url数据的区别...
  8. python输出指定字符串_Python输出指定字符串的方法
  9. linux彻底卸载multipath,深度分析LINUX环境下如何配置multipath
  10. oracle group by ,having ,order by