MCMC(Markov Chain Monte Carlo) 方法学习笔记

Gibbs采样

  1. 用途

什么是sampling?

sampling就是以一定的概率分布,看发生什么事件。举一个例子。甲只能E:吃饭、学习、打球,时间T:上午、下午、晚上,天气W:晴朗、刮风、下雨。现在要一个sample,这个sample可以是:打球+下午+晴朗。

吉布斯采样的通俗解释?
问题是我们不知道p(E,T,W),或者说,不知道三件事的联合分布joint distribution。当然,如果知道的话,就没有必要用gibbs sampling了。但是,我们知道三件事的conditional distribution。也就是说,p(E|T,W),p(T|E,W),p(W|E,T)。现在要做的就是通过这三个已知的条件分布,再用gibbs sampling的方法,得到联合分布。
具体方法。首先随便初始化一个组合,i.e. 学习+晚上+刮风,然后依条件概率改变其中的一个变量。具体说,假设我们知道晚上+刮风,我们给E生成一个变量,比如,学习-》吃饭。我们再依条件概率改下一个变量,根据学习+刮风,把晚上变成上午。类似地,把刮风变成刮风(当然可以变成相同的变量)。这样学习+晚上+刮风-》吃饭+上午+刮风。同样的方法,得到一个序列,每个单元包含三个变量,也就是一个马尔可夫链。然后跳过初始的一定数量的单元(比如100个),然后隔一定的数量取一个单元(比如隔20个取1个)。这样sample到的单元,是逼近联合分布的。

  1. 算法原理
    待补充
  2. 代码实现
    Python代码: https://blog.csdn.net/fjssharpsword/article/details/80365089
  3. 案例
    父代到子代的下层、中层、上层转移概率:
    https://blog.csdn.net/u012535605/article/details/77507880?locationNum=8&fps=1

PageRank收敛性证明

要证明pagerank收敛,即证明其满足Markov过程收敛的条件。参考
https://blog.csdn.net/ustbfym/article/details/80219814

阅读更多
换一批

没有更多推荐了,返回首页