您的位置:首页 > 其它

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

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

在上两节我们讨论的UCB系列算法面对的情况是静态的,即各臂的分布参数不会改变,于是我们就"乐观地面对不确定性"--根据采样平均值尽快地确定那个最好的臂.

但是在现实世界中收益结构是更复杂的,非静态的.特别是当它涉及到竞争的场景,如股票交易.我们称之为
对抗模式多臂赌博机(adversarial bandit)


问题

数学化的问题描述可以参考第一节.

但是对于奖励矢量,有些异同:

它和静态时一样,必须是预先固定的.

各臂奖励期望随着轮数是变化的(准确地说是没有期望,或者说期望被对手动了手脚)

这时我们可以思考这种情况:对手能否总把参与者下一次的收益设为零?


定义

回想之前的UCB策略形成过程,我们的目标是尽快地选择那个期望最大的臂,并计算其与期望最大臂实际给出的奖励的差值作为遗憾.

现在我们的目标更复杂了:我们知道臂的统计参数是变化的!!! 我们显然不能指望选择总选择那个采样平均最大的臂了.

所以这里的策略也应该改变: 它是一种选择序列,虽然UCB最终也是给出一个序列,但是那个序列最终是
收敛
的,而现在的序列是
不收敛
的.

定义:策略序列和收益

策略A给定一个选择序列j⃗ =(j1,…,jt)j→=(j1,…,jt),在t轮后总的收益是

GA(t)=Gj⃗ (t)=∑stXjs(s)GA(t)=Gj→(t)=∑stXjs(s)

那么我们用什么来作为理想状态呢? 当然是我们知道全部的奖励结果时.但是显然, 这是的遗憾太强了, 想想看,我们在静态时(UCB)都没这么做.

所以我们需要定义一个弱的遗憾,类似于UCB(同一个作者提出的嘛),我们定义理想状态是那个最佳单操作,即那些最蠢的操作里面最好的那个操作(总选择一个臂).

定义:弱遗憾RA(T)RA(T)为:

RA(T)=Gmax(T)−GA(T)=(max∑t=1TXi(t))−(GA(T))RA(T)=Gmax(T)−GA(T)=(max∑t=1TXi(t))−(GA(T))


EXP3

为什么叫EXP3? 因为是Exponential-weight algorithm for Exploration and Exploitation的缩写,指的是勘探和开发的指数权重算法.

EXP3算法

设置γ∈[0,1]γ∈[0,1],初始化权重因子ωi(1)=1,i=1,…,Kωi(1)=1,i=1,…,K

每一轮tt:

pi(t)=(1−γ)ωi(t)∑Kj=1ωj(t)+γKpi(t)=(1−γ)ωi(t)∑j=1Kωj(t)+γK

根据pi(t)pi(t)的分布随机生成itit作为下一次选择的臂

定义估计量X^(t)=Xit(t)/pit(t)X^(t)=Xit(t)/pit(t)

更新选中臂的权重因子ωit(t+1)=ωit(t)exp(γX^it(t)/K)ωit(t+1)=ωit(t)exp⁡(γX^it(t)/K),
其它臂ωj(t+1)=ωj(t)ωj(t+1)=ωj(t)

那么它的弱遗憾是对数增长的:

定理

对于EXP算法,在任意的轮数TT下,其遗憾的期望满足

RA(T)≤(e−1)γGmax(T)+KlnKγRA(T)≤(e−1)γGmax(T)+Kln⁡Kγ

证明从略.

这里问题来了,我们应该怎么选择γγ呢?

推论

如果Gmax(T)≤gGmax(T)≤g,则γ=min(1,KlnK(e−1)g−−−−−√)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息