贝叶斯统计学习笔记|Bayesian Statistics|Metropolis-Hastings与Gibbs Sampling

(一) Metropolis-Hastings(MH)

现要从目标分布p(θ)∝g(θ)p(\theta)\propto g(\theta)p(θ)∝g(θ)中抽样,MH算法的思想是:构建一个马氏链,其平稳分布就是目标分布。在构建时,我们首先随机选取一个初始值,从另一个更容易抽样的分布中将抽取出的样本作为候选,进行接受或拒绝操作,所得的马氏链收敛于目标分布,如此也就得到了后验分布的样本(posterior samples)。

MH算法的过程如下:

  1. 选取初始值θ0\theta_0θ0​
  2. 对i=1,...,mi=1,...,mi=1,...,m,重复如下操作:
    (1)从proposal distribution q(θ∗∣θi−1)q(\theta^{*}| \theta_{i-1})q(θ∗∣θi−1​)中抽取一个候选样本θ∗\theta^{*}θ∗
    (2)计算接受率α\alphaα:
    α=g(θ∗)/q(θ∗∣θi−1)g(θi−1)/q(θi−1∣θ∗)\alpha = \frac{g(\theta^{*}) /q(\theta^{*}| \theta_{i-1})}{g(\theta_{i-1}) /q(\theta_{i-1}| \theta^{*})}α=g(θi−1​)/q(θi−1​∣θ∗)g(θ∗)/q(θ∗∣θi−1​)​
    (3)接受或拒绝候选样本(规则如下):
    \quad若α≥1\alpha \geq1α≥1,则令θi=θ∗\theta_{i}=\theta^{*}θi​=θ∗(即接受候选样本);
    \quad若α<1\alpha <1α<1,则
    \qquad θi=θ∗\theta_{i}=\theta^{*}θi​=θ∗ with prob α\alphaα
    \qquad θi=θi−1\theta_{i}=\theta_{i-1}θi​=θi−1​ with prob 1−α1-\alpha1−α

上述过程中的proposal distribution是人为选择、更方便抽样的分布,由于分布q不同于目标分布p,因此MH算法中的接受/拒绝操作可以看做是对分布q的一种修正。对于马氏链的每一步,我们或者拒绝、或者接受候选样本,其规则取决于接受率α\alphaα的大小。如果我们跳过这种筛选机制,每一步都接受候选样本,那么显而易见,所得到的最终结果并非是对目标分布p而是分布q的蒙特卡洛模拟。

例子:已知一枚不均匀的硬币出现正面概率为0.7。现掷另一枚未知均匀的硬币共5次,2次正面,3次反面。求硬币不均匀的概率P(loaded∣X=2)P(loaded|X=2)P(loaded∣X=2)?

方法一:贝叶斯公式
θ={fair,loaded}\theta=\{fair, loaded\}θ={fair,loaded}其中fair代表硬币均匀,loaded代表硬币不均匀
由于5次中出现3次反面,因此可以设先验概率P(θ\thetaθ=loaded)=0.6
似然:f(x∣θ)=(5x)125I{θ=fair}+(5x)0.7x×0.35−xI{θ=loaded}f(x|\theta)=\binom{5}{x}\frac{1}{2^5}I_{\{\theta=fair\}}+\binom{5}{x}0.7^{x}\times 0.3^{5-x}I_{\{\theta=loaded\}}f(x∣θ)=(x5​)251​I{θ=fair}​+(x5​)0.7x×0.35−xI{θ=loaded}​

从而:
f(θ∣X=2)=f(x∣θ)f(θ)f(x)=125×0.4×I{θ=fair}+0.72×0.33×0.6I{θ=loaded}125×0.4+0.72×0.33×0.6=0.0125I{θ=fair}+0.0794I{θ=loaded}0.0125+0.0794=0.612I{θ=fair}+0.388I{θ=loaded}\begin{aligned} f(\theta|X=2)&=\frac{f(x|\theta)f(\theta)}{f(x)}\\ &=\frac{\frac{1}{2^5}\times 0.4\times I_{\{\theta=fair\}}+0.7^2\times 0.3^3\times 0.6I_{\{\theta=loaded\}}}{\frac{1}{2^5}\times 0.4+0.7^2\times 0.3^3\times 0.6}\\ &=\frac{0.0125I_{\{\theta=fair\}}+0.0794I_{\{\theta=loaded\}}}{0.0125+0.0794} \\ &=0.612 I_{\{\theta=fair\}}+0.388I_{\{\theta=loaded\}} \end{aligned} f(θ∣X=2)​=f(x)f(x∣θ)f(θ)​=251​×0.4+0.72×0.33×0.6251​×0.4×I{θ=fair}​+0.72×0.33×0.6I{θ=loaded}​​=0.0125+0.07940.0125I{θ=fair}​+0.0794I{θ=loaded}​​=0.612I{θ=fair}​+0.388I{θ=loaded}​​
因此P(loaded∣X=2)=0.388P(loaded|X=2)=0.388P(loaded∣X=2)=0.388

方法二:MH算法

  1. 设定初始值θ0=fair\theta_{0}=fairθ0​=fair或θ0=loaded\theta_{0}=loadedθ0​=loaded
  2. 对i=1,...,mi=1,...,mi=1,...,m,重复如下操作:
    (1)令候选样本θ∗\theta^{*}θ∗为不同于θi−1\theta_{i-1}θi−1​的状态(即,若θi−1\theta_{i-1}θi−1​为正面,则θ∗\theta^{*}θ∗就为反面,反之亦然)
    (2)由候选样本的选取知q(θ∗∣θi−1)=q(θi−1∣θ∗)=1q(\theta^{*}| \theta_{i-1})=q(\theta_{i-1}| \theta^{*})=1q(θ∗∣θi−1​)=q(θi−1​∣θ∗)=1(因为二者互斥,已知其中一个,另一个的状态能完全确定)
    \qquad 故接受率α=g(θ∗)g(θn−1)=f(x=2∣θ∗)f(θ∗)f(x=2∣θi−1)f(θi−1)\alpha = \frac{g(\theta^{*})}{g(\theta_{n-1})}=\frac{f(x=2|\theta^{*})f(\theta^{*})}{f(x=2|\theta_{i-1})f(\theta_{i-1})}α=g(θn−1​)g(θ∗)​=f(x=2∣θi−1​)f(θi−1​)f(x=2∣θ∗)f(θ∗)​

因此,当 θ∗=fair\theta^{*}= fairθ∗=fair 时,α=0.1250.0794=1.574\alpha = \frac{0.125}{0.0794}=1.574α=0.07940.125​=1.574。此时应接受θ∗\theta^{*}θ∗,即令θi=fair\theta_{i}=fairθi​=fair;

当 θ∗=loaded\theta^{*}= loadedθ∗=loaded 时,α=0.07940.0125=0.635\alpha = \frac{0.0794}{0.0125}=0.635α=0.01250.0794​=0.635。此时θi=loaded\theta_{i}=loadedθi​=loaded (with prob. 0.635),θi=fair\theta_{i}=fairθi​=fair (with prob. 0.365)

得到马氏链及其转移矩阵:P=[0.3650.63510]P = \begin{bmatrix} 0.365 & 0.635\\ 1 & 0 \end{bmatrix} P=[0.3651​0.6350​]

由于马氏链的平稳分布π\piπ满足:πP=π\pi P=\piπP=π
可求得π=[0.6120.388]\pi = [0.612\quad 0.388]π=[0.6120.388]
从而待求的后验概率为0.388。

(二) Gibbs Sampling

Gibbs采样可以方便我们求多个参数的后验分布。现有两个参数θ\thetaθ和ϕ\phiϕ的联合后验分布 p(θ,ϕ∣y)∝g(θ,ϕ)p(\theta, \phi | y) \propto g(\theta, \phi)p(θ,ϕ∣y)∝g(θ,ϕ)。
我们首先介绍Full Conditional Distribution
在p(θ,ϕ∣y)=p(θ∣ϕ,y)p(ϕ∣y)p(\theta, \phi | y)=p(\theta|\phi,y)p(\phi|y)p(θ,ϕ∣y)=p(θ∣ϕ,y)p(ϕ∣y)中,分布p(θ∣ϕ,y)p(\theta|\phi, y)p(θ∣ϕ,y)称为θ\thetaθ的Full Conditional Distribution。在一些情况中,Full Conditional Distribution是一个我们知道如何抽样的标准分布,此时就无需抽取候选样本再计算接受率来决定究竟是接受它还是决绝它了。我们可以将Full Conditional Distribution当成是候选分布(即MH算法里的proposal candidate distribution),MH算法里的接受率α\alphaα为1。
由于p(θ∣ϕ,y)∝p(θ,ϕ∣y)∝g(θ,ϕ)p(\theta|\phi, y)\propto p(\theta, \phi | y)\propto g(\theta, \phi)p(θ∣ϕ,y)∝p(θ,ϕ∣y)∝g(θ,ϕ),且p(ϕ∣θ,y)∝p(θ,ϕ∣y)∝g(θ,ϕ)p(\phi|\theta, y)\propto p(\theta, \phi | y)\propto g(\theta, \phi)p(ϕ∣θ,y)∝p(θ,ϕ∣y)∝g(θ,ϕ),因此Full Conditional Distribution的好处在于它们都正比于Full Joint Posterior Distribution(即p(θ,ϕ∣y)p(\theta, \phi | y)p(θ,ϕ∣y)

Gibbs Sampling算法的过程如下:
假设现有参数θ\thetaθ和ϕ\phiϕ的联合后验分布 p(θ,ϕ∣y)p(\theta, \phi | y)p(θ,ϕ∣y),

  1. 首先,选取参数的初始值θ0,ϕ0\theta_0,\phi_0θ0​,ϕ0​
  2. 对i=1,...,mi=1,...,mi=1,...,m,重复如下操作:
    (1)利用ϕi−1\phi_{i-1}ϕi−1​,生成θi\theta_{i}θi​~p(θ∣ϕi−1,y)p(\theta | \phi_{i-1},y)p(θ∣ϕi−1​,y)
    (2)利用θi\theta_iθi​,生成ϕi\phi_{i}ϕi​~p(ϕ∣θi,y)p(\phi | \theta_{i},y)p(ϕ∣θi​,y)

Gibbs Sampling的思想是,更新时每次只采样一个参数,遍历完所有参数后再循环。在更新其中的一个参数时,我们利用的是其它参数当前状态的值

贝叶斯统计学习笔记|Bayesian Statistics|Metropolis-Hastings与Gibbs Sampling相关推荐

  1. 贝叶斯统计(Bayesian statistics) vs 频率统计(Frequentist statistics):marginal likelihood(边缘似然)

    1. Bayesian statistics 一组独立同分布的数据集 X=(x1,-,xn)\mathbb X=(x_1, \ldots, x_n)(xi∼p(xi|θ)x_i\sim p(x_i|\ ...

  2. 【学习笔记】计算机时代的统计推断(Bradley Efron and Trevor Hastie 著)

    序言 英文版教材免费下载地址: CASI 笔者本来是打算写来作为期末复习使用的, 但是发现写着写着变成了翻译教材, 实在是太草了; 本来以为提前一个星期动笔一定可以趁复习时顺手做完这本教材的摘要, 现 ...

  3. 影像组学视频学习笔记(37)-机器学习模型判断脑卒中发病时间(文献报告)、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/3e7a2c84288e 来源:简书,已获授权转载 RadiomicsWorld.com "影像组学世界" ...

  4. 影像组学视频学习笔记(24)-文献导读:了解88种降维、分类器组合、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(24)主要讲解: 解读一篇文献,了解不同的降维.分类器组合方法 这篇文献2018年发表在European Radiology上: Rad ...

  5. 影像组学视频学习笔记(14)-特征权重做图及美化、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(14)主要介绍: 特征权重做图及美化 import matplotlib.pyplot as plt %matplotlib inlin ...

  6. 影像组学视频学习笔记(12)-支持向量机(SVM)参数优化(代码)、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(12)主要介绍: SVM参数优化(代码) 参数优化: 自动寻找最合适的γ和C组合. 原理:遍历所有给定的参数组合,对数据进行训练,找到最 ...

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

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

  8. Li‘s 影像组学视频学习笔记(10)-T检验+lasso+随机森林、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(10)主要介绍: T检验+lasso+随机森林 李博士借用和女朋友一起吃饭这个实例来说明:爱情和机器学习一样,复杂深奥.难以揣测. im ...

  9. 影像组学视频学习笔记(9)-T检验(T-test)理论及示例、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(9)主要介绍: T-test理论及示例 T 检验 两独立样本t检验(ttest_ind):检验两组独立样本的平均数与其分布是否具有显著性 ...

最新文章

  1. 在brew开发中遇到的一些问题
  2. 【Python】Pandas/Sklearn进行机器学习之特征筛选,有效提升模型性能
  3. 什么是Docker??
  4. django-redis的使用,利用配置中的缓存绑定数据库,直接获取连接对象
  5. java $表示什么_java – 变量名中$的含义是什么?
  6. Java——类和对象
  7. VMware虚拟机中ubuntu的磁盘怎么扩容
  8. iOS7新特性的兼容性处理方法 之三
  9. [转] 如何快速掌握一门新技术/语言/框架
  10. Arch Linux配置gnome桌面
  11. 计算机网络大写英文缩写汇总(持续更新中……)
  12. java opts xmn_tomcat设置JAVA_OPTS
  13. 储户诉银行虚假宣传 微众银行智能存款产品屡遭用户投诉
  14. Qt自定义控件大全文章导航
  15. 为什么你还没有买新能源汽车?
  16. 在平板电脑与移动3G大爆炸的时代 昔日霸主微软的反击
  17. Work from home
  18. python里的apply,applymap和map
  19. 卡券优惠接口对接开发源码
  20. Google需警惕苹果Apple TV的10大原因

热门文章

  1. js获取用户选择的文件路径[曲线救国]
  2. Baklib知识管理体系:将知识管理深化到企业中
  3. java spring源码_剑指Java自研框架,决胜Spring源码
  4. 对话MVP | 柳贵:在FISCO BCOS,我体会到了开源社区的精神
  5. 手把手教弟弟写了个扫雷demo,弟弟竟拿去跟大学同学装* 附(思路注释+源码)
  6. Java基础 DAY07
  7. 中投民生:外资狂卖122亿,贵州茅台被抛售10亿,究竟发生了什么事?
  8. 基于PyTorch搭建CNN实现视频动作分类任务 有数据有代码 可直接运行
  9. 温度传感器的c语言程序,DS18B20数字温度传感器C语言程序实例
  10. java开发中常用的算法_总结一下项目开发过程中常用的到的一些加密算法。