问题描述
Bandit是一种常见的赌博机器。一般的赌场里的Bandit只有一个臂,你可以付钱来拉一次臂,机器会按照一个概率分布返回奖励。因为这样的机器常让赌徒输得精光,所以被称为“bandit(强盗)”。
数学上,我们考虑一个“Multi-Armed Bandit”的模型,它有k个臂,当你付钱后你可以任意选择一个臂来拉,不同的臂会对应不同的概率分布来返回奖励。不失一般性,我们可以假设拉一次臂的代价为1,第i个臂的奖励服从概率分布函数fi,其中fi∈[0,1],其均值为 μi。
关于Multi-Armed Bandit模型,一个经典的问题是:假设你已经付钱拉T轮,那么应该采用什么样的策略来取得尽量高的收益。这样的问题属于“在线优化(online optimization)”领域,其核心在于平衡“探索(exploration)”和“使用(commitment)”:由于我们并不事先知道每个臂的概率分布函数,所以可以想象一个好的策略总是应该把每个臂都拉几次,对每个臂的分布有一个估计以后,再集中地去拉收益估计最高的那几个臂。下面我们就基于这一设想,精确地讨论算法设计,分析算法的表现。
我们先定义一些符号。不失一般性,假设 μ1≥μ2≥...≥μk。记 Δi≜μ1−μi。设算法在第t轮拉动的臂的编号为at,对应的奖励为随机变量Xt∼fat。定义当前算法的regret R(T)≜T⋅μ1−E[t=1∑TXt]≥0,也即不总是选择第一个臂(这是上帝视角下的最优策略)所造成的regret(这里的期望需考虑到X关于分布的随机性,以及算法本身的随机性)。算法的regret越小,说明算法表现越好。在分析时,我们关心当T远大于k时,R(T)函数的增长速度。
在分析算法时,下面形式的regret函数更常用:令随机变量ni(t)≜s=1∑t1[as=i],表示前t轮中第i个臂被拉动的次数。那么有
R(T)=T⋅μ1−E[t=1∑TXt]=t=1∑T(μ1−i=1∑kμi⋅E[1[at=i]])=t=1∑Ti=1∑kΔi⋅E[1[at=i]]=i=1∑kΔi⋅E[t=1∑T1[at=i]]=i=1∑kΔi⋅E[ni(T)]
记Ri(T)≜Δi⋅E[ni(T)],那么R(T)=i=1∑kRi(T)。其中Ri(T)就称为第i个臂上的regret。
首先,我们考虑“只探索”算法:为每个臂分配相同的次数来拉。这样做的regret为R(T)=i=1∑kΔi⋅kT。可见,“只探索”的做法已经可以做到与T成线性关系的regret。所以,我们希望寻找R(T)=o(T)的算法。
The Explore-then-Commit Algorithm, ETC
ETC算法首先拉动每个臂L次(所以总共进行k⋅L次探索)。计算这L次中每个臂的平均奖励μ^i。此后,总是去拉μ^i最大的那个臂。
于是我们可以计算regret函数。ETC的策略是确定性的,所以regret函数中期望这一项的随机性来自fi返回奖励的随机性,第i个臂期望被拉的次数取决于μ^i“成为最大”的概率:
R(T)=i=1∑kΔi⋅E[ni(T)]=i=1∑kΔi⋅(L+(T−kL)Pr[μ^i≥j=imaxμ^j])=Li=1∑kΔi+i=2∑kΔi⋅(T−kL)Pr[μ^i≥j=imaxμ^j]
下面我们来寻找R(T)的上界,也即Pr[μ^i≥j=imaxμ^j]的上界。因为μ^i≥j=imaxμ^j⟹μ^i≥μ^1,因此Pr[μ^i≥j=imaxμ^j]≤Pr[μ^i≥μ^1]。所以我们只需给出Pr[μ^i≥μ^1]的上界。
在探索阶段(每个臂拉L次的阶段),记第j次拉臂i时的返回奖励值为随机变量Yj(i)。那么Pr[μ^i≥μ^1]=Pr[j=1∑L(Yj(i)−Yj(1))≥0]。令Zj=Yj(i)−Yj(1)∈[−1,1],我们有E[Zj]=μj−μ1=−Δi。令Z=j=1∑LZj,我们有E[Z]=−LΔi。于是,根据Hoeffding不等式:
Pr[μ^i≥μ^1]=Pr[Z≥0]=Pr[Z−E[Z]≥LΔi]≤exp(−∑j=1L222(LΔi)2)=exp(−2LΔi2)
所以
R(T)≤Li=1∑kΔi+(T−kL)i=2∑kΔiexp(−2LΔi2)≤i=1∑k(LΔi+TΔiexp(−2LΔi2))≤i=1∑k(L+TΔiexp(−2LΔi2))
接下来我们通过调整L来得到更好的上界。令g(L,Δi)≜L+TΔiexp(−2LΔi2)。为了方便分析,我们先求出L固定时g的最大值,然后再求关于L的最小值。首先∂Δi∂g(L,Δi)=T(1−LΔi2)exp(−2LΔi2)。显然Δi=L1是极大值点,此时g(L,L1)=L+LT⋅e−1/2。进而,∂L∂g(L,L1)=1−2e−1/2TL−3/2,因此在L=(2e−1/2)2/3T2/3时取到最小值22/3e−1/3+e−5/6⋅T2/3。
综上所述,R(T)≤22/3e−1/3+e−5/6⋅k⋅T2/3=Θ(k⋅T2/3)。可以看到,ETC算法可以做到比线性更优。
The Upper-Confidence-Bound Algorithm, UCB
ETC算法在探索阶段平等地对待每一个臂。可以设想,如果想要进一步提升探索效率,可以从探索时得到的反馈动态地调整探索策略本身。这符合算法优化的基本原理:充分利用历史信息。
UCB算法为每个臂i维护一个confidence区间[ai(t),bi(t)],每一轮我们都选择bi最高的那个臂k,然后根据所得的结果调整区间。难点在于如何调整。UCB设计了一个精妙的关于调整方法的要求:事先设定一个参数δ∈[0,1],我们要求对于任意时刻t,都有Pr[μi∈[ai(t),bi(t)]]≥1−δ。注意,这是一个“上帝视角”下的要求,玩家是看不到μi的值的。如何实现这一要求呢?我们依然像ETC中一样记录μ^i(t)≜ni(t)∑j=1tXj⋅1[aj=i]。令Z(t)≜∑j=1tXj⋅1[aj=i],根据Hoeffding不等式,对于任意的c有:
Pr[∣μ^i(t)−μi∣≥c]=Pr[∣Z(t)−ni(t)μi∣≥ni(t)c]≤2exp(−ni(t)2(ni(t))2c2)=2exp(−2ni(t)c2)
由此可见,Pr[∣μ^i(t)−μi∣≤c]≥1−2exp(−2ni(t)c2),因此Pr[μi∈[μ^i(t)−c,μ^i(t)+c]]≥1−2exp(−2ni(t)c2)。所以为了满足要求,我们需要1−2exp(−2ni(t)c2)≥1−δ,也即c≥2ni(t)ln(2/δ)。
因此,UCB的做法是:取ai(t)≜μ^i(t)−ci(t) 和 bi(t)≜μ^i(t)+ci(t),其中ci(t)=2ni(t)ln(2/δ)。注意到在这样的设计下,当μ^i(t)很大或ni(t) 很小时,算法都会倾向于去探索臂i。
下面我们分析UCB的regret上界。
Ri(T)=Δi⋅E[ni(T)]=Δit=1∑TPr[μ^i(t)+ci(t)≥j=imax(μ^j(t)+cj(t))]
注意到,在算法执行过程中有概率出现这样的情况:对于每个i,μi在任意时刻都落在[ai(t),bi(t)]内。我们把这一情况记为事件A。A事件是大概率发生的。若A不发生,则至少在某一时刻存在某一个i,发生了事件“μi∈/[ai(t),bi(t)]”。根据算法的设计,对于任意某个t,i,事件“μi∈/[ai(t),bi(t)]”发生的概率小于δ。所以由Union Bound可得Pr[A]≤kTδ。
Ri(T)≤Δit=1∑TPr[μ^i(t)+ci(t)≥j=imax(μ^j(t)+cj(t))∣A]+Δit=1∑TPr[A]
那么,只要在最初设定δ≜T21,就有t=1∑TPr[A]≤T⋅kT⋅T21=k
而当事件A发生时,总是成立
μ^i(t)+ci(t)≤(μi+ci(t))+ci(t)=μi+2ci(t)
μ^1(t)+c1(t)≥(μ1−c1(t))+c1(t)=μ1
因此,只要发生μi+2ci(t)<μ1,臂i就不可能被当前的第t轮选中(i=1)。其中,μi+2ci(t)<μ1当且仅当ci(t)<2Δi,也即2ni(t)ln(2/δ)≤2Δi,也即ni(t)≥Δi24ln(2t)。所以如果臂i被选中,也即如果μ^i(t)+ci(t)≥j=imax(μ^j(t)+cj(t)),就一定有ni(t)<Δi24ln(2t)。其中,ni(t)=s=1∑t1[as=i]=t=1∑T1[μ^i(t)+ci(t)≥j=imax(μ^j(t)+cj(t))]。那么:
==<t=1∑TPr[μ^i(t)+ci(t)≥j=imax(μ^j(t)+cj(t))∣A]E[t=1∑T1[μ^i(t)+ci(t)≥j=imax(μ^j(t)+cj(t))]∣A]E[ni(T)∣A]Δi24ln(2T)
至此,我们已经得到了R(T)的一个关于Δi的上界i∈[k]∑Δi4ln(2T)+ki∈[k]∑Δi。这个上界在Δi很小时可能会非常大。不过,当Δi很小时,其对regret的贡献也很小。我们可以采用truncation,分析如下:
将k个臂分为Δi≤Δ和Δi>Δ两组(其中,Δ是一个特别设定的阈值)。然后我们可以分别计算相应的regret如下:
R(T)=i=1∑kΔiE[ni(T)]=i:Δi≤Δ∑ΔiE[ni(T)]+i:Δi>Δ∑ΔiE[ni(T)]≤TΔ+i:Δi>Δ∑Δi(Δi24ln(2T)+k)≤TΔ+Δ4ln(2T)+k2
取Δ=T4kln(2T),我们有R(T)≤Θ(kTlnT)。
Multi-Armed Bandit问题的理论下界是Θ(kT)。UCB算法与之仍相差一个lnT的因子。
Reference
CS3936: Topics in Modern Algorithms, Lecture 4, Chihao Zhang, SJTU