【机器学习系列】MCMC第四讲:Metropolis Hastings采样算法


作者:CHEONG

公众号:AI机器学习与知识图谱

研究方向:自然语言处理与知识图谱

阅读本文之前,首先注意以下两点:

1. 机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。

2. 文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号【AI机器学习与知识图谱】后回复:MCMC第四讲,可添加微信号【17865190919】进学习交流群,加好友时备注来自CSDN。原创不易,转载请告知并注明出处!

本文介绍MCMC方法其中之一的MH采样方法。


一、MCMC解决的问题

MCMC是一种方法论,MH采样方法和Gibbs采样方法是MCMC的两个具体实现。MCMC的目的求后验概率 p ( z ) p(z) p(z),有了后验概率 p ( z ) p(z) p(z)后目标是求关于后验概率 p ( z ) p(z) p(z)的期望值:

在这里插入图片描述

从公式可知,对后验概率 p ( z ) p(z) p(z)进行采样可直接求出期望值,但是直接从 p ( z ) p(z) p(z)采样较为困难,MCMC便是为了解决从 p ( z ) p(z) p(z)中采样困难的问题。


二、MH采样算法

MCMC的思想是构造一个马氏链,该马氏链能够趋向于平稳分布,然后平稳收敛到后验概率 p ( z ∣ x ) p(z|x) p(zx),现在问题在于马氏链如何趋向于平稳分布,继续细化就是如何找到满足Detailed Balance的条件转移矩阵 P = [ p i j ] P=[p_{ij}] P=[pij]让马氏链趋向于平稳分布。

为了得到能可平稳分布的条件概率转移矩阵 P = [ p i j ] P=[p_{ij}] P=[pij],先假设一个随机的条件概率转移矩阵 Q = [ q i j ] Q=[q_{ij}] Q=[qij],则会有:

在这里插入图片描述

为了让上述公式能够相等,引入 α ( z , z ∗ ) \alpha(z,z_*) α(z,z) α ( z ∗ , z ) \alpha(z_*,z) α(z,z),使得

在这里插入图片描述

这样就找到了满足平稳分布的条件概率转移矩阵:

在这里插入图片描述

这里直接先给出结论,为了上式相等,则 α ( z , z ∗ ) \alpha(z,z_*) α(z,z) α ( z ∗ , z ) \alpha(z_*,z) α(z,z)的值为:

在这里插入图片描述

下面证明当 α ( z , z ∗ ) \alpha(z,z_*) α(z,z) α ( z ∗ , z ) \alpha(z_*,z) α(z,z)取上面值时,如下公式成立

在这里插入图片描述

至此寻找到了一个新的状态转移矩阵 Q = [ q i j ] Q=[q_{ij}] Q=[qij] α ( z , z ∗ ) \alpha(z,z_*) α(z,z) α ( z ∗ , z ) \alpha(z_*,z) α(z,z)使得马尔科夫链趋向于平稳分布。

这样便可直接引入MCMC中的Metropolis Hastings MH采样方法,步骤如下:

a.先从(0,1)均匀分布中进行一次随机采样得到 u u u

b.从状态转移矩阵 Q = [ q i j ] Q=[q_{ij}] Q=[qij]对应的概率分布 Q ( z ∣ z i − 1 ) Q(z|z_{i-1}) Q(zzi1)中采样得到 z ∗ z_* z

c.取值

在这里插入图片描述

注意:这里的 p ( z ) p(z) p(z)不是实际求出,而是归一化的 p ^ ( z ) \hat{p}(z) p^(z),可以认为 p ^ ( z ) \hat{p}(z) p^(z)正比于 p ( z ) p(z) p(z)

d.如果 α ≥ u \alpha \geq u αu,则本次采样的样本为 z i = z ∗ z_i=z_{*} zi=z,否则的话本次样本点为 z i = z i − 1 z_i=z_{i-1} zi=zi1,即将上一次的采样样本作为本次的采样样本。

**总结:**所以MH采样方法的思想仍然是直接从后验分布 p ( z ) p(z) p(z)中无法采样,于是引入了可满足如下平稳分布:

在这里插入图片描述

然后按照上述方式进行采样,得到采样样本,就可以绕过后验概率 p ( z ) p(z) p(z)来计算目标期望值:
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值