AD

互联网广告综述之点击率特征工程

互联网广告综述之点击率特征工程

声明:

1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献

2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的。如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止。

3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。

4)阅读本文需要机器学习、统计学习理论、优化算法等等基础(如果没有也没关系了,没有就看看,当做跟同学们吹牛的本钱)。

5)本人手上有word版的和pdf版的,有必要的话可以上传到csdn供各位下载

一.互联网广告特征工程

博文《互联网广告综述之点击率系统》论述了互联网广告的点击率系统,可以看到,其中的logistic regression模型是比较简单而且实用的,其训练方法虽然有多种,但目标是一致的,训练结果对效果的影响是比较大,但是训练方法本身,对效果的影响却不是决定性的,因为训练的是每个特征的权重,权重细微的差别不会引起ctr的巨大变化。
在训练方法确定后,对ctr预估起到决定性作用的是选用的特征。

1.1特征选择与使用

做点击率预估需要两方面的数据,一方面是广告的数据,另一方面是用户的数据,现在所有的数据都有,那么工作就是利用这两方面的数据评估用户点击这个广告的可能性(也就是概率)。
用户的特征是比较多的,用户的年龄,性别,地域,职业,学校,手机平台等等。广告的特征也很丰富,如广告大小,广告文本,广告所属行业,广告图片。还有反馈特征,如每个广告的实时ctr,广告跟性别交叉的ctr。如何从这么多的特征中选择到能刻画一个人对一个广告的兴趣的特征,是数据挖掘工程师的一个大难题。
选中了特征,还需要注意特征的选择方式,例如,如果单独把年龄作为一个特征,最终能训练出来啥吗?因为年龄相加相减是没有意义的,所以只能把每个年龄做为一个特征,但是光这样可以了吗?怎么用特征,是广告算法工程师的一个大课题。

1.1.1 选择特征

什么样的特征适合用来预估ctr?这个问题是很多广告算法工程师的需要考虑的。
机器学习算法最多会大谈模型,对于特征的讨论很少涉及。真正的应用中,多数数据挖掘工程师的工作都是在想特征,验证特征。
想特征是一个脑力加体力的活,需要不少的领域的知识,更让人郁闷的是,工业界并没有一整套想特征的办法,工业界有的只是验证特征的办法。对于互联网广告业,就简单说说通用特征怎么来的吧。
首先说年龄这个特征,怎么知道它跟点击率有关系?现在直观的解释是,年轻人普遍喜欢运动类的广告,30岁左右的男人喜欢车,房子之类的广告,50岁以上的人喜欢保健品的广告。可以看到,选择年龄作为特征的理由是基于对各个年龄段的人喜欢的不同类型的东西的一个粗略的划分,是一个很主观的东西。
再说性别这个特征,直观的感觉是,男性普遍喜欢体育类的,车类的,旅游类广告,女性普遍喜欢化妆品,服装类的广告。这也可以看到,选择性别作为特征也是基于相似的理由,就是认为男性和女性大体会喜欢不同的东西。
对于地域这个特征,这下就学问多了,华南的人在比较喜欢动漫和游戏,华北的人喜欢酒品和烟?
在广告方面的特征,广告的图片大小,广告前景色背景色真的能影响人的点击吗?这其实都是一种猜测。图片里面是一个明星还是一个动物之类的因素也可以考虑。
总之,想特征的这个事情基本没多大谱,只能天南地北地想象,还要多了解各行各业的知识,以便想到更多的特征,哪怕某个特征跟人关系并不大,也得好好验证一番。这基本上跟男人为回家晚想借口一样,得有借口要想着怎么解释得好听点,没借口就要想借口。
想到了特征,就要验证和进行判断。
验证特征的办法多,有直接观察ctr,卡方检验,单特征AUC等。直接观察ctr是个很有效的方法,如根据投放记录,化妆品的广告在女性上面的点击率就比在男性上面的点击率高很多,说明性别这个特征在化妆品行业是有预测能力的;又如体育用品的广告在男性上面的点击率也比女性高,说明性别这个特征在体育行业也是有预测能力的,经过多个行业的验证,就认为性别这个特征可以用了。
年龄这个特征的评估类型,主要是观察一个广告在不同年龄段的点击率是否有区别,再观察不同广告的点击率在不同年龄段的分布是否不一样,如果都有区别,说明年龄这个特征就可以用了。
在实际的使用中发现,性别这个特征比较有效,手机平台这个特征也比较有效,地域和年龄这两个特征有一定效果,但没有前两个那么明显,跟他们的使用方式可能有关,还需要进一步挖掘。
同时,实际使用中也发现,广告反馈ctr这个特征也很有效,这个特征的意思就是当前的广告正在投放,已经投放了一部分了,这部分的点击率基本可以认为是这个广告的点击率了,也可以认为是这个广告的质量的一个体现,用来预估一个流量的ctr是很有效的。

1.1.2 特征的处理和使用

选择得到特征,怎么用也是一个问题。
先说需求,其实预估ctr要做的事情是下面的图的工作——计算一个用户/广告组合的ctr。
互联网广告综述之点击率特征工程

上面已经选好了特征,暂定有广告的反馈ctr,用户年龄,性别三个特征。
一、离散化
反馈ctr是一个浮点数,直接作为特征是可以的,假设1号特征就是反馈ctr。对应年龄来说就不是这样了,因为年龄不是浮点数,而且年龄的20岁跟30岁这两个数字20,30大小比较是没有意义的,相加相减都是没有意义的,在优化计算以及实际计算ctr是会涉及这两个数字的大小比较的。如w.x,在w已经确定的情况下,x的某个特征的值是20,或者30,w.x的值相差是很大的,哪怕用逻辑化公式再比较,得到的值也是比较大的,但是往往20岁的人跟30岁的人对同一个广告的兴趣差距不会那么大。解决这样的情况的方法就是,每个年龄一个特征,如总共只有20岁到29岁10种年龄,就把每个年龄做一个特征,编号是从2到11(1号是广告的反馈ctr),如果这个人是20岁,那么在编号为2的特征上的值就是1,3到11的编号上就是0。这样,年龄这一类特征就有了10个特征,而且这10个特征就是互斥的,这样的特征称为离散化特征。
二、交叉
这样看起来就能解决上面的问题了,但是够了吗?
比如一个人是20岁,那么在编号为2的特征上面,它一直都是1,对篮球的广告是1,对化妆品的广告也是1,这样训练的结果得到的编号为2的权重的意义是——20岁的人点击所有的广告的可能性的都是这个权重,这样其实是不合理的。
有意义的应该是,这个20岁的人,当广告是跟体育相关的时候,它是一个值;当广告跟保健品相关的时候,它又是一个值。这样看起来才合理。如果这个不够深刻,基于跟上面同样的道理,性别这个特征也是一样的,假如也做了上面的离散化操作,编号是12和13,12是男性,13是女性。这样的话,对于一个男性/体育广告组合来说,编号12的特征值为1,男性/化妆品的组合的编号12的特征值也是1。这样也是不合理的。
怎么做到合理呢?以上面的性别的例子来说。编号12的特征值不取1,取值为该广告在男性用户上面的点击率,如对于男性/体育广告的组合,编号12的特征的值为男性在体育广告上面点击率,这样,编号为12的特征就变成了一个浮点数,这个浮点数的相加减是有意义的。
这样的做法称为特征的交叉,现在就是性别跟广告的交叉得到的特征值。还有很多其他的方式可以进行交叉,目前工业上的应用最多的就是广告跟用户的交叉特征(编号为1的那个特征)、广告跟性别的交叉特征,广告跟年龄的交叉特征,广告跟手机平台的交叉特征,广告跟地域的交叉特征。如果做得比较多,可能会有广告主(每个广告都是一个广告主提交的一个投放计划,一个广告主可能会提交多个投放计划)跟各个特征的交叉。
三、连续特征变离散特征
做到的交叉的特征值就足够了吗?答案还是不一定。
如编号为1的那个特征,就是广告本身的ctr,假设互联网广告的点击率符合一个长尾分布,叫做对数正态分布,其概率密度是下图(注意这个是假设,不代表真实的数据,从真实的数据观察是符合这么样的一个形状的,好像还有雅虎的平滑的那个论文说它符合beta分布)。
互联网广告综述之点击率特征工程

可以看到,大部分广告的点击率都是在某一个不大的区间内的,点击率越高的广告越少,同时这些广告覆盖的流量也少。换句话说,点击率在0.2%左右的时候,如果广告a的点击率是0.2%,广告b的点击率是0.25%,广告b的点击率比广告a高0.05%,其实足以表示广告b比广a好不少;但是点击率在1.0%左右的的时候,广告a点击率是1.0%,广告b的点击率是1.05%,并没有办法表示广告b比广告a好很多,因为在这0.05%的区间内的广告并不多,两个广告基本可以认为差不多的。也就是点击率在不同的区间,应该考虑是不同的权重系数,因为这个由广告点击率组成的编号为1的特征与这个用户对广告的点击的概率不是完全的正相关性,有可能值越大特征越重要,也有可能值增长到了一定程度,重要性就下降了。
对于这样的问题,百度有科学家提出了对连续特征进行离散化。他们认为,特征的连续值在不同的区间的重要性是不一样的,所以希望连续特征在不同的区间有不同的权重,实现的方法就是对特征进行划分区间,每个区间为一个新的特征。
具体实现是使用等频离散化方式:1)对于上面的编号为1的那个特征,先统计历史记录中每条展示记录中编号为1的特征的值的排序,假设有10000条展示记录,每个展示记录的这个特征值是一个不相同的浮点数,对所有的展示记录按照这个浮点数从低到高排序,取最低的1000个展示记录的特征值作为一个区间,排名1001到2000的展示记录的特征值作为一个区间,以此类推,总共划分了10个区间。2)对特征编号重新编排,对于排名从1到1000的1000个展示记录,他们的原来编号为1的特征转变为新的特征编号1,值为1;对于排名是从1001到2000的记录,他们的原来编号为1的特征转变为新的特征编号2,值为1,以此类推,新的特征编号就有了1到10总共10个。对于每个展示记录来说,如果是排名1到1000的,新的特征编号就只有编号1的值为1,2到10的为0,其他的展示记录类似,这样,广告本身的ctr就占用了10个特征编号,就成为离散化成了10个特征。
等频离散化需要对原有的每个特征都做,也就是原来的编号为1到13的编号,会离散化成很多的编号,如果每个特征离散化成10个,则最终会有130个特征,训练的结果w就会是一个130维的向量,分别对应着130个特征的权重。
实际的应用表名,离散化的特征能拟合数据中的非线性关系,取得比原有的连续特征更好的效果,而且在线上应用时,无需做乘法运算,也加快了计算ctr的速度。

1.1.3 特征的过滤与修正

上面提到,很多特征其实是反馈的特征,如广告反馈ctr,广告与性别交叉特征,这些特征本来可以通过历史展示日志的统计得到。但有些广告本来展示量很少,在男性用户上展示就更少,这时要计算广告与性别交叉的ctr是很不准确的,需要对这个特征进行修正。具体的修正方法可以参考博文《广告点击率的贝叶斯平滑》。
经过修正后的ctr再做特征,实际线上效果有了比较大的提升。
如果使用的特征又更多了,有了学校跟广告交叉特征什么的,离散化后有了上万的特征,这下就会产生特征过多导致的各种问题,如过拟合等。解决这个问题的方法一种是离线的数据评估,如用ctr的区分性。另一种就是利用正则,特别是L1正则,经过L1正则训练的得到的权重向量,其中某些特征如果对点击率预估预测性不强,权重会变成0,不影响预估。这就是特征过滤,具体的有关L1的一些论述与实现参看博文《从广义线性模型到逻辑回归》《OWL-QN算法》和《在线学习算法FTRL》。

致谢

多位Linkedln、百度公司的研究员无私公开的资料。
多位博主的博客资料。

参考文献

[1] Ad Click Prediction: a View from the Trenches. H. Brendan McMahan, Gary Holt et al,Google的论文
[2] ****cnblogs**/vivounicorn/archive/2012/06/25/2561071.html @Leo Zhang的博客
[3] Computational Advertising: The LinkedIn Way. Deepak Agarwal, LinkedIn Corporation CIKM

标签:
分类: 转贴的文章
时间: 2015-05-12

相关文章

  1. 广告banner的点击率是可预测的吗?

    看到一篇论文 A Framework for Bayesian Classification onBanner Images,号称要通过贝叶斯分类法,来对广告banner图片(gif格式)的点击率进行预测. 作者提取了图 ...
  2. 研究称必应用户广告点击率两倍于谷歌用户

    据国外媒体周五报道,搜索广告网络Chitika进行的一项调查显示,在自然搜索条件下,来自微软必应的访问者的广告点击率比来自谷歌搜索的访问者高出55%. Chitika在7月进行了为期一周的调查,分析了其广告网络内5万多个 ...
  3. google adsense广告优化:让广告点击率从0.5%到3.0%

    如果你已经是google adsense内容发布商,登录帐户后台后可以看到每个月初由google adsense发送的优化建议(如"2007年9月的优化报告"),这些建议是系统自动诊断后发送的,可能还 ...
  4. 移动互联网广告上演巨头争先赛:谁是更大受益者

    170亿美元,这是美国上半年的互联网广告规模:12亿美元,是同期美国移动互联网广告的规模.两组数字差距明显,无论是表面还是背后.同样来自美国互联网广告局和普华永道的统计显示,前者的增速大幅放缓至14%,而后者则为95%. ...
  5. Bing让微软搜索广告点击率提升13%

    搜索引擎营销公司EfficientFrontier的研究显示,微软搜索引擎Bing在上线的第一周,付费广告点击率就增加了8%,第二周再度增加五个百分比,比Bing发布前增长了13%. EfficientFrontier的 ...
  6. 移动互联网广告,App开发者如何通过广告赚钱

    对于APP开发者来说,收入来源主要有两个,一是直接向用户收费,二是内置广告分成.目前行业内普遍看好第二种模式,且认为更适合中国市场. 不过,国内的移动广告市场还处于起步阶段,广告主尤其是品牌广告主对这一市场更多的还是观望 ...
  7. 解读常见互联网广告方式与术语

    Preface: 今年的 3·15 ,央视点名了网易广告中的 Cookie 问题,这其中的问题恐怕不像央视说的那么简单--真相离民众总是很遥远~ 之前也总结过几个基于互联网的伟大产品/行业: 互联网广告是块巨大的市场,看 ...
  8. 百度主题推广和Google Adsense点击率的探究

    我并没有同时做过Adsense和百度主题推广,对两个联盟的广告点击率没有太多感受,实际上,即使同时投放过二者的广告,一个站点的情况也很难说明问题.不过我看过的广告比较多,虽然不确定网上说的Adsense平均 0.5%的c ...
  9. eCPM的意义以及流量.单价和点击率的关系详解

    ECPM是你的收入乘以1000然后去除你的广告展示次数.所以,收入越高而相对展示次数越少,ECPM就越高,其作用类似于统计广告的展示效率. ecpm没有意义,有意义的是单次点击费率,ecpm是受它影响的. 在做AdSen ...
  10. 2020年互联网广告展望:用户意图成定位关键

    导语:美国科技博客TechCrunch周日刊登广告技术提供商Adchemy创始人及CEO莫西·努卡拉(Murthy Nukala)的文章称,随着多种移动设备的兴起,互联网广告市场开始呈现碎片化趋势.不过如果能找到基于用户 ...
  11. 2008年互联网广告现象透视

    华尔街危机突然爆发,足够引起所有行业的关注,但是其是否对互联网广告造成极大影响与冲击力:按揭贷款危机是否对今年的金融服务广告预算产生了很大的冲击?显然从整个环境中已经看出,很多大公司,商业银行已经对网络广告减少了网络广告 ...
  12. 互联网广告新大陆 光标广告成主角

    互联网广告人念念不忘地是如何从电脑屏幕上的每一象素上挖掘广告潜力.已经有人发现了互联网广告上的新大陆.这一次,不起眼的光标成为了广告主角. "自定义光标"不是什么新鲜功能,已经存在了一段时间了.但是 ...
  13. 08年全球互联网广告开支总额将达652亿美元

    2008年全球互联网广告开支总额将达652亿美元,占所有媒体广告开支的近10%.根据IDC的互联网与新媒体市场模型和预测,预计在整个预测期内将有15%~20%的年增长率,到2011年这一份额将达13.6%,与此同时,全球 ...
  14. 半小时读懂互联网广告新生态

    有些概念是你必须知道的,而且知道的程度就如同你知道一年分为四季,地球围绕太阳转.这篇文章就讲这些概念. 首先,你对互联网广告的产业链要至少有一个基本的了解.什么是广告主(advertiser),什么是媒体(publish ...
  15. 互联网广告:成长的黑暗

    在全球市场上,网络广告都是一个快速增长的代名词,不论是全球搜索引擎的巨头谷歌,还是中国的百度,以及新浪.搜狐.腾讯.网易等各大门户网站,其广告业务都在突飞猛进. 过去十多年,全球网络广告市场每年都保持了20%以上的增速. ...
  16. 互联网广告的第二次呼吸

    当整个广告业界都在津津乐道于互联网上的新商业模式和可开垦的新领域时,也就渐渐疏远了广告主和消费者,这是违反互联网精神的.此时,互联网广告的产业链应该迎来自己的拐点. 本刊记者 谢阗地 "广告是由可确认的广告主, ...
  17. Google Adsense 如何增加点击率

    随着Google Adsense的广泛流行,随之而来的一个问题就是如何提高自己adsense的收入.对adsense进行了两周的观察和调研后,基本上有一定的逻辑原则,写在这里供Google Adsense用户参考. 1] ...
  18. 互联网广告计费方式介绍

    无论何种商品的售卖,除了价格外,还必须有价格的衡量标准(即价格的单位),比如iPad,3688元/台.从1994年互联网广告出现到现在,产生了很多不同模式的计费方式. 我们来介绍目前最主流的几种计费方式: CPC(点击成 ...
  19. 图示:Google排名前十的点击率状况

    这个问题可能很多人都有疑问,排在Google第一页的前10个网站,其点击率分布状况到底是怎样的?辛辛苦苦做到了第一页,我能从自然搜索排名获取多少的流量呢?第一名与第十名的点击差别有多大?我已经进入前十,还要不要继续前进? ...