多臂赌博机,multi-armed bandit problem(2):


感觉多臂赌博机方面的中文文献很少,偶尔碰到,记录一下,方便其它人学习。感谢原作者:http://mlyixi.byethost32.com/blog/?cat=35


这一节我们来了解下多臂赌博机问题的提出和理论基础,最后讨论下UCB系列策略.当然,这里的多臂赌博机问题是随机式的. 随机式多臂赌博机的问题描述就不在这里重复了,可以参考上一节

理论

问题的证明

Lai & Robbins在1985年论证了对于某些特定的分布(只有一个实参的分布),存在有策略使得它的累积遗憾的期望服从 logn log⁡n增长.同时也证明了对于任何策略任何次优臂,总有

E[Tj(n)](lnn)/D(pj||p) E[Tj(n)]≥(ln⁡n)/D(pj||p∗)

, 即累积遗憾的期望存在有一个下界.

当然他们也提出了一些针对特定分布的策略,虽然结果较好(对数增长的常数项较小),但是由于计算复杂度和特定分布的限制,并不具有较好的实用性.

改进

为了克服上面的缺点, Agrawal提出了基于采样平均值作为上部信心指数(upper confidence index)的多臂赌博机策略,它将各臂采样平均值的某些函数作为该臂优越性的指标,然后总选取最优越的臂. 同时证明结果显示它们同样服从对数增长,只不过对数增长的常数项较大了些.

UCB策略

UCB1

该策略已经在上一节讨论过了,这里只列举下算法.

UCB1算法:
在前 K K轮,每臂各选择一次,
t=K,K+1... t=K,K+1...轮:

  1. 选择指数 Ii Ii最大的臂,其中 Ii=x¯i+2logtni Ii=x¯i+2log⁡tni,其中 x¯i x¯i是均值, ni ni是臂 i i当前累积被选择的次数
  2. 记录获得的奖励,并更新 x¯i x¯i ni ni

UCB2

UCB2算法
在前 K K轮,每臂各选择一次,并置 ri=0 ri=0

  1. 选出指数 Ii Ii最大的臂,其中 Ii=x¯<em>i+a</em>n,ri Ii=x¯<em>i+a</em>n,ri,其中

    an,ri=(1+α)ln(en/τ(r))2τ(r) an,ri=(1+α)ln⁡(en/τ(r))2τ(r)

    , 其中 τ(r)=(1+α)r τ(r)=⌈(1+α)r⌉
  2. 选择该臂 τ(ri+1)τ(ri) τ(ri+1)−τ(ri)
  3. ri++ ri++

定理: 如果 nmax12Δ2i n≥max12Δi2,则总的遗憾期望不超过

i:μi<μ((1+α)(1+4α)ln(2eΔ2in)2Δi+cαΔi) ∑i:μi<μ∗((1+α)(1+4α)ln⁡(2eΔi2n)2Δi+cαΔi)

e-Greedy策略

在多臂赌博机问题中贪婪算法并不适用,但是,可以改良一下,如Sutton &Barto在1998年提出的 ϵgreedy ϵ−greedy算法,它简单地以 1ϵ 1−ϵ的概率选择最大的采样均值的臂,而以 ϵ ϵ的概率去随机选择臂. 但是,它并不是对数增长的. 它需要人为地设定一个停止规则,而且,这个停止规则必然和各臂期望有关.

一个好的改良叫做 ϵngreedy ϵn−greedy算法.

定义参数 c>0 c>0 d:0<dminΔi d:0<d≤minΔi ϵn=min(1,cKd2n) ϵn=min(1,cKd2n)

ϵngreedy ϵn−greedy算法
在前 K K轮,每臂各选择一次,

  1. 1ϵn 1−ϵn的概率选择最大的采样均值的臂,而以 ϵn ϵn的概率去随机选择臂.
  2. 更新 ϵn ϵn

虽然该方法在仿真中能得到很好的结果,但实际情况是各臂期望不可知,无法确定较好的 d d,所以只能设置一个较大的 c c(其实c,d可以合并成同一参数).

一般来说,如果 d d满足条件, c>5 c>5足够保证对数增长.

UCB1-NORMAL

UCB1-NORMAL算法
1. 如果有臂被选择的次数少于 8logn ⌈8log⁡n⌉,那么就选择该臂
2. 否则,选择指数 Ii Ii最大的臂,其中 Ii=x¯i+16(qinix¯2i)ln(n1)(ni1)(ni) Ii=x¯i+16(qi−nix¯i2)ln⁡(n−1)(ni−1)(ni), 其中 qi=x2i qi=∑xi2
3. 更新 x¯i x¯i qi qi

定理
UCB1-NORMAL算法下总的遗憾期望不超过

256logn(i:μi<μσ2iΔi)+(1+π22+8lnn)(i=1KΔi) 256log⁡n(∑i:μi<μ∗σi2Δi)+(1+π22+8ln⁡n)(∑i=1KΔi)

好了,这样就列举完了UCB基本算法了.当然,还有很多变种,留待以后补充. 但其实,各UCB算法的差异并不足够大.





  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值