Probabilistic in Robotics Ⅱ: Bayesian Estimation/Inference

统计推断旨在根据可观察到的事物来了解不可观察到的事物。即,统计推断是基于一个总体或一些样本中的某些观察变量(通常是影响)得出结论的过程,例如关于总体或样本中某些潜在变量(通常是原因)的准时估计、置信区间或区间估计等。

先前我们已经介绍了最大似然估计MLE和最大后验概率估计MAP

刘浚嘉:机器人学的概率方法——最大似然估计MLE与最大后验概率估计MAP​zhuanlan.zhihu.com

贝叶斯估计/推断

贝叶斯估计(Bayesian Estimation)贝叶斯推断(Bayesian Inference)大致是一个意思,Inference范围更大一点,包括区间估计、假设检验等;Estimation则更倾向于指参数估计。
—— polimi 某统计大佬

我们在上一章强调贝叶斯派与频率派世界观差异的时候,着重描述了贝叶斯派对于参数是随机变量的看法,然而最大后验概率估计MAP得到的值却是个定值

,是参数这个变量概率分布中的一个特定点。这听起来没有很好的贯彻贝叶斯派的精神。

贝叶斯推断是个更彻底的贝叶斯派,是MAP的进一步扩展。不再估计一个特定的参数

,而是要估计它的

分布

在贝叶斯推断中,样本经验分布

不再被省略,因为这不再是专门对参数
的估计。

离散型贝叶斯公式:

连续型贝叶斯公式:

很明显,这并不是一个好处理的公式,尤其是连续型的分母(归一化因子

(全概率公式展开,还记得吗 )

手算贝叶斯推断

我们先试着做做,还是之前的扔硬币,不过样本变了点,正六反四:

以下内容来自贝叶斯估计、最大似然估计、最大后验概率估计

使用共轭先验分布,就可以更好的解决这个问题。二项分布参数的共轭先验是Beta分布,由于 θ 的似然函数服从二项分布,因此在贝叶斯推断中,假设 θ 的先验分布服从

,Beta分布的概率密度公式为:

因此,贝叶斯公式可写作:

从上面的公式可以看出,

。其中 B 函数,也称Beta函数,是一个标准化常量,用来使整个概率的积分为1。
就是贝叶斯推断的结果。

如果使用贝叶斯推断得到的 θ 分布存在一个有限均值,则可以用后验分布的期望作为 θ 的估计值。假设

,在这种情况下,先验分布会在0.5处取得最大值,则
,Beta(θ|9,7)的曲线如下图:

从上图可以看出,在

的情况下,θ的估计值
应该在0.6附近。根据Beta分布的数学期望公式
,我们可以和MAP一样求出一个参数的特值:

求解步骤:

  • 确定参数的似然函数
  • 确定参数的先验分布,应是后验分布的共轭先验
  • 确定参数的后验分布函数
  • 根据贝叶斯公式求解参数的后验分布

对测试集的估计

这个功能是贝叶斯推断独有的。贝叶斯估计要解决的不是如何估计参数,而是用来估计新测量数据出现的概率,对于新出现的数据

那么实际项目中,我们如何计算贝叶斯推断呢?

  • 基于采样马尔可夫链蒙特卡罗(Markov Chain Monte Carlo,简称MCMC)方法
  • 基于近似变分推断(Variational Inference,简称VI)方法

刘浚嘉:PR Sampling Ⅰ: 重要性采样及python实现​zhuanlan.zhihu.com

更多系列文章见关联库

Reinforcement-Learning-in-Robotics​github.com

Reference

  1. Bayesian inference problem, MCMC and variational inference
  2. 贝叶斯估计、最大似然估计、最大后验概率估计

最大后验估计_PR Ⅱ:贝叶斯估计/推断及其与MAP的区别相关推荐

  1. 最大似然估计,最大后验估计,贝叶斯估计联系与区别

    项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star,留言,一起学习进步 1.什么是参数 在机器学习中,我们经常 ...

  2. 机器学习中的数学——点估计(四):最大后验估计(Maximum Posteriori Probability,MAP)

    分类目录:<机器学习中的数学>总目录 相关文章: · 点估计(一):基础知识 · 点估计(二):矩估计 · 点估计(三):极大似然估计/最大似然估计(Maximum Likelihood ...

  3. [JS] for-each和map()的区别

    先说下for-each与for-of还有for-in的区别. for-of和for-in都是对对象操作的,而for-each和map()是对数组进行操作的. for-in的使用:对于一个数组里的每一个 ...

  4. JS数组中 forEach() 和 map() 的区别

    JS数组中 forEach() 和 map() 的区别 Array中 Array.forEach()和 Array.map()方法之间的区别. forEach()和map()方法通常用于遍历Array ...

  5. C++中的hash_map和map的区别

    1)为什么需要hash_map /* 例如: 我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑 张三丰-武当掌门人,太极拳创始人 东方不败-第一高手,葵 ...

  6. 浅谈Java中的Set、List、Map的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...

  7. List Set Map的区别

    List Set Map各自实现类区别以及底层原理和实现 最新总结 List Set Map的区别 结构不同 List 和 Set 是存储单列数据的集合,Map 是存储键和值这样的双列数据的集合:Li ...

  8. java list set map的区别_Java集合类List/Set/Map的区别和联系

    Java集合类List/Set/Map的区别和联系 一.Array , Arrays Java所有"存储及随机访问一连串对象"的做法,array是最有效率的一种. 1. 效率高,但 ...

  9. stl中unordered_map 和 map的区别 ?

    stl中unordered_map 和 map的区别 目录 一.hash_map与unordered_map 二.unordered_map与map 三.unordered_map与unordered ...

最新文章

  1. 聚类Clustering
  2. Windows 11 正式官宣:全新 UI、支持安卓 App、应用商店 0 抽成!
  3. 数据结构【图】—024最小生成树
  4. PHP QQ 登录接口应用
  5. XiaoluD的留言板
  6. 每日一皮:客户期望 vs 最终产品
  7. 11个三相异步电动机常见故障与维修方法。
  8. 科大星云诗社动态20210831
  9. dtm文件生成等高线 lisp_南方cass如何用图面高程点生成等高线
  10. 期望最大化(EM)算法真如用起来那么简单?
  11. Python笔记-Flask框架Get和Post参数相关
  12. java导出word文档_PHPWord导出word文档
  13. matlab安装软件 Matlab视频教程李大勇 MATLAB程序开发入门课程 MATLAB神经网络30个案例分析及源程序
  14. 勤哲excel服务器端口协议,勤哲Excel服务器技术支持|Excel服务器常见问题解答
  15. 没有电脑没有手机没有网络没有爱情——纪念我的电子科技大学九里堤校区大一生活
  16. alsa buffer原理_ALSA driver--HW Buffer
  17. python机器学习——加州房价模型验证
  18. GitLab上传文件教程
  19. 解决lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 网络连接不通
  20. 关于Gradle新版插件依赖方式

热门文章

  1. 出现Press ENTER or type command to continue的原因
  2. 异常--自定义异常类
  3. jQuery学习- 位置选择器
  4. Node开发文件上传系统及向七牛云存储和亚马逊AWS S3的文件上传
  5. [译] 前端组件设计原则
  6. 最有效的创建大数据模型的6个技巧
  7. Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)...
  8. 3.AngularJS-过滤器
  9. 在思科无线控制器上查看5GHz和2.4GHz的客户端数量
  10. scikit-learn点滴