【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算法的优势在于:
- 它不依赖于对于次优间隙的先验知识
- 对于两个以上臂的赌博机表现更加优秀
算法原理
UCB公式
有人问deta是怎么得到的:根据这个不等式,用deta表示epsilon得到第二个式子
UCB算法流程
在探索阶段阶段,我们需要探索更多的臂的原因有:
- 臂i的t-1轮的奖励均值很大
- 臂i在t-1轮内被执行的次数很小,没有被充分探索
在臂i被执行足够多的次数之后,我们希望t-1轮内臂i的历史奖励均值能够趋近于它的理论均值。
当以下式子成立时,我们假设臂1是最优的臂,δ\deltaδ 称为置信界:
相关定理及证明
定理7.1
对于k臂1-次高斯赌博机问题,对于任意n轮选择,如果δ=1/n2\delta = 1/ n^2δ=1/n2则采用上述UCB算法有遗憾上界如下:
证明
臂i前s次采样的平均奖励可以定义为:
μis=1/s∑u=1sXui\mu_{is} = 1/s \sum_{u=1}^{s}X_{ui}μis=1/su=1∑sXui
根据遗憾分解引理:有Rn=∑i=1k△iE[Ti(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的奖励的理论均值
GiG_iGi的定义揭露了两件事情:
- Ti(n)<=uiT_i(n) <= u_iTi(n)<=ui
- Gic以较低的概率发生G_i^c 以较低的概率发生Gic以较低的概率发生
因此前n轮动作i执行的次数的期望可以分解为(*)式:
事件1可以用反证法证明,此处略。
定义完GiG_iGi之后,GicG_i^cGic定义为它的补集:
接下来,我们将上式拆成两项进行分析。
分析第一项:根据UCB的定义,我们能够得到,
μ1\mu_1μ1大于等于n轮内动作1UCB值的最小值的集合就真包含于n轮内μ1\mu_1μ1大于等于动作1的UCB值的并集。
由上式得到如下如下不等式,最后一项采用置信度δ\deltaδ的定义进行放缩:
分析第二项:
我们假设(**)式:
结合次优间隙的定义:μ1=μi+△i\mu_1 = \mu_i + \triangle_iμ1=μi+△i,得到如下不等式:
前两项我们容易理解,是简单的代入,最后一项用了霍夫丁引理进行放缩。
结合一、二两项,我们容易得到GicG_i^cGic发生的概率为:
把它代入(*)式得到(***)式:
我们再将(**)式变形得到:
最后,我们假设δ=1/n2\delta = 1/ n^2δ=1/n2并将上式代入(***)式并化简:
不难看出最后一项是小于1的,因为2c2/(1−c)22c^2 / (1-c)^22c2/(1−c)2大于等于1。如果c趋近于1那么第一项会趋近于无穷大,因此我们选择代入c等于1/2,最终得到前n轮动作i执行的次数的期望的上界为:
定理7.1证明完毕。
定理7.2
如果δ=1/n2\delta = 1/ n^2δ=1/n2,对于1-次高斯环境采用UCB算法的遗憾上界为:
证明
根据遗憾分解引理,遗憾可以定义为:
定理7.1中我们已经证明得到
代入遗憾的定义式可以得到:
最后一步用到高中数学中常见的ax+b/x≥2abax + b/ x \geq 2\sqrt{ab}ax+b/x≥2ab当且仅当ax=b/xax = b/ xax=b/x时等式去到最大。
证明完毕。
总结
本文中,笔者介绍了UCB算法的流程以及相关定理的理论证明。由于笔者也是在学习过程中,有任何不对的地方或者值得探讨的地方欢迎大家在评论区留言。如果本文对大家有所帮助欢迎点赞收藏~
接下来的文章中,笔者将开启对抗式赌博机的学习,分享包括EXP3等相关算法的学习笔记。
参考资料
《Bandit Algorithms》一本专门研究Bandit问题的书籍,第七章。
【Bandit Algorithms学习笔记】UCB算法的理论证明相关推荐
- Algorithms学习笔记-第一章 基础
#第一章 基础 标签(空格分隔): Algorithms学习笔记 文章目录 @[toc] 1.1 基础编程模型 1.1.1-1.1.8 主要是简述基本的java语法与概念 1.1.9 讲解了本书中自行 ...
- 【统计学习方法】学习笔记——EM算法及其推广
统计学习方法学习笔记--EM算法及其推广 1. EM算法的引入 1.1 EM算法 1.2 EM算法的导出 1.3 EM算法在非监督学习中的应用 2. EM算法的收敛性 3. EM算法在高斯混合模型学习 ...
- 影像组学视频学习笔记(11)-支持向量机(SVM)(理论)、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(11)主要介绍: SVM支持向量机(理论) 支持向量机 (support vector machine, SVM) 号称是鲁棒性(rob ...
- c语言算法有效性,BerForest—C语言学习笔记-《算法》
这是我学习C语言的笔记,也可以算是回忆录,反正有利于我的学习,也可以让C语言的新手借鉴. 许多人都在盲目的学习编程,其实学习编程无为就是学习一些编程语法.即使学会了,也不一定能够自己独立的编写出程序了 ...
- 【软件分析第12讲-学习笔记】可满足性模理论 Satisfiability Modulo Theories
文章目录 前言 正文 从SAT到SMT SMT历史 z3求解器 SMT求解 命题逻辑.一阶逻辑和二阶逻辑 小结 参考文献 前言 创作开始时间:2022年11月16日16:18:59 如题,学习一下可满 ...
- 目标检测学习笔记--DSSD算法
1. 论文笔记 1.1 YOLO网络结构 论文链接:http://cn.arxiv.org/pdf/1506.02640 1.2 SSD网络结构 论文链接:http://cn.arxiv.org/pd ...
- Algorithms学习笔记-Chapter0序言
0.开篇 <Algorithms>源自Berkeley和UCSD课程讲义,由 Sanjoy Dasgupta / Christos H. Papadimitriou / Umesh V ...
- 【theano-windows】学习笔记二十——LSTM理论及实现
前言 上一篇学习了RNN,也知道了在沿着时间线对上下文权重求梯度的时候,可能会导致梯度消失或者梯度爆炸,然后我们就得学习一波比较常见的优化方法之LSTM 国际惯例,参考网址: LSTM Network ...
- 吴恩达神经网络和深度学习-学习笔记-12-RMSprop算法
全称是root mean square prop算法 我们假设纵轴方向为b,横轴方向为W.我么希望纵轴slow,横轴fast. 对于第t次迭代,公式如上图. 我们希望W方向fast,B方向slow,所 ...
最新文章
- 如何创建一个基础jQuery插件
- 让 PyTorch 更轻便,这款深度学习框架你值得拥有!在 GitHub 上斩获 6.6K 星
- ARP协议的报文格式
- 架构探险笔记7-事务管理简介
- C# lambda表达式及初始化器
- html提交按钮tab设置,html – 提交按钮没有集中,即使tabindex被正确设置
- css 百分比 怎么固定正方形_49 张 GIF 图中学习 49 个 CSS 知识点
- [UE4]增加机器人
- iOS - LocalNotification
- 【Java基础教程】用Java实现猜数字小游戏
- BeX5使用疑难总结
- SecureCRT SecureFx 绿色破解版
- uniapp的苹果全屏播放再退出会导致页面字体变大解决方法
- 苹果手机怎么更换微信视频铃声
- Photoshop学习(三十一):排版二寸图片
- 未转变者服务器买车指令,未转变者控制台指令大全_Unturned控制台指令大全及使用教程_牛游戏网...
- 送书 | 新书《Python量化金融编程从入门到精通》
- RStudio入门教程(二)RStudio数据处理
- iOS开发 长按按钮变色问题
- Ubuntu中搜狗输入法安装
热门文章
- 第四章、Tibbo Basic
- 星空璀璨,时光流逝,分享技术,记录生活——2016年11月22日
- 哈工大计算机854考研经验分享
- [bzoj4372]烁烁的游戏
- 中止执行后超过2年_中止两年终结本次执行吗
- matlab边角网间接平差计算,12.2测边网与边角网间接平差
- 计算机中丢失MSVCR120.dll,电脑找不到MSVCR120.dll怎么办
- CSA标准|《物联网安全规范》(征求意见稿)意见征集
- 前非著名程序员,现不知名产品人
- Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 19 declared in lib