泛统计理论初探——初探MCMC采样和MH采样

统计学习-MCMC采样与MH采样简介

初探MCMC采样方法和MH采样方法
    在之前介绍的文章中,我们介绍了基本的采样方法。在了解简单的采样方法后,本次文章将会介绍MCMC采样方法与优化的MH采样方法,这两种方法对于一些高维度特征的数据可以进行比较合理的采样。
    MCMC采样方法其实就是蒙特卡洛马尔科夫链的采样方法,因为这两个术语的英文简写都是MC,所以我们使用MCMC采样来代替。MH采样方法的英文是Metropolis-Hasting,它是一种基于MCMC采样的优化方法,在实际机器学习问题中使用较多。下面我们开始介绍这两种方法:
    首先是MCMC方法,该方法里的蒙特卡洛方法是一种计算数值积分的方法,将一些很难从解析形式求解的定积分转为基于概率分布的级数求和的方法进行逼近求解。但是要使用蒙特卡洛方法最重要的是需要事先明确概率分布的函数,如果是简单的分布形式比如F分布、Gamma分布等,可以通过与均匀分布进行映射变换得到;而对于复杂分布或者不常见分布,则需要进行“接受-拒绝采样”来进行逼近原始的复杂分布,这种思路就是用一个简单的分布形式比如正态分布去完全覆盖原有的复杂分布,也就是下图的两个分布形式,如果每次抽样落在灰色区域的时候就拒绝抽样,反之则接受抽样。
在这里插入图片描述
    其实要介绍的是MCMC方法里的马尔科夫链方法,这种马尔可夫链假设的是当前状态只和之前的一个状态有关系存在,和之前的历史状态都无关。那么这种非周期的马尔可夫链就有一个比较好的性质,也就是会收敛到一个稳态的分布。使用马尔可夫链方法进行抽样的时候,只需要明确状态转移矩阵和初始的状态,就可以得出后续的样本点,从而得到所需的采样样本。对于马尔可夫链其实还有一种非常重要的细致平稳条件,在所有的状态里任意取i、j两个状态,都满足G(i)P(i,j)=G(j)P(j,i) ,而MCMC采样和MH采样的基本原理也是根据这个性质延伸得到的。
    对于MCMC采样方法,我们可以在细致平稳条件加上概率b(i,j)得到,也就是将原来的等式约束进行放松,得到G(i)P(i,j)b(i,j)=G(j)P(j,i)b(j,i) ,所以整个MCMC采样的步骤如下所示:
    1)初始化相关的采样参数,比如需要的样本数N,状态转移矩阵T,平稳分布G,转移状态次数的阈值U等参数
    2)从一个任意的简单的分布进行采样,得到初始状态值x0
    3)对于当前状态t=0到N+U-1的状态之中,重复下述的4-5-6步骤:
    4)从条件概率分布T(x|x(t))中进行采样得到样本x(k)
    5)从均匀分布进行采样,得到样本v
    6)使用之前的宽松的细致平稳条件进行判断,即样本v是否满足小于G(x(k))T(x(k),x(t)) ,如果满足的话就接受转移,并且让x(t+1)=x(k) ,否则就不接受转移,让x(t+1)=x(t)
    通过上述步骤后最终得到的就是基于平稳分布的样本集。但是由于接受的转移概率比较小,所以这种MCMC方法很难得到真正的样本,因为很多样本都会被拒绝转移,整体的采样效率较低。
    对于MH方法,其实步骤和上述的MCMC采样方法相似,它只是将阈值放大了5倍,对于阈值b(i,j)的公式进行修正:b(i,j)=min(G(j)T(j,i)/G(i)T(i,j),1) 从而得到MH采样方法,其他步骤和MCMC方法完全一样。但是需要注意的是,MH采样和MCMC方法一样,对于特征较多的情况也是比较难使用的。
    总的来说,MCMC采样方法和MH采样方法都是比较合理的采样方法,但是MH采样是MCMC采样方法的简化版,所以在实际问题中使用MH采样的比较多。MCMC采样在数学上是比较严谨和稳定的,但是满足它采样接受率的样本比较少,也就是说总是会采样失败,这种时候对原来的方法进行改进以后也就是MH方法,可以有效避免上述问题。MCMC方法和MH采样是在数据特征不多的时候,被广泛使用的采样方法,当维度变得很多的时候会使用其他的采样方法,这个在后续的文章会进行介绍。而对于初学者则需要了解这类采样方法的原理,方便在实际问题中更好地进行使用。

猜你喜欢

转载自blog.csdn.net/qq_26727101/article/details/108677127