文章目录

  • 前言
  • 算法优势
  • 算法原理
    • 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公式

有人问deta是怎么得到的:根据这个不等式,用deta表示epsilon得到第二个式子

UCB算法流程

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

  1. 臂i的t-1轮的奖励均值很大
  2. 臂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∑s​Xui​

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

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

我们定义一个好的事件为:

第一项:说明动作1的UCB值尚未收敛到它的理论均值
第二项:动作i的奖励上界小于动作1的奖励的理论均值
GiG_iGi​的定义揭露了两件事情:

  1. Ti(n)<=uiT_i(n) <= u_iTi​(n)<=ui​
  2. 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算法的理论证明相关推荐

  1. Algorithms学习笔记-第一章 基础

    #第一章 基础 标签(空格分隔): Algorithms学习笔记 文章目录 @[toc] 1.1 基础编程模型 1.1.1-1.1.8 主要是简述基本的java语法与概念 1.1.9 讲解了本书中自行 ...

  2. 【统计学习方法】学习笔记——EM算法及其推广

    统计学习方法学习笔记--EM算法及其推广 1. EM算法的引入 1.1 EM算法 1.2 EM算法的导出 1.3 EM算法在非监督学习中的应用 2. EM算法的收敛性 3. EM算法在高斯混合模型学习 ...

  3. 影像组学视频学习笔记(11)-支持向量机(SVM)(理论)、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(11)主要介绍: SVM支持向量机(理论) 支持向量机 (support vector machine, SVM) 号称是鲁棒性(rob ...

  4. c语言算法有效性,BerForest—C语言学习笔记-《算法》

    这是我学习C语言的笔记,也可以算是回忆录,反正有利于我的学习,也可以让C语言的新手借鉴. 许多人都在盲目的学习编程,其实学习编程无为就是学习一些编程语法.即使学会了,也不一定能够自己独立的编写出程序了 ...

  5. 【软件分析第12讲-学习笔记】可满足性模理论 Satisfiability Modulo Theories

    文章目录 前言 正文 从SAT到SMT SMT历史 z3求解器 SMT求解 命题逻辑.一阶逻辑和二阶逻辑 小结 参考文献 前言 创作开始时间:2022年11月16日16:18:59 如题,学习一下可满 ...

  6. 目标检测学习笔记--DSSD算法

    1. 论文笔记 1.1 YOLO网络结构 论文链接:http://cn.arxiv.org/pdf/1506.02640 1.2 SSD网络结构 论文链接:http://cn.arxiv.org/pd ...

  7. Algorithms学习笔记-Chapter0序言

    0.开篇 <Algorithms>源自Berkeley和UCSD课程讲义,由   Sanjoy Dasgupta / Christos H. Papadimitriou / Umesh V ...

  8. 【theano-windows】学习笔记二十——LSTM理论及实现

    前言 上一篇学习了RNN,也知道了在沿着时间线对上下文权重求梯度的时候,可能会导致梯度消失或者梯度爆炸,然后我们就得学习一波比较常见的优化方法之LSTM 国际惯例,参考网址: LSTM Network ...

  9. 吴恩达神经网络和深度学习-学习笔记-12-RMSprop算法

    全称是root mean square prop算法 我们假设纵轴方向为b,横轴方向为W.我么希望纵轴slow,横轴fast. 对于第t次迭代,公式如上图. 我们希望W方向fast,B方向slow,所 ...

最新文章

  1. 如何创建一个基础jQuery插件
  2. 让 PyTorch 更轻便,这款深度学习框架你值得拥有!在 GitHub 上斩获 6.6K 星
  3. ARP协议的报文格式
  4. 架构探险笔记7-事务管理简介
  5. C# lambda表达式及初始化器
  6. html提交按钮tab设置,html – 提交按钮没有集中,即使tabindex被正确设置
  7. css 百分比 怎么固定正方形_49 张 GIF 图中学习 49 个 CSS 知识点
  8. [UE4]增加机器人
  9. iOS - LocalNotification
  10. 【Java基础教程】用Java实现猜数字小游戏
  11. BeX5使用疑难总结
  12. SecureCRT SecureFx 绿色破解版
  13. uniapp的苹果全屏播放再退出会导致页面字体变大解决方法
  14. 苹果手机怎么更换微信视频铃声
  15. Photoshop学习(三十一):排版二寸图片
  16. 未转变者服务器买车指令,未转变者控制台指令大全_Unturned控制台指令大全及使用教程_牛游戏网...
  17. 送书 | 新书《Python量化金融编程从入门到精通》
  18. RStudio入门教程(二)RStudio数据处理
  19. iOS开发 长按按钮变色问题
  20. Ubuntu中搜狗输入法安装

热门文章

  1. 第四章、Tibbo Basic
  2. 星空璀璨,时光流逝,分享技术,记录生活——2016年11月22日
  3. 哈工大计算机854考研经验分享
  4. [bzoj4372]烁烁的游戏
  5. 中止执行后超过2年_中止两年终结本次执行吗
  6. matlab边角网间接平差计算,12.2测边网与边角网间接平差
  7. 计算机中丢失MSVCR120.dll,电脑找不到MSVCR120.dll怎么办
  8. CSA标准|《物联网安全规范》(征求意见稿)意见征集
  9. 前非著名程序员,现不知名产品人
  10. Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 19 declared in lib