Ee 想说爱你不容易
-
Upload
xiaoerxiaoer -
Category
Data & Analytics
-
view
274 -
download
4
Transcript of Ee 想说爱你不容易
EE想说爱你不容易黄晶
2015.01
主要内容
问题描述
求解方法
E-Greedy
UCB
Thompson-Sampling
问题变种 -contextual E&E
应用
当 E&E遇到 LR
Exploration & Exploitation
什么是 E & E? 问题起源:老虎机
N个老虎机每个老虎机概率为 pi的产生收益目标:最大化整个过程中的收益
关键点:不知道 p1,p2,…,pn,只能通过每次的结果来估算 pi,探测的过程中是有损失的
Exploration:探测新的 --这是有成本的Exploitation:学习历史观测结果,来推断 pi
Regret: 最大收益 *实验次数 -实验收益
choosing best arm(result) for all users
p1 p2 pn
应用 广告展现问题
有 1个展现位置, N个广告(老虎机)每个广告以概率 pi被点击,从而获得收益 1(统一为 1,简化问题)目标:怎样的展现策略使得整体收益最大?
求解方法 最土豪的方法
对每个广告,让其不停的展现,直到可以后验统计出一个靠谱的点击概率—这是最大力度的 exploration,最小力度的 Exploitation
具体来说,我们发现【推导:附录 1】• 点击率为 0.1的广告需要展现 13829次,才可以使得后验点击率与真实点击率误差在 5%以内
如果:广告 A后验已经收敛到 10%,广告 B展现了 100次,点击了 0次,那么,真的还需要再展现 B,直到点击率收敛么?简单算下,广告 B的点击率会比 A高的概率为 (1-0.1)^100=10^(-5)
求解方法 E-greedy
每次以1-e的概率选后验点击率高的, e的概率随机选其他的Exploration力度: e
Exploitation力度:1-e
性质:由于 e是固定的,即使实验了很多步,仍然会以固定概率去抛弃当前最好的, Explore其他的
e=0.2
e=0.1
e=0.01
e=0.2
e=0.01
e=0.1
Explore概率太低,开始很难跳出
Explore概率太高,即使收敛了,仍然总有 0.2的概率选择差的
E=0.2Explore概率很高,非常明显的线性regret
E=0.01开始 Explore效率很低,一直探测不到最好的, N很大以后,由于 explore概率低Regret会比较小
E=0.1N<10000,看起来是最好的,但是 N再增加, regret会超越红色的线
求解方法 E-greedy数值实验性质
e越大,启动阶段的 regret越小,收敛速度越快e越大,到 N大于一定步数, regret斜率越高总结:大 e起始效率高,小 e结束效率高改进: e随着 N的增加而降低,可以把 regret控制到O(N)
e=0.2
e=0.1
e=0.01
e=0.2
e=0.01
e=0.1
Explore概率太低,开始很难跳出
Explore概率太高,即使收敛了,仍然总有 0.2的概率选择差的
E=0.2Explore概率很高,非常明显的线性regret
E=0.01开始 Explore效率很低,一直探测不到最好的, N很大以后,由于 explore概率低Regret会比较小
E=0.1N<10000,看起来是最好的,但是 N再增加, regret会超越红色的线
求解方法 UCB
思想:后验总是不准的,但是随着实验次数增多,后验的误差范围越来越小,如果能给后验误差一个合理估计,就能控制风险核心:怎么估计后验误差?估算 p的上界,保证 p大于上界的概率小于 e
P的上界, ni越大,范围越小
P的上界估计想让误差随 n增大而减小,于是变成左边的样子??
有更为精确的估计,但是大同小异, regret基本都是 logN
求解方法 UCB数值实验性质
实验次数
P值
黑色短线:后验观察值黑色长线:上界值
实验次数最小,所以上界值范围越大彩色线:真实值
实验一定次数后,三个 arm的性质比较
实验步数
每个广告的实验次数
绿色: 0.5红色: 0.3蓝色: 0.1黑色: 0.2
绿色部分绝对主导,但是上界区间其实还挺大,且收敛速度越来越慢
N=100 N=5000 N=7500
求解方法 UCB数值实验性质
最优广告选择概率 Regret VS 38logN
求解方法 Thompson Sampling
思想:贝叶斯观点,认为先验参数 p 服从一个 beta分布,通过后验的观测,不断对这个 beta分布做修正,在 explore的时候,对这个 beta分布做随机抽样Why beta分布?因为后验的观测是伯努利分布,先验取伯努利分布的共轭分布,可以保证后续分布一直是该分布推导过程:
伯努利分布的统一写法, x=1为 theta, x=0为 1-theta
可以认为 alpha基本代表成功次数, beta 代表不成功次数
求解方法 Thompson Sampling
Beta分布的性质1.点击率等比率情况下,实验次数越多, beta分布范围越窄Beta(10,30) vs beta(2,6)Beta(20,20) vs beta(4,4)
2.Beta分布的众数基本等于点击率Beta(10,30)的中心点=10/(10+30)Beta(20,20)的中心点=20/(20+20)
Ps:本问题中,小于 1的 beta分布基本不用关注1. 既然 alpha 和 beta基本代表实验成功和实验失败的次数,因此在初始选参数的时候,可以根据经验选择 alpha 和 beta的取值,使得更接近点击率2.固定比值以后, beta的选择决定了后续观测值想修改这个分布的难度, beta越大,表明当前的分布是依赖于很多次实验获得,后面必须有充分的数据才能大规模修改分布
求解方法 Thompson Sampling
数值实验性质:不确定!
一样的参数,三次实验,表现差异很大
方法比较:思想 UCB & Thompson方法的思想差异
思想对比:概率学派 VS 贝叶斯学派操作方法对比:给定估计的分布后,一个取最大值,一个对分布抽样理论收敛性:有收敛理论 VS 无收敛理论item-A
item-B
item-C
UCB:选上界最高的 BThompson:都有一定概率
方法比较:收敛性 e-greedy & UCB & Thompson E-greedy
UCBThompson
选择最好广告的概率 regret
问题的变种 -contextual
回顾:问题起源:老虎机N个老虎机每个老虎机概率为 pi的产生收益目标:最大化整个过程中的收益
假设: Pay与环境无关 Contexutal:
Pay与环境相关,环境 +广告由一堆 feature 表示feature对老虎机 pay的影响与时间无关,只与老虎机相关,即对每个老虎机做了个线性model
choosing best arm(result) for all users
p1 p2 pn
问题的变种 -contextual
Contextual: Pay与环境相关,不再是常数 -难!E-greedy->epoch-greedy O(T^2/3)
UCB->freq method• 一般需要加一些更强的假设• 如 linear assumption下的 linUCB
Thompson-sampling->bayes prior• such as Gittins index method• 需要 offline对 prior 做很好的估计• 一般计算代价大,且没有近似方法
问题的变种 -contextual
LinUCB 假设:Pay与环境相关,环境 +广告用一堆 feature 表示feature对老虎机 pay的影响与时间无关,只与老虎机相关,即对每个老虎机做了个线性model
数学表示:
求解方法:
不同的 Ut,只决定了 Xt,a的取值的多少,不影响参数
实操感觉很蛋疼,每个广告样本自积累数据计算参数如果有较多的数据,为什么不直接用 LR 呢?还能积累泛化特征
问题的变种 -contextual
LinUCB 假设:Pay与环境相关,环境 +广告用一堆 feature 表示feature对老虎机 pay的影响与时间无关,只与老虎机相关,即对每个老虎机做了个线性model
数学表示:
求解方法:
不同的 Ut,只决定了 Xt,a的取值的多少,不影响参数
Improve:arm 之间是有关联的Beta与 arm 无关,是共享的注意若 theta 退化为空,就是个线性model
实操需要注意的问题 框架对反馈的时效性要求很大
每次的参数都依赖于上一次所有的点击和展现,因此点击必须实时传回 e&e 系统实际操作一般会是每隔一段时间批量更新,会有效率的损失
随机带来的排序不稳定每次排序都是不稳定的,因此刷新会带来排序的完全变更,用户体验不好一般都会按照 cookieid,一段时间再更新,这又会有部分效率的损失
当 E&E遇上 LR
冷启动 E&E+LR VS LR
当 E&E遇上 LR
实际经验表明:自然搜索时,在没有用到 LR的情况下,上 explore效果好广告搜索在没有 LR的情况下,上 explore效果好,但是好不过直接后验(即只是 exploit在起作用)广告搜索在有 LR的情况下,怎么试都很难超越 LR,且探测的新广告能很快被 LR 吸收— LR 吸收效率比 E&E高
为什么?分场景分析场景一:冷启动场景二: LR对某些 case 存在 bias
场景一:冷启动 假象:系统刚启动的时候, LR数据不够
广告库主体变化不大( VS新闻系统)初期数据不够,有 overfitting对广告系统不是坏事 - 持续好的 pay
在我们的应用场景,一天的数据足够训练 auc不错的 LR,该 LR通过泛化特征做 explore
E&E 自身局限性:前提:均值的估计• 粒度太小:样本收敛慢• 粒度太大:均值不稳定• 广告系统环境因素太多,粒度小到 query-广告都不够
场景二: LR 存在 bias,某些新广告出不来 撞大运:很难在线上收到预期效果
前提:大量好的广告在泛化特征上打分很低即使前提成立:• 直接无目标的 explore,很难保证正好撞上• 如果仔细分析,并发现这些 case,似乎不如研究泛化特征怎么改进
EE的学习效率比 LR低太多了探测出来的样本能很快被 LR学去原因:• E&E是对单样本做的学习,样本与样本之间没有关联• LR是对样本的特征做的学习,一个样本会同时带来多个特征的更新
附录一 已知广告点击概率为 p,需要展现多少次,才能使得后验点击率与 p的误差小于 5%
广告的点击率抽样分布的均值为 p,方差为 sqrt(p(1-p)/N) 如果考虑 3 倍的置信度: (p + 1.96*sqrt(p(1-p)/N) – p)/p < 5% N=1536*(1-p)/p
附录二:参考资料 理解共轭分布
http://wenku.baidu.com/view/a542dbf2770bf78a6529546a.html?st=1
Beta分布性质http://cos.name/2013/01/lda-math-beta-dirichlet/
Introduction to Bandits: Algorithms and theoryICML 2011 Jean-Yves Audibert & Remi Munos
A Contextual-Bandit Approach to Personalized News Article Recommendation
WWW 2010 Lihong Li