上一篇文章《广告系统中的Exploitation and Exploration(一)》主要介绍了背景与相关算法,今天我们继续介绍几种相关的算法以及MAB问题与实际广告系统的区别与联系。
相关算法介绍
- UCB(Upper Confidence Bound Algorithms)
学过统计的都应该知道,通过实验观察,统计得到的arm平均收益,并不是真实收益。
就像抛硬币实验,正面朝上的概率是0.5,实验10次,正面朝上的次数有可能6次,也有可能是4次。抛硬币实验,正面朝上的概率,符合伯努利分布(the Bernoulli distribution),根据中心极限定理,实验的次数越多,统计概率越接近真实概率。
同样的,统计得到的arm收益,并不等于真实收益。但是符合一定的概率分布,可以计算得到在一定的置信区间内,arm真实收益的上界。
UCB算法的思路是,根据arm收益置信区间的上界,进行排序。随着尝试的次数越来越多,置信区间会不断缩窄,上界会逐渐逼近真实值。这个算法的好处是,将统计值的不确定因素,考虑进了算法决策中,并且不需要设定参数。
- Thompson sampling
该算法跟UCB类似,也是考虑到了统计值的不确定因素。所不同的是UCB根据置信区间上界进行排序,而Thompson sampling则是根据arm真实收益的概率分布,采样得到本次排序使用的值。因此每次决策,采样得到的值是会变化的。
Multi-armed bandit(MAB)问题与实际广告系统的区别
MAB是对新广告选择策略很好的抽象,能够帮助我们更好的分析问题。但是与实际的广告系统,还是有一些区别,会影响到我们的算法选择,主要体现在几个方面:
- arm数量是变化的
MAB研究的是固定数量的arm,广告系统中参与排序的广告数量是动态变化的,不停的有广告上线和下线。
算法1(A Navie Algorithm)需要对每个arm先尝试K次,统计平均收益,对于广告系统并不适用。
2.arm收益延时更新
MAB中,arm拉杆后是否有收益可以立即得到结果。而广告系统中,广告的收益(点击率)更新是有一定延时的,主要由于两方面原因(1)广告的曝光和点击中间存在一定的时间间隔。(2)曝光和点击数据,从日志产生,经系统传输到后台,最后更新广告的点击率预测值,需要一定的时间开销。
算法4(UCB)采用置信区间上界进行排序,在收益值更新之前,选择的arm是固定的。算法5(Thompson sampling)是根据收益的概率分布采样得到,对于这个问题容忍度会好一些。
3.arm收益有一定的先验知识
MAB在实验开始前,对arm的收益是一无所知的。而广告系统可以利用广告本身的信息,以及广告主、广告位等层级结构信息等先验知识,可以事先预估得到相对合理的广告收益值。
本文主要和大家介绍了广告系统中的Exploitation and Exploration的相关的算法以及MAB问题与实际广告系统的区别与联系。
欢迎大家关注计算广告那些事儿哈,除了原创文章之外,也会不定期和大家分享业内大牛的文章哈!