Processing math: 100%

采样方法

对一些常用的采用进行总结,主要参考了PRML。

整个采样的关键思想:求
E[f]=f(z)p(z)dz

但是通常数值分析的方法很难求,寻求一种近似的方法
E[f]=1Lf(z(l))

其中z(l)P(z),通常来说10~20个样本就可以很好的拟合,并且这个方法是不取决于z的维度的。

但是通常情况下,可能一些非常小概率的z决定了E[f],所以可能要求采样数要采的比较多

对于有向图的采样,采用ancestral sampling。从父亲开始采样起。

如果观察节点固定的话,使用一种叫做logic sampling的方法。也是从父亲开始采样起,最终采样到可见节点,如果不符合的话,丢弃。

无向图的采样更加复杂,通常需要一些更复杂的采样方法,比如说吉布斯采样。

对于采样联合分布的边缘采样p(u,v),如果我们要采样P(u),简单的把v丢弃即可。

介绍一些常用的采样方法

Inverse CDF

最简单的采样,计算机只能生成一些伪随机数。在[0, 1]中均匀分布。现在假设计算机已经可以生成出[0,1]分布的样本z了,现在我们要从一个更复杂的分布p(y)中采出y,我们希望找到一个简单的映射
y=f(z)
p(y)=p(z)|dzdy|


对于多元变量有
P(y1,,ym)=p(z1,,zm)(z1,,zm)(y1,,ym)

Box-Muller变换
z1,z2从均匀分布中采样满足z21+z221,那么有p(z1,z2)=1π
接下来进行变换
y1=z1(2lnz1r2)

y2=z2(2lnz2r2)

现在y1,y2为均值为0,方差为1的独立高斯分布。
对于均值为μ,方差为σ,使用σy+μ即可。如果是covariance Σ,使用Cholesky decomposition,Σ=LLT,然后y=μ+Lz

Rejection Sampling

为了从p(z)=1Zp˜p(z)中采出样本出来,通常˜p(z)是很好计算的,但是分母Zp难以计算。我们提出一个分布q(z),以及一个常数,其中满足kq(z)˜p(z)
Rejection SamplingRejection Sampling
然后从z0q(z),所以接受率为
p(acc)=ˉp(z)/kq(z)q(z)dz=1kˉp(z)dz

Adaptive rejection sampling

Adaptive Rejection SamplingAdaptive Rejection Sampling
通常来说决定k是比较困难的一件事情,但是对于log凹的函数来说会比较的简单。
首先选取几个初始的点,算一下梯度,然后构造一些切线。因为在对数区是切线,所以对应的分布为
q(z)=kiλiexp(λi(zzi1))zi1<zzi

然后按照正常的rejection sampling去做,如果当前点被接受了,不做任何修改。
如果当前点被拒绝了,就从这个点重新构造一条切线出来。
但是这个方法通常在高维空间有问题。比如说两个高斯σ2pIσ2qI,对于D维来说,k=(σq/σp)D,如果σq只高出0.01,那么最后接受率大概为1/200000

Importance sampling

前面的几种方法都是从分布中采出样本出来,现在我们要求一个期望。E[f]=1Lp(zl)f(zl)。我们采用如下的形式
E[f]=f(z)p(z)dz=f(z)p(z)q(z)q(z)=1Lp(z(l))q(z(l))f(z(l))

通常来说p(z)无法计算,所以通常的情况是p(z)=ˉp(z)/Zp
那么上式就变为

E[f]=f(z)p(z)dz=f(z)p(z)q(z)q(z)=ZqZp1Lˉrlf(z(l))

ZpZq=1Zqˉp(z)dz=ˉp(z)ˉq(z)q(z)dz=1Lˉrl


所以有E[f]=wlf(z(l))
其中wl=ˉrlmˉrm=ˉp(z(l))/q(zl)mˉp(z(m))/q(z(m))

Sampling-Importance-resampling

通常对于一般的p(z)来说,没有办法决定合适的k值,所以提出这种方法。
首先从q(z)里面采出L个样本,然后算出权重w1,,wL,然后再根据权重采出L个样本出来。这样可以保证采出的L个样本是近似服从于p(z)的。
如果L,可以证明就是p(z)

首先概率分布函数为p(za)=l:zlawl=lI(z(l)a)ˉp(z(l))/q(z(l))lˉp(z(l))/q(z(l))


L,替换和为积分,得到
p(za)=I(za)ˉp(z)/q(z)q(z)dzˉp(z)/q(z)q(z)dz=I(za)p(z)dz

q(z)p(z)越接近,得到的样本就越好,当q(z)=p(z)的时候,可以得到每个权重都是1L

MCMC and Gibbs

这篇Blog写的很不错MCMC and Gibbs