【Bandit Algorithms学习笔记】UCB算法的理论证明

文章目录

  • 前言
  • 算法优势
  • 算法原理
    • UCB公式
    • UCB算法流程
  • 相关定理及证明
    • 定理7.1
    • 证明
    • 定理7.2
    • 证明
  • 总结
  • 参考资料


前言

笔者毕设研究的是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算法的优势在于:

  1. 它不依赖于对于次优间隙的先验知识
  2. 对于两个以上臂的赌博机表现更加优秀

算法原理

UCB公式

【Bandit Algorithms学习笔记】UCB算法的理论证明_第1张图片

有人问deta是怎么得到的:根据这个不等式,用deta表示epsilon得到第二个式子
【Bandit Algorithms学习笔记】UCB算法的理论证明_第2张图片
【Bandit Algorithms学习笔记】UCB算法的理论证明_第3张图片

UCB算法流程

【Bandit Algorithms学习笔记】UCB算法的理论证明_第4张图片

在探索阶段阶段,我们需要探索更多的臂的原因有:

  1. 臂i的t-1轮的奖励均值很大
  2. 臂i在t-1轮内被执行的次数很小,没有被充分探索

在臂i被执行足够多的次数之后,我们希望t-1轮内臂i的历史奖励均值能够趋近于它的理论均值。
当以下式子成立时,我们假设臂1是最优的臂, δ \delta δ 称为置信界:
在这里插入图片描述

相关定理及证明

定理7.1

对于k臂1-次高斯赌博机问题,对于任意n轮选择,如果 δ = 1 / n 2 \delta = 1/ n^2 δ=1/n2则采用上述UCB算法有遗憾上界如下:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第5张图片

证明

臂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=1sXui

根据遗憾分解引理:有 R n = ∑ i = 1 k △ i E [ T i ( n ) ] R_n = \sum_{i = 1}^{k} \triangle_i \Epsilon[T_i(n)] Rn=i=1kiE[Ti(n)],算法要求我们至少对每个动作的至少执行一次,动作i的UCB值大于最优动作的UCB值时,动作i会被选取,此时一下至少有一项发生,

  1. 动作i的UCB值大于最优动作的理论均值
  2. 最优动作的UCB小于它的理论均值

我们定义一个好的事件为:
在这里插入图片描述
第一项:说明动作1的UCB值尚未收敛到它的理论均值
第二项:动作i的奖励上界小于动作1的奖励的理论均值
G i G_i Gi的定义揭露了两件事情:

  1. T i ( n ) < = u i T_i(n) <= u_i Ti(n)<=ui
  2. G i c 以 较 低 的 概 率 发 生 G_i^c 以较低的概率发生 Gic

因此前n轮动作i执行的次数的期望可以分解为(*)式:
在这里插入图片描述
事件1可以用反证法证明,此处略。

定义完 G i G_i Gi之后, G i c G_i^c Gic定义为它的补集:
在这里插入图片描述
接下来,我们将上式拆成两项进行分析。
分析第一项:根据UCB的定义,我们能够得到,
【Bandit Algorithms学习笔记】UCB算法的理论证明_第6张图片
μ 1 \mu_1 μ1大于等于n轮内动作1UCB值的最小值的集合就真包含于n轮内 μ 1 \mu_1 μ1大于等于动作1的UCB值的并集。
由上式得到如下如下不等式,最后一项采用置信度 δ \delta δ的定义进行放缩:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第7张图片
分析第二项:
我们假设(**)式:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第8张图片
结合次优间隙的定义: μ 1 = μ i + △ i \mu_1 = \mu_i + \triangle_i μ1=μi+i,得到如下不等式:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第9张图片
前两项我们容易理解,是简单的代入,最后一项用了霍夫丁引理进行放缩。
结合一、二两项,我们容易得到 G i c G_i^c Gic发生的概率为:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第10张图片
把它代入(*)式得到(***)式:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第11张图片
我们再将(**)式变形得到:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第12张图片
最后,我们假设 δ = 1 / n 2 \delta = 1/ n^2 δ=1/n2并将上式代入(***)式并化简:
在这里插入图片描述
不难看出最后一项是小于1的,因为 2 c 2 / ( 1 − c ) 2 2c^2 / (1-c)^2 2c2/(1c)2大于等于1。如果c趋近于1那么第一项会趋近于无穷大,因此我们选择代入c等于1/2,最终得到前n轮动作i执行的次数的期望的上界为:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第13张图片
定理7.1证明完毕。

定理7.2

如果 δ = 1 / n 2 \delta = 1/ n^2 δ=1/n2,对于1-次高斯环境采用UCB算法的遗憾上界为:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第14张图片

证明

根据遗憾分解引理,遗憾可以定义为:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第15张图片
定理7.1中我们已经证明得到
【Bandit Algorithms学习笔记】UCB算法的理论证明_第16张图片

代入遗憾的定义式可以得到:
【Bandit Algorithms学习笔记】UCB算法的理论证明_第17张图片
最后一步用到高中数学中常见的 a x + b / x ≥ 2 a b ax + b/ x \geq 2\sqrt{ab} ax+b/x2ab 当且仅当 a x = b / x ax = b/ x ax=b/x时等式去到最大。
证明完毕。

总结

本文中,笔者介绍了UCB算法的流程以及相关定理的理论证明。由于笔者也是在学习过程中,有任何不对的地方或者值得探讨的地方欢迎大家在评论区留言。如果本文对大家有所帮助欢迎点赞收藏~
接下来的文章中,笔者将开启对抗式赌博机的学习,分享包括EXP3等相关算法的学习笔记。

参考资料

《Bandit Algorithms》一本专门研究Bandit问题的书籍,第七章。

你可能感兴趣的:(人工智能,机器学习,算法)