广告点击率预估

参考 https://cn.linkedin.com/pulse/%E5%B9%BF%E5%91%8A%E7%82%B9%E5%87%BB%E7%8E%87%E9%A2%84%E4%BC%B0%E6%98%AF%E6%80%8E%E4%B9%88%E5%9B%9E%E4%BA%8B-chen-ouyang

点击率预测和推荐算法的不同?

广告中点击率预估需要给出精准的点击概率,A点击率0.3% , B点击率0.13%等,需要结合出价用于排序使用;推荐算法很多时候只需要得出一个最优的次序A>B>C即可;

搜索和非搜索广告点击率预测的区别

搜索中有强搜索信号-“查询词(Query)”,查询词和广告内容的匹配程度很大程度影响了点击概率; 点击率也高,PC搜索能到达百分之几的点击率。

非搜索广告(例如展示广告,信息流广告),点击率的计算很多来源于用户的兴趣和广告特征,上下文环境;移动信息流广告的屏幕比较大,用户关注度也比较集中,好位置也能到百分之几的点击率。对于很多文章底部的广告,点击率非常低,用户关注度也不高,常常是千分之几,甚至更低;

如何衡量点击率预测的准确性?

AUC是常常被用于衡量点击率预估的准确性的方法;

点击率预测的算法

  • 逻辑回归(Logic Regression):
    Logistic回归是点击率预估必须入门的一种方法,使用简单,理论容易理解,甚至有些问题可以进行Debug,了解问题原因。它的核心想法就是通过Sigmoid函数,将Y值转化成0-1;其基本公式如下:
    这里写图片描述
  • LR_SGD(随机梯度下降):
    LR的模型有了,在训练过程中,为了提高训练的速度,常用的是SGD的优化方法。 SGD解决了梯度下降的两个问题: 收敛速度慢和陷入局部最优。梯度下降是一种常规的优化方法,但是SGD的S表示一定的随机性;梯度下降是每次都朝着全局优化方向前进,而SGD却由于随机性,有一定的曲折后,可能达到全局最优,也可能深陷于局部最优,但SGD的运行性能确实出色。
    这里写图片描述
  • LR-FTRL
    谷歌点击率预估在在线学习(Online Learning)积累好多年的经验,所谓在线学习就是通过线上实时处理数据而进行模型训练,而不是传统模式,把所有数据都放到一起处理(Batch Learning),得到离线的最优解。
    LR-FTRL (Follow-the-regularized-Leader),Google在10年就提出了一些理论基础,在13年给出了Paper,并且带有FTRL的实现伪代码,在此之后,FTRL才大规模应用在工业界。
    这里写图片描述
    -FM(Factorization Machines):
    Steffen Rendle于2010年提出Factorization Machines(FM),并发布开源工具libFM。凭借这单个模型,他在KDD Cup 2012上,取得Track1的第2名和Track2的第3名。在Kaggle的主流的点击率比赛中和实际广告系统的经验,factorization machine的效果完胜LR。FM的内核和LR也非常类似,但是多增加了一部分引入特征之间的交互因素,所以FM是非线性函数内核,它非常类似我们在特征工程中采用的特征交叉,但是FM是通过训练找到那些有用的特征叉值。
    这里写图片描述
  • 深度学习DNN
    深度学习采用神经网络技术也在不断影响点击率技术的发展。特别是DNN的开发平台,更多的广告和用户数据,更大的计算资源(包括GPU),这都给深度学习解决点击率预估的问题,奠定了好的基础。
    Google、百度等搜索引擎公司以 Logistic Regression(LR)作为预估模型。而从 2012 年开始,百度开始意识到模型的结构对广告 CTR 预估的重要性:使用扁平结构的 LR 严重限制了模型学习与抽象特征的能力。为了突破这样的限制,百度尝试将 DNN 作用于搜索广告,而这其中最大的挑战在于当前的计算能力还无法接受 10^11 级别的原始广告特征作为输入。作为解决,在百度的 DNN 系统里,特征数从10^11 数量级被降到了10^3,从而能被 DNN 正常地学习。这套深度学习系统已于 2013 年 5 月开始上线服务于百度搜索广告系统,初期与LR并存,后期通过组合方法共同提升点击准确率。
    现在越来越多的深度学习的平台,例如谷歌的TensorFlow,使用起来也非常方便,大部分工程师1-2星期就可以上手实验,对于特征工程的要求没有LR高,DNN能够对特征进行自主的优取,但是对于大规模的计算,能够直接匹敌LR算法的,还需要一段长长的时间。
  • 集成学习(Ensemble Learning)
    集成学习通过训练多个分类器,然后把这些分类器组合起来使用,以达到更好效果。集成学习算法主要有Boosting和Bagging两种类型。

Boosting:通过迭代地训练一系列的分类器,每个分类器采用的样本的选择方式都和上一轮的学习结果有关。比如在一个年龄的预测器,第一个分类器的结果和真正答案间的距离(残差),这个残差的预测可以训练一个新的预测器进行预测。XGBoost是非常出色的Boosting工具,支持DT的快速实现。
这里写图片描述

Bagging:每个分类器的样本按这样的方式产生,每个分类器都随机从原样本中做有放回的采样,然后分别在这些采样后的样本上训练分类器,然后再把这些分类器组合起来。简单的多数投票一般就可以。这个类别有个非常著名的算法叫Random Forest,它的每个基分类器都是一棵决策树,最后用组合投票的方法获得最后的结果。

各大公司的一些点击率预估的算法:

微软 :微软在2010年曾经有一篇文章是关于使用《Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft’s Bing Search Engine 》,但这并不代表这是微软现在的技术,据说现在的技术也是Online-learning和一些组合技术的融合,另外也在尝试DNN的解决方案。

谷歌:谷歌是比较开放的公司,LR-FTRL对整个行业的online-learning都有整体的促进作用。《Ad Click Prediction: a View from the Trenches》,谷歌内部也在不断尝试引入深度学习方法解决点击率问题,也包括展示广告的点击率预估。

Facebook:
Facebook广告大部分情况下是没有关键词的,因此Facebook的点击率预估,其实是非常更难的问题。Facebook有一篇文章,《Practical Lessons from Predicting Clicks on Ads at Facebook》,其中介绍Facebook结合GBDT训练出一些feature,然后再传入LR进行分类;

百度:基本全面使用DNN的训练和之前的一些LR;

小米:小米使用过多种方法,包括LR-SGD, LR-FTRL, FM等,同时也在通过组合的方式提升综合效果,另外也在积极探索DNN的解决方案。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值