搜索广告与广告网络Demand技术-探索与利用
探索与利用(Explore and exploit)
点击率预测中还有一个重要的问题,就是探索与利用,它在工程中解决的并不好,我这章把现在论文中的常见的几种方法介绍一下。探索与利用它是所有互联网应用都要面对的一个问题,形式化一些,可以解释为:整体的效果是无法通过采样得到的,因为观察到的数据只是投放过的广告,而很多还没有投放的广告,想得到它们的效果,就很困难。
计算广告领域的探索与利用要解决的问题是:因为长尾(a,u,c)组合极大部分在系统中并没有出现过,所以没有这些长尾(a,u,c)的统计量,所以要探索性地创造合适的展示机会以积累统计量,从而更准确地估计其CTR。但探索性的展示的过程是没有按当前的eCPM最大化方法进行广告投放,即探索的展示会让收入下降,那么如何控制探索的量和探索的有效性,使得系统长期的,整体的收入增加,就是探索与利用的核心问题。
如果实践中做过广告系统,对于这一点应该有比较深的感触。因为无论是搜索广告,还是联盟广告,在广告主比较多的情况下,会有相当大的一批广告主是永远没有机会展示的,但我们也没有办法让他们得到一些展示的机会,因为要给他们展示的机会,是要付出相当大的代价的,有必要从算法的角度来讨论探索与利用的问题。Explore就是探索未知世界,Exploit就是利用从未知世界得到的少部分统计量,去提高eCPM统计的准确性。
这个问题在学术界讨论的比较多,它是Reinforcement Learning中的一个具体问题,学术界通常把它描述成为一个Multi-arm Bandit(MAB)问题。这个名字的起源来自由laohuji上的扳手,扳哪个Arm赢的概率比较大,在开始的时候是不知道的,所以要用钱去探索,看哪个扳手能提供的收益最高,但试的过程是在损失自己的钱,所以用这个名字很形象地来称这个E&E问题。
Multi-arm Bandit通常描述为:有限个arms(或称收益提供者)a(即上例中,laohuji的扳手是有限的,在广告系统中它就是广告),每个有确定有限的期望收益E(rt,a),在每个时刻t,我们必须从arms中选择一个,最终目标是优化整体收益。MAB最基本的方法学术界称为ε-greedy,它是一个很简单的方法,就是将ε比例的小部分流量用于随机探索。如果提出一种新的E&E算法,当然首先要和这种方法进行比较。
广告问题中有两个主要挑战,但它们不一定能很好地在这个框架下解决。1. 海量的组合空间需要被探索,因为要探索的是(a,u,c)这个组合空间,甚至不能认为是一个有限的空间(不是指数学上的无限),2. 因为在MAB问题中假设了各个arm的期望收益是确定的,但对于广告来讲,每个arm的收益绝对不是确定的,比如在双11促销前的ROI与其它时间的ROI相比,差的就很远了。这两个问题,我自己体会,在工程上需要研究者在以后进一步解决。
E&E算法-UCB
关于E&E算法,我介绍两个基本思路,大家不要把它认为是一篇论文或是一个具体的算法,我介绍的是两个非常有借鉴意义的思路。这个领域大家比较认可的是UCB方法。
UCB方法的思路从直觉上非常合理,它是在时间t,通过以往观测值以及某种概率模型,计算每个arm的期望收益的upper confidence bound(UCB),并选择UCB最大的arm。先不关注这句话中的术语,它其实也是一个bayesian的理念,在估计某个arm收益的时候,不再把它认为是一个确定的数,而是把它认为是一个分布。UCB的意思是在选择的时候,并不是按照期望收益最大的一点去选择,而是按照分布的收益上界去选择。在体会这个策略的过程中,会发现它是一个很聪明的策略,它对每个arm都是选择它最有可能达到的收益点来进行投放,随着时间的推移,随着观察值的增加,分布曲线会越来越窄,最终收敛成一个固定的值。假设一个广告的期望收益并不高,换言之,它的表现可能不是最优的,我们在UCB方法下不会永远出这个广告,因为经过几次探索,它就分布曲线会迅速收敛,当发现有别的广告比它更好的时候,就不会再出这个广告了,但这种方法不会漏掉真正好的广告,因为好的广告在没有观察的时候,它是非常宽的一个函数分布,它的upper confidence是一个很大的值,所以总是有机会选中它,选中之后,分布会迅速收敛到实际的确定的收益。Paper中主要探讨的是具体的UCB策略,比如β-UCB策略,它是证明选择非最优的arms存在着一个上界,该上界与总的选择次数无关。还有一个改进的策略,UCB-tuned,它证明了如果已经选择的次数越多,就越可能自信地抛弃不太有前途(但仍可能最优)的arm。
介绍UCB方法是因为它是一个很符合人直觉的E&E算法,其它也有很多变形的算法,大家可以看一下相关的资料。
搜索广告与广告网络Demand技术-探索与利用的更多相关文章
- 搜索广告与广告网络Demand技术-搜索广告
搜索广告 搜索广告就是一个典型的Ad Network,但是搜索广告非常重要,它的收入非常高,所以它有其独特之处,复杂度也比展示广告要高.它与展示广告在点击率预测,检索部分差不多,它的特点:1. 用户定 ...
- 搜索广告与广告网络Demand技术-流式计算平台
流式计算平台-Storm 我们以Storm为例来看流式计算的功能是什么. 下面内容引用自大圆的博客.在Storm中,一个实时应用的计算任务被打包作为Topology发布,这同Hadoop的MapRed ...
- 互联网DSP广告系统架构及关键技术解析
互联网DSP广告系统架构及关键技术解析 宿逆 关注 1.9 2017.10.09 17:05* 字数 8206 阅读 10271评论 2喜欢 60 广告和网络游戏是互联网企业主要的盈利模式 广告是广告 ...
- DSP广告系统架构及关键技术解析(转)
广告和网络游戏是互联网企业主要的盈利模式 广告是广告主通过媒体以尽可能低成本的方式与用户达成接触的商业行为.也就是说按照某种市场意图接触相应人群,影响其中潜在用户,使其选择广告主产品的几率增加,或对广 ...
- 亲历谷歌 Chrome 浏览器弹窗境外广告的解决方法(图) | 技术乐园
亲历谷歌 Chrome 浏览器弹窗境外广告的解决方法(图) | 技术乐园 转 https://www.hack520.com/338.html 谷歌的 Chrome 浏览器是我非常喜欢的一款的浏览器, ...
- 第62节:探索Java中的网络编程技术
前言 感谢! 承蒙关照~ 探索Java中的网络编程技术 网络编程就是io技术和网络技术的结合,网络模型的定义,只要共用网络模型就可以两者连接.网络模型参考. 一座塔有七层,我们需要闯关. 第一层物理层 ...
- 2017-2018-2 20155314《网络对抗技术》Exp4 恶意代码分析
2017-2018-2 20155314<网络对抗技术>Exp4 恶意代码分析 目录 实验要求 实验内容 实验环境 基础问题回答 预备知识 实验步骤 1 静态分析 1.1 使用virsca ...
- 2018-2019-2 20165221 【网络对抗技术】-- Exp6 信息搜集与漏洞扫描
2018-2019-2 20165221 [网络对抗技术]-- Exp6 信息搜集与漏洞扫描 目录 1. 实践目标 2. 实践内容 3. 各种搜索技巧的应用 a. 搜索网址的目录结构 b.使用IP路由 ...
- 2017-2018-2 20155303『网络对抗技术』Exp6:信息收集与漏洞扫描
2017-2018-2 20155303『网络对抗技术』 Exp6:信息收集与漏洞扫描 --------CONTENTS-------- 一.原理与实践说明 1.实践内容 2.基础问题 二.实践过程记 ...
随机推荐
- HDU 1102 Constructing Roads, Prim+优先队列
题目链接:HDU 1102 Constructing Roads Constructing Roads Problem Description There are N villages, which ...
- java 字符串反转
描述:给我一个字符串,例如I love java,输出: java love I 方法一 public class StringReverse { public void swap(char[] ...
- 对[foreach]的浅究到发现[yield]
原文:对[foreach]的浅究到发现[yield] 闲来无事,翻了翻以前的代码,做点总结,菜鸟从这里起航,呵呵. 一.List的foreach遍历 先上代码段[1]: class Program { ...
- C# 带滚动栏的Label控件
C# 带滚动栏的Label控件,用鼠标选的时候还是有点闪烁: namespace 带滚动栏的Label控件 { public class TextBoxLabel : System.Windows.F ...
- Ronco创投原则 - 硅谷创业教父Paul Graham文摘
(天地会珠海分舵注:虽然已经尽力翻译,还是担心会和大师的原意有偏差,所以这里保留英文原文给大家作参考) Ronco创投原则 No one, VC or angel, has invested in m ...
- selenium2入门 用Yaml文件进行元素管理 (五)
比如界面有一个按钮,id号是test.如果进行对象化的话,就是test.click就可以了.不用每次都要去创建test对象.如果id号变了,我们也只需要改一下test的名称就行了. 使用Yaml需要用 ...
- hdu5024(dp)
意甲冠军: 薛期呵和王熙凤不想很接近生活(因为假定他们一起,柴可能取代王熙凤) 现在'.'事情是这样的.'#'一堵墙.薛期呵对宝让生活远: 因此,选择一个最长的公路,让他们住在两端: 路达一个转折点. ...
- Cocos2d-x3.0 Json解析
2dx3.0下一个JSON解析库官员以及集成.我们参考一下吧OK. JSON文件hello.json内容 {"pets":["dog","cat&qu ...
- C和Java中数组的定义
在学习C和Java中,关于数组的定义两者不同,在初学的时候,容易产生混淆,现在将两者对比下. 1.初始化 在C语言中,关于一维数组的定义: 完全初始化 int a[5]={1,2,3,4,5},对于 ...
- Windows环境搭建Web自动化测试框架Watir
Windows环境搭建Web自动化测试框架Watir 一.前言 Web自动化测试一直是一个比较迫切的问题,对于现在web开发的敏捷开发,却没有相对应的敏捷测试,故开此主题,一边研究,一边将We ...