多臂赌博机3
在上两节我们讨论的UCB系列算法面对的情况是静态的,即各臂的分布参数不会改变,于是我们就"乐观地面对不确定性"–根据采样平均值尽快地确定那个最好的臂.
但是在现实世界中收益结构是更复杂的,非静态的.特别是当它涉及到竞争的场景,如股票交易.我们称之为对抗模式多臂赌博机(adversarial bandit)
问题
数学化的问题描述可以参考第一节.
但是对于奖励矢量,有些异同:
- 它和静态时一样,必须是预先固定的.
- 各臂奖励期望随着轮数是变化的(准确地说是没有期望,或者说期望被对手动了手脚)
这时我们可以思考这种情况:对手能否总把参与者下一次的收益设为零?
定义
回想之前的UCB策略形成过程,我们的目标是尽快地选择那个期望最大的臂,并计算其与期望最大臂实际给出的奖励的差值作为遗憾.
现在我们的目标更复杂了:我们知道臂的统计参数是变化的!!! 我们显然不能指望选择总选择那个采样平均最大的臂了.
所以这里的策略也应该改变: 它是一种选择序列,虽然UCB最终也是给出一个序列,但是那个序列最终是收敛
的,而现在的序列是不收敛
的.
定义:策略序列和收益 策略A给定一个选择序列$\vec{j}=(j_1,\ldots,j_t)$,在$t$轮后总的收益是: $$ G_A(t)=G_{\vec{j}}(t)=\sum_s^t X_{j_s}(s) $$
那么我们用什么来作为理想状态呢? 当然是我们知道全部的奖励结果时.但是显然, 这是的遗憾太强了, 想想看,我们在静态时(UCB)都没这么做.
所以我们需要定义一个弱的遗憾,类似于UCB(同一个作者提出的嘛),我们定义理想状态是那个最佳单操作,即那些最蠢的操作里面最好的那个操作(总选择一个臂).
定义:弱遗憾$R_A(T)$为: $$ R_A(T)=G_{\max}(T)-G_A(T)=(\max\sum_{t=1}^T X_i(t))-\mathbb(G_A(T)) $$
EXP3
为什么叫EXP3? 因为是Exponential-weight algorithm for Exploration and Exploitation的缩写,指的是勘探和开发的指数权重算法.
EXP3算法 设置$\gamma\in [0,1]$,初始化权重因子$\omega_i(1)=1, i=1,\ldots,K$ 每一轮$t$:
- $p_i(t)=(1-\gamma)\frac{\omega_i(t)}{\sum_{j=1}^{K}\omega_j(t)}+\frac{\gamma}{K}$
- 根据$p_i(t)$的分布随机生成$i_t$作为下一次选择的臂
- 定义估计量$ \hat{X}(t) = X_{i_t}(t)/p_{i_t}(t)$
- 更新选中臂的权重因子$\omega_{i_t}(t+1)=\omega_{i_t}(t)\exp (\gamma \hat{X}_{i_t}(t)/K)$, 其它臂$\omega_j(t+1)=\omega_j(t)$
那么它的弱遗憾是对数增长的:
定理 对于EXP算法,在任意的轮数$T$下,其遗憾的期望满足 $$ R_A(T)\le (e-1)\gamma G_{\max}(T)+\frac{K\ln K}{\gamma} $$ 证明从略.
这里问题来了,我们应该怎么选择$\gamma$呢?
推论 如果$G_{\max}(T)\le g$,则$\gamma=\min(1,\sqrt{\frac{K\ln K}{(e-1)g}})$
- 原文作者:mlyixi
- 原文链接:https://mlyixi.github.io/post/ml/%E5%A4%9A%E8%87%82%E8%B5%8C%E5%8D%9A%E6%9C%BA3/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。