转载:E&E

Exploration and Exploitation(探索与开发)是计算广告和推荐系统里常见的一个问题,在数学领域也被称为多臂赌博机问题(multi-armed bandit problem), 最早是从赌场上演化而来。

1. 问题复现

有一个赌徒在一排老虎机面前决定拉动其中某一个老虎机的臂(arm),用以期望获取的收益最高。当他在拉老虎机臂的时候,他并不知道哪一个老虎机赢钱的机率是最大的,以及他手头只有有限的money,

每玩一次都是有成本的,会损失一部分的本金。那么为了收益最高这个目标,该执行什么样的策略?

对应计算广告里的问题:假设资源池有若干广告(或若干类item),怎么知道该给每个用户展示哪个(类),从而获得最大的点击?是每次都挑效果最好那个么?那么新广告如何才有出头之日?

2. 名词解释

Exploitation: 开发利用, 选择执行目前已知最好的item,也就是回报概率最大的item

  • 优点: 短期回报会比较高,充分利用已知回报率最高的item
  • 缺点: 容易陷入局部最优,潜在可能存在回报率更高的item,只是不知道是哪个

Exploration: 探索,探索发现潜在可能回报率更高的item

  • 优点: 能够发现回报率更高的item
  • 缺点: 没有充分利用已知的信息,探索的过程会降低当前收益

3. 评估指标

多臂(arm)问题里有一个概念叫做累计遗憾(regret),公式如下:

image.png

这里 t 表示轮数,at* 表示第t轮最优的那个arm, r表示回报

每次都会计算当前选择的arm获取的收益与最优arm期望最大收益之间的差距,把每次差距累加起来就是总的遗憾。

对应同样的问题,采用不同bandit算法来进行实验相同的次数,那么看哪个算法的总regret增长最慢,那么哪个算法的效果就是比较好的。

4. Bandit算法介绍

4.1 Epsilon-Greedy算法

4.1.1 算法过程描述

  • 选一个(0,1)之间较小的数epsilon
  • 每次以概率epsilon(产生一个[0,1]之间的随机数,比epsilon小)做一件事:所有臂中随机选一个。否则,选择截止当前,平均收益最大的那个臂。
  • 根据选择臂的回报值来对回报期望进行更新

这里epsilon的值可以控制对exploit和explore的偏好程度,每次决策以概率ε去勘探Exploration,1-ε的概率来开发Exploitation,基于选择的item及回报,更新item的回报期望。

4.1.2 优点

  • 能够应对变化:如果item的回报发生变化,能及时改变策略,避免卡在次优状态
  • 可以控制对Exploration和Exploitation的偏好程度:ε大,模型具有更大的灵活性(能更快的探索潜在可能高回报item,适应变化,收敛速度更快),ε小,模型具有更好的稳定性(更多的机会用来开发利用当前最好回报的item),收敛速度变慢

4.1.3 缺点

  • 设置最好的ε比较困难,大则适应变化较快,但长期累积回报低,小则适应变好的能力不够,但能获取更好的长期回报。
  • 策略运行一段时间后,我们已经对各item有了一定程度了解,但没用利用这些信息,仍然不做任何区分地随机exploration

4.2 UCB算法(Upper Confidence Bound 置信区间上界)

4.2.1 算法过程描述

  • 先对每一个臂都试一遍

  • 之后,每次选择以下值最大的那个臂


    image.png

    其中加号前面是这个臂到目前的收益均值,后面的叫做bonus,本质上是均值的标准差,t是目前的试验次数,Tjt是当前这个臂被试过的次数。

  • 更新选择臂的收益均值

    这个公式反映:均值越大,标准差越小,被选中的概率会越来越大,起到了exploit的作用;同时哪些被选次数较少的臂也会得到试验机会,起到了explore的作用。

4.2.2 优点

  • 考虑了回报均值的不确定性,让新的item更快得到尝试机会,将探索+开发融为一体

  • 基础的UCB算法不需要任何参数,因此不需要考虑如何验证参数(ε如何确定)的问题

4.2.3 缺点

  • UCB1算法需要首先尝试一遍所有item,因此当item数量很多时是一个问题
  • 一开始各item选择次数都比较少,导致得到的回报波动较大(经常选中实际比较差的item)

4.3 Thompson sampling算法

4.3.1 算法过程描述

  • 假设每个臂的背后都有一个概率分布来产生回报,我们要做的就是通过实验来估算出每个臂背后的概率分布p.
  • 估算的方法为:假设概率分布服从Beta(win, lose)分布, 每个臂都有对应的这么一组参数,当实验过程中摇动臂的时候,有收益那么给win加1,如果没有收益那么给lose加1,从而估算出概率p的分布。
  • 得到p的分布以后,通过这个概率分布p来选择臂,具体的方法如下: 用每个臂现有的beta分布产生一个随机数b,选择所有臂产生的随机数中最大的那个臂去摇。

4.3.2 优点

  • UCB采用确定的选择策略,可能导致每次返回结果相同(不是推荐想要的),Thompson Sampling则是随机化策略。
  • Thompson sampling实现相对更简单,UCB计算量更大(可能需要离线/异步计算)
  • 在计算机广告、文章推荐领域,效果与UCB不相上下或更好competitive to or better
  • 对于数据延迟反馈、批量数据反馈更加稳健robust

5. 效果比对

image.png

从图中可以看到随机的方法效果,随机来选差的很明显,E-Greedy下降了不少,

UCB比E-Greedy要好一些,Thompson取样的方法来做开始的时候要差但是长期来看会好一些。

整体效果来说,随机 < E-Greedy方法 < UCB <= Thompson Sampling

6. Bandit算法跟AB Test的比较

6.1 标准的AB Test通常包含以下两个方面

  • 执行AB Test存在短期的纯探索阶段(也就是exploration的过程),两个方案都会包含相同数量的用户
  • 执行AB Test存在长期的纯开发阶段(也就是exploitation的过程),确定以后会将全量的数据(用户)切换到其中某个较好的一个方案

6.2 AB Test可能会存在的问题

  • 非常生硬的从探索阶段切换到开发阶段(exploration-->exploitation), 没有一个平滑迁移的过程
  • 在纯探索阶段,为了获取到更多的反馈数据,这时会消耗不少资源在差方案上,特别是如果方案不止是AB两种,而是ABCDEFG的话那么资源的消耗会更加明显

6.3 Bandit算法相比优点

  • 会随着时间逐步减少探索(exploration)的数量,而不是突然做方案之间的切换
  • 与AB Test相比,在探索阶段会更加偏向好的方案,消耗的资源会比AB Test要少
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,273评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,349评论 3 398
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,709评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,520评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,515评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,158评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,755评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,660评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,203评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,287评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,427评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,122评论 5 349
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,801评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,272评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,393评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,808评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,440评论 2 359