作者: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(z∣x),现在问题在于马氏链如何趋向于平稳分布,继续细化就是如何找到满足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(z∣zi−1)中采样得到 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=zi−1,即将上一次的采样样本作为本次的采样样本。
**总结:**所以MH采样方法的思想仍然是直接从后验分布 p ( z ) p(z) p(z)中无法采样,于是引入了可满足如下平稳分布:
然后按照上述方式进行采样,得到采样样本,就可以绕过后验概率
p
(
z
)
p(z)
p(z)来计算目标期望值: