汤普森采样—Thompson Sampling 之概念篇

关键词:机器学习,在线学习,人工智能,强化学习
如果你已经熟悉了概念可以直接看代码篇:

【算法应用】Thompson Sampling–汤普森采样应用之代码篇 (Python)

1.简介

汤普森采样是最早由William R. Thompson在1933年提出。最初Thompson在研究两种药物,他想要在尽量少的给病人次优的情况下研究出来哪一种最好。试着试着他就整出来一个客观的选样法,也就是汤普森采样的雏形。而在这之后又不断地有科学家研究该采样方法,并且延伸到很多实用问题上。

2.概念

2.1模型概念

这里用一个流程表示Thompson Sampling 的原理:
a.为每一个可能的选项建立一个贝塔分布(Beta Distribution),在有先验性经验的情况下可调整其中参数α与β的初始值,这里我们举例α与β的初始值都为1(Uniform Distribution)。
b.使每个贝塔分布产生一个随机数值。
c.选择所得结果中最大值为本次选项。
d.根据实验结果调整参数,即α与β。
e.重复整个过程

这里我们第一轮的beta值中,A是最大的,那么我们选择A为本次的选项并获得了回报值1,更新A的模型即增加α的值为2。那么在第2轮中,A的贝塔值就更容易产出一个较大的数。反之我们会增加β的值,A的贝塔值就会比较容易产出一个较小的数。

简单吧? 上图!

简单来说α小于β时,图像就被往左push,给出的结果也就偏小。
α大于β时,图像就被往右push,给出的结果也就偏大。

f(α,β;x)=Γ(α+β)Γ(α)Γ(β)xα−1(1−x)β−1f(\alpha ,\beta ;x)=\frac{\Gamma (\alpha +\beta )}{\Gamma (\alpha )\Gamma (\beta )} x^{\alpha -1}(1-x)^{\beta -1} f(α,β;x)=Γ(α)Γ(β)Γ(α+β)​xα−1(1−x)β−1
贝塔分布-Beta Distribution 不会也没什么关系

【算法】如何根据算法在赌场发家致富?汤普森采样之多臂强盗算法!相关推荐

  1. 机械臂运动学算法c语言,6轴工业机械臂运动学算法(C++) 六轴机械臂运动学源码 - 下载 - 搜珍网...

    6轴工业机械臂运动学算法 6轴工业机械臂运动学算法\.cproject 6轴工业机械臂运动学算法\.project 6轴工业机械臂运动学算法\.settings 6轴工业机械臂运动学算法\.setti ...

  2. matlab 随机森林算法_(六)如何利用Python从头开始实现随机森林算法

    博客地址:https://blog.csdn.net/CoderPai/article/details/96499505 点击阅读原文,更好的阅读体验 CoderPai 是一个专注于人工智能在量化交易 ...

  3. halcon机器视觉算法原理与编程实战_快速弄懂机器学习里的集成算法:原理、框架与实战...

    作者:  博观厚积 简书专栏:https://www.jianshu.com/u/2f376f777ef1 1. 关于集成学习算法 集成学习算法,通俗地讲就是:三个臭皮匠,顶个诸葛亮,这在很多地方都有 ...

  4. labuladong的算法小抄pdf_真漂亮!这份GitHub上爆火的算法面试笔记,助你圆满大厂梦...

    前言 Github作为程序员们的后花园,一直以来都是程序员最喜欢逛逛.学习的地方,小编也不例外,最近看到一份对标BAT等一线大厂的算法面试笔记,已经标星68+K了,很是惊讶,看了一下,觉得知识点整理得 ...

  5. 序列复杂度怎么看_《趣学算法》作者又一力作上架,再分享您一篇算法复杂度...

    不知道读者们有没有看过陈小玉的<趣学算法>这本书,该书在出版后受到广大读者一致好评,在一年内重印了10次,并输出了繁体版的版权.不知道读过这本书的朋友们感觉第一本怎么样?欢迎留言给我们.接 ...

  6. 多目标人工秃鹫优化算法(MATLAB源码分享,智能优化算法) 提出了一种多目标版本的人工秃鹫优化算法(AVOA)

    多目标人工秃鹫优化算法(MATLAB源码分享,智能优化算法) 提出了一种多目标版本的人工秃鹫优化算法(AVOA),用于多目标优化问题. AVOA的灵感来源于非洲秃鹫的生活方式. 档案.网格和领导者选择 ...

  7. 经典数据挖掘算法(介绍了包括18大数据挖掘在内的多种经典数据挖掘算法)

    前言 文章标题的两个概念也许对于许多同学们来说都相对比较陌生,都比较偏向于于理论方面的知识,但是这个算法非常的强大,在很多方面都会存在他的影子.2个概念,1个维特比算法,1个隐马尔可夫模型.你很难想象 ...

  8. python kayb算法之从一组序列当中获取一组与目标值最接近的算法

    python  kayb算法之从一组序列当中获取一组与目标值最接近的算法 思想: 1.考虑所有序列当中的所有元素相遇的情况进行迭代 2.在迭代过程当中维护一个与目标数值的最小差值 3.在迭代完之后剩余 ...

  9. python算法工程师书籍_在自学的情况下如何成为一名算法工程师?

    先尝试回答题主的问题:1.在两年的时间里是否能够通过自学达到算法工程师的要求? 答案:两年时间应该是比较充足的,足以在学校里面看完周志华的<机器学习>和深度学习的花书或者其他的机器学习类书 ...

最新文章

  1. 浮动元素会引起的问题和你的解决办法
  2. x86的cpu处理int类型并不是处理char高效多少
  3. u盘最大单个文件支持多少g_为什么32G的U盘却存了不4G的文件,原因很简单
  4. spring初始化相关
  5. 一方包,二方包,三方包的区别
  6. mysq由于主键冲突导致主从不同步
  7. ~~筛法求欧拉函数(附模板题)
  8. 在layoutsubviews中设置子控件的frame,保证执行alpha和frame动画流畅度
  9. Java中使用poi导入、导出Excel
  10. Data Visualization [--0]
  11. npy文件的处理方式
  12. NERO8注册码序列号
  13. 计算机三级网络技术-----DHCP报文分析
  14. 没文化 真可怕!【新汉语字典小程序】来拯救你!
  15. python正态分布函数_用python求标准正态分布的上α分位点
  16. 单元识别码是什么意思_NLPer入门指南 | 完美第一步
  17. 中国科学技术大学计算机考研难吗,中国科学技术大学(专业学位)计算机技术考研难吗...
  18. GNN论文周报 | 来自西湖大学、南京大学、国防科大、华为诺亚方舟实验室、莱斯大学等机构前沿论文研究...
  19. spidermonkey php,javascript SpiderMonkey中的函数序列化如何进行_基础知识
  20. 【下载查询资料】资料链接_liangchaoxi的IT博客_新浪博客

热门文章

  1. c语言 macro,C/C++中宏/Macro的深入讲解
  2. 赣州服务器系统,赣州服务器费用
  3. 教你一招,解决头疼的DCOM配置问题
  4. C++实现FCFS调度算法
  5. 福布斯:区块链可能改善房地产市场的五种方式
  6. 用C# OpenGL渲染魔兽世界地图系列(一) 魔兽世界地图介绍与OpenGL环境
  7. 前端歌谣的刷题之路-第一百三十九题-flex-order
  8. 瑞利分布与卡方分布的联系
  9. 电商平台按关键词搜索天猫商品接口调用展示
  10. 《JavaWeb从入门到改行》JDBC经典秘方QueryRunner