马尔可夫蒙特卡洛方法(MCMC)到底是什么呀?

  统计/机器学习 概率分布 抽样方法 贝叶斯    浏览次数:7282        分享
8

马尔可夫蒙特卡洛方法(MCMC)到底是什么呀?感觉和贝叶斯网络(Bayes network)以及隐式马尔可夫(HMM) 有关系?

 

Sophia   2017-03-01 09:59



   1个回答 
6

这个问题挂这么久了,一直没有人回答,那我就试试吧。

先说说MCMC是什么。第一个MC是Markov Chain,第二个MC是Monte Carlo。MCMC就是两者的结合,顾名思义,就是带有马尔可夫链性质的蒙特卡洛模拟方法。


-----------什么是马尔可夫链-----------

假设随机变量$X_t$表示$t$时刻发生的事件。一个随机过程$X_0,X_1,X_2,\cdots,X_T$,如果满足

$$P(X_{n+1}|X_n)=P(X_{n+1}|X_n, X_{n-1}, X_{n-2}, \cdots, X_0),$$

就称这个过程是一个马尔可夫分链。换句话说,在一个马尔可夫链当中,下个时刻的事件状态只和当前状态有关。



-----------什么是蒙特卡洛模拟-----------

蒙特卡洛模拟是基于大数定律的随机重复抽样方法。比如说,为了估计抛某个有偏差硬币落在正面的概率,我们可以重复抛$m$次,得到$k$次正面,那么$p=\frac{k}{m}$。比如说,为了估计圆周率,我们可以在正方形中画一个内切圆,然后对这个正方形随机重复投点$m$次,如果有$k$次落在圆内,那么可以估计$\pi$为$\frac{4k}{m}$。



-----------到底什么是MCMC-----------

举个简单的例子:假设如果今天晴天,明天下雨的概率是0.1;如果今天晴天,明天晴天的概率是0.9;如果今天下雨,明天下雨(rainy)的概率是0.5;如果今天下雨,明天晴天的概率也是0.5。问题来了,如果我们不知道今天的天气如何,怎么通过随机抽样来模拟未来10天的天气呢?


步骤1: 随机选定初始点$X_0$,比如可选择为晴天。

步骤2: 根据上述的概率,随机产生一个天气$X_1$(0.1概率为雨天,0.9概率为晴天)

步骤3: 根据上述的概率和$X_2$,随机生成$X_3$。

步骤4: 如此反复100次(越多越好)。

步骤5: 取出$X_{101},X_{102},\cdots, X_{110}$即可。


这样得到的10个天气就是随机抽取出来的。为什么步骤4中次数越多越好呢?因为$i$越小,$X_i$越容易被初始值$X_0$影响。当$i$变得很大时,就趋于稳定(依照转移矩阵稳定态概率的的随机)。



-----------在贝叶斯网络和隐式马尔可夫模型中的应用-----------

MCMC经常被用来估计复杂的贝叶斯网络中的后验概率分布。

类似地,在隐式马尔可夫模型中,需要计算似然估计,而求这些似然估计,需要对很多隐藏状态求和,计算量很大,所以可以通过MCMC来模拟求解。


SofaSofa数据科学社区DS面试题库 DS面经

sasa   2017-05-17 08:04



  相关主题

贝叶斯里的先验分布,后验分布是什么意思?   1回答

高斯分布的后验分布是什么?   1回答

flat priors是什么意思?   3回答

关于两个正态总体抽样分布的独立性问题   1回答

朴素贝叶斯中的朴素是什么意思?   1回答

用贝叶斯怎么输出模型的预测准确率?   1回答

贝叶斯网络和朴素贝叶斯有什么区别?   1回答

朴素贝叶斯是线性分类器吗?   1回答

朴素贝叶斯分类器 naive_bayes.MultinomialNB() 为啥和手算的结果不一致   1回答

对于异常数据的判断?   2回答

蓄水池抽样算法的问题   1回答

parametric bootstrap和nonparametric bootstrap的区别是什么?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!