采样之Gibbs采样

前面我们讲到了M-H采样已经可以很好的解决蒙特卡罗方法需要的任意概率分布的样本集的问题。但是M-H采样有两个缺点:一是需要计算接受率,在高维时计算量大。并且由于接受率的原因导致算法收敛时间变长。二是有些高维数据,特征的条件概率分布好求,但是特征的联合分布不好求。因此需要一个好的方法来改进M-H采样,这就是我们下面讲到的Gibbs采样。

1. 重新寻找合适的细致平稳条件

2.  二维Gibbs采样

 用下图可以很直观的看出,采样是在两个坐标轴上不停的轮换的。当然,坐标轴轮换不是必须的,我们也可以每次随机选择一个坐标轴进行采样。不过常用的Gibbs采样的实现都是基于坐标轴轮换的。

 

3. 多维Gibbs采样

4.其它解释1 

 Gibbs采样的目的是获得一个样本,不是计算概率,但可以通过其他方法来统计概率。

5其它解释2

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

问题是我们不知道p(E,T,W),或者说,不知道三件事的联合分布。当然,如果知道的话,就没有必要用gibbs sampling了。但是,我们知道三件事的conditional distribution。也就是说,p(E|T,W),p(T|E,W),p(W|E,T)。现在要做的就是通过这三个已知的条件分布,再用gibbs sampling的方法,得到joint distribution。

 

参考:https://www.cnblogs.com/xbinworld/p/4266146.html

          https://blog.csdn.net/yywan1314520/article/details/51013410

           https://blog.csdn.net/zb1165048017/article/details/51778694

          http://blog.sina.com.cn/s/blog_5e9e98210102v1wb.html

posted @ 2018-08-15 22:52  小糊涂也学要编程  阅读(2650)  评论(0编辑  收藏