Gibbs 采样完整解析与理解

1.gibbs简析:

 gibbs采样需要知道样本中一个属性在其它所有属性下的条件概率,然后利用这个条件概率来分布产生各个属性的样本值。gibbs采样属于随机模拟抽样算法中的一种(一类近似求解的方法)。随机模拟的核心是对一个分布进行抽样,常用的抽样算法包括:1. 接受-拒绝抽样;2)重要性抽样;3)MCMC(马尔科夫链蒙特卡洛方法)方法,它包括两个非常著名的采样算法(metropolis-hasting算法和它的特例Gibbs采样算法)(补充:MCMC方法最早由Metropolis(1954)给出,后来Metropolis的算法由Hastings改进,合称为M-H算法。M-H算法是MCMC的基础方法。由M-H算法演化出了许多新的抽样方法,包括目前在MCMC中最常用的Gibbs抽样也可以看做M-H算法的一个特例)。

2.那么采样究竟是解决什么样的问题?

 采样就是通过将一个不太好解决的问题转化为一个可以通过采样来解决的问题,用什么方法来采样比较好,这是一个创新的问题,一般没有固定的解法。

3.常见的采样方法

3.1 直接采样(简单)

3.2 接受-拒绝抽样(Acceptance-Rejection sampling)下面内容来源

很多实际问题中,p(x)是很难直接采样的的,因此,我们需要求助其他的手段来采样。既然 p(x) 太复杂在程序中没法直接采样,那么我设定一个程序可抽样的分布 q(x) 比如高斯分布,然后按照一定的方法拒绝某些样本,达到接近 p(x) 分布的目的,其中q(x)叫做 proposal distribution(建议分布) 。

这里写图片描述

具体操作如下,设定一个方便抽样的函数 q(x),以及一个常量 k,使得 p(x) 总在 kq(x) 的下方。(参考上图)

  • 1.x 轴方向:从 q(x) 分布抽样得到 a。(如果是高斯,就用之前说过的 tricky and faster 的算法更快)
  • 2 . y 轴方向:从均匀分布(0, kq(a)) 中抽样得到 u。
  • 3.如果刚好落到灰色区域: u > p(a), 拒绝, 否则接受这次抽样
  • 重复以上过程

在高维的情况下,Rejection Sampling 会出现两个问题,第一是合适的 q 分布比较难以找到,第二是很难确定一个合理的 k 值。这两个问题会导致拒绝率很高,无用计算增加。

4.重要性抽样(Importance sampling)

重要性采样的理解是该方法目的并不是用来产生一个样本的,而是求一个函数的定积分的,只是因为该定积分的求法是通过对另一个叫容易采集分布的随机采用得到的。

下面图片来源:http://www.cnblogs.com/tornadomeet/archive/2013/03/26/2982694.html

这里写图片描述

其中通过对q(x)的随机采样,得到大量的样本x,然后求出f(x)*w(x)的均值,最终得出积分I值。其中的w(x)也就是重要性了,此时如果q(x)概率大,则得到的x样本数就多,这样w(x)的值也就多了,也间接体现了它越重要。

5.gibbs 采样

下面图片来源:http://www.cnblogs.com/tornadomeet/archive/2013/03/26/2982694.html

说明

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

补充:

1 .MCMC理论简述:在满足【平衡方程】(detailed balance equation)条件下,MCMC可以通过很长的状态转移到达稳态。

平衡方程(F(x):指分布,p:指概率):

F(x)p(y|x)=F(y)p(x|y)

该方程描述分布与条件概率之间的平衡关系。

2.什么是采样?

 sampling就是以一定的概率分布,看发生什么事.

3. DRF:Markov Random Field

reference:

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页