文章目录
前言
笔者毕设研究的是Bandit问题,因此最近在学习相关的内容,想记录下学习的笔记主要涉及算法理论相关的知识,设计算法流程和公式推导。不太清楚Bandit问题的小伙伴可以阅读下面的资料作为入门。
https://zhuanlan.zhihu.com/p/38459055
https://lilianweng.github.io/lil-log/2018/01/23/the-multi-armed-bandit-problem-and-its-solutions.html
本节笔者将给大家讲解 UCB算法的流程和遗憾上界的推导,本文专注于理论的证明。算法优势
UCB算法对比ETC算法的优势在于:
- 它不依赖于对于次优间隙的先验知识
- 对于两个以上臂的赌博机表现更加优秀
算法原理
UCB公式
有人问deta是怎么得到的:根据这个不等式,用deta表示epsilon得到第二个式子
UCB算法流程
在探索阶段阶段,我们需要探索更多的臂的原因有:
- 臂i的t-1轮的奖励均值很大
- 臂i在t-1轮内被执行的次数很小,没有被充分探索
在臂i被执行足够多的次数之后,我们希望t-1轮内臂i的历史奖励均值能够趋近于它的理论均值。
当以下式子成立时,我们假设臂1是最优的臂,\delta 称为置信界:
相关定理及证明
定理7.1
对于k臂1-次高斯赌博机问题,对于任意n轮选择,如果
δ
=
1
/
n
2
\delta = 1/ n^2
δ=1/n2则采用上述UCB算法有遗憾上界如下:
证明
臂i前s次采样的平均奖励可以定义为
μ
i
s
=
1
/
s
∑
u
=
1
s
X
u
i
\mu_{is} = 1/s \sum_{u=1}^{s}X_{ui}
μis=1/su=1∑sXui
根据遗憾分解引理:有 R n = ∑ i = 1 k △ i E [ T i ( n ) ] R_n = \sum_{i = 1}^{k} \triangle_i \Epsilon[T_i(n)] Rn=i=1∑k△iE[Ti(n)],算法要求我们至少对每个动作的至少执行一次,动作i的UCB值大于最优动作的UCB值时,动作i会被选取,此时一下至少有一项发生,
- 动作i的UCB值大于最优动作的理论均值
- 最优动作的UCB小于它的理论均值
我们定义一个好的事件为:
第一项:说明动作1的UCB值尚未收敛到它的理论均值
第二项:动作i的奖励上界小于动作1的奖励的理论均值
G_i的定义揭露了两件事情:
- T_i(n) <= u_i
- G_i^c 以较低的概率发生
因此前n轮动作i执行的次数的期望可以分解为(*)式:
事件1可以用反证法证明,此处略。
定义完G_i之后,G_i^c定义为它的补集:
接下来,我们将上式拆成两项进行分析。
分析第一项:根据UCB的定义,我们能够得到,
\mu_1大于等于n轮内动作1UCB值的最小值的集合就真包含于n轮内\mu_1大于等于动作1的UCB值的并集。
由上式得到如下如下不等式,最后一项采用置信度\delta的定义进行放缩:
分析第二项:
我们假设(**)式:
结合次优间隙的定义:
μ
1
=
μ
i
+
△
i
\mu_1 = \mu_i + \triangle_i
μ1=μi+△i,得到如下不等式:
前两项我们容易理解,是简单的代入,最后一项用了霍夫丁引理进行放缩。
结合一、二两项,我们容易得到G_i^c发生的概率为:
把它代入(*)式得到(***)式:
我们再将(**)式变形得到:
最后,我们假设
δ
=
1
/
n
2
\delta = 1/ n^2
δ=1/n2并将上式代入(***)式并化简:
不难看出最后一项是小于1的,因为
2
c
2
/
(
1
−
c
)
2
2c^2 / (1-c)^2
2c2/(1−c)2大于等于1。如果c趋近于1那么第一项会趋近于无穷大,因此我们选择代入c等于1/2,最终得到前n轮动作i执行的次数的期望的上界为:
定理7.1证明完毕。
定理7.2
如果
δ
=
1
/
n
2
\delta = 1/ n^2
δ=1/n2,对于1-次高斯环境采用UCB算法的遗憾上界为:
证明
根据遗憾分解引理,遗憾可以定义为:
定理7.1中我们已经证明得到
代入遗憾的定义式可以得到:
最后一步用到高中数学中常见的
a
x
+
b
/
x
≥
2
a
b
ax + b/ x \geq 2\sqrt{ab}
ax+b/x≥2ab当且仅当
a
x
=
b
/
x
ax = b/ x
ax=b/x时等式去到最大。
证明完毕。
总结
本文中,笔者介绍了UCB算法的流程以及相关定理的理论证明。由于笔者也是在学习过程中,有任何不对的地方或者值得探讨的地方欢迎大家在评论区留言。如果本文对大家有所帮助欢迎点赞收藏~
接下来的文章中,笔者将开启对抗式赌博机的学习,分享包括EXP3等相关算法的学习笔记。
参考资料
《Bandit Algorithms》一本专门研究Bandit问题的书籍,第七章。