1. 概率分布采样
假如
p
(
z
)
p(z)
p(z)是我们要采样的分布。若可以得到
p
(
z
)
p(z)
p(z)的概率密度
p
d
f
pdf
pdf,对
p
d
f
pdf
pdf的求积分得到分布函数
c
d
f
cdf
cdf
有
u
(
i
)
u^{(i)}
u(i)~
U
(
0
,
1
)
U(0,1)
U(0,1),即u是(0,1)分布,则取得样本
x
(
i
)
x^{(i)}
x(i)
x
(
i
)
=
c
d
f
−
1
(
u
(
i
)
)
x^{(i)}=cdf^{-1}(u^{(i)})
x(i)=cdf−1(u(i))
图例:假设
p
d
f
pdf
pdf为高斯分布
对
p
d
f
pdf
pdf求积分后,得到分布函数
c
d
f
cdf
cdf,则可求出
u
(
i
)
u^{(i)}
u(i)对应的样本
x
(
i
)
x^{(i)}
x(i)
同理可以抽样出N个样本点
x
(
1
)
x
(
2
)
,
.
.
.
,
x
(
N
)
x^{(1)}x^{(2)},...,x^{(N)}
x(1)x(2),...,x(N)
这种抽样方法的缺点是现实中很难得到
p
d
f
pdf
pdf函数,
c
d
f
cdf
cdf是求不出来的,所以很难通过这种方法去抽样得到样本点。这种方法只能适用于一些非常有限的分布。
2. Rejection Sampling 接受-拒绝抽样法
p ( x ) p(x) p(x)是概率密度函数, q ( x ) q(x) q(x)为proposal distribution即为建议的分布函数
c为
q
(
x
)
q(x)
q(x)前的参数,由于概率密度和为1,所以我们建议的
q
(
x
)
q(x)
q(x)不可能处处大于
p
(
x
)
p(x)
p(x),所以我们在
q
(
x
)
q(x)
q(x)前面乘上一个参数c,使其位于
p
(
x
)
p(x)
p(x)之上,使其满足
∀
x
i
,
c
q
(
x
i
)
≥
p
(
x
i
)
\forall x_i,cq(x_i)\geq p(x_i)
∀xi,cq(xi)≥p(xi) 如图所示。
引入
q
(
x
)
q(x)
q(x)的原因是在现实中
p
(
x
)
p(x)
p(x)往往比较复杂,我们无法直接从
p
(
x
)
p(x)
p(x)中采样。而
q
(
x
)
q(x)
q(x)是相对比较简单的分布我们可以直接从里面采样,再看看抽样的样本点是否能够代表
p
(
x
)
p(x)
p(x)。
具体步骤如下:
输入:抽样的目标概率分布的概率密度函数 p ( x ) p(x) p(x);
输出:概率分布的随机样本 x 1 . x 2 , . . . , x 3 x_1.x_2,...,x_3 x1.x2,...,x3
参数:样本数n
(1)选择概率密度函数为 q ( x ) q(x) q(x)的概率分布,作为建议分布,使其对任一 x x x满足 c q ( x ) ≥ p ( x ) cq(x)\geq p(x) cq(x)≥p(x),其中 c > 0 c>0 c>0。
(2)按照建议分布 q ( x ) q(x) q(x)随机抽样得到样本 x ∗ x^* x∗,再按照均匀分布在(0,1)范围内抽样得到 u u u。
(3)如果 u ≤ p ( x ∗ ) c q ( x ∗ ) u\leq \frac {p(x^*)}{cq(x^*)} u≤cq(x∗)p(x∗),则将 x ∗ x^* x∗作为抽样结果;否则,回到步骤(2)。
【注:解释一下这里u的用处。当 p ( x ) p(x) p(x)和 c q ( x ) cq(x) cq(x)很接近时,也就是图中拒绝域比较窄时, p ( x ∗ ) c q ( x ∗ ) \frac {p(x^*)}{cq(x^*)} cq(x∗)p(x∗)比例接近1,这时u在(0,1)中取值满足小于 p ( x ∗ ) c q ( x ∗ ) \frac {p(x^*)}{cq(x^*)} cq(x∗)p(x∗)的概率比较大,接受率高,抽样效率比较高;而当 p ( x ∗ ) c q ( x ∗ ) \frac {p(x^*)}{cq(x^*)} cq(x∗)p(x∗)比较小时,就会导致拒绝比例比较高,抽样效率较低。这样做能达到在 p ( x ) p(x) p(x)和 c q ( x ) cq(x) cq(x)接近的地方多抽样,在差异大的地方少抽样的效果。】
(4)直至得到n个随机样本,结束。
接受-拒绝法的优点是容易实现,缺点是效率可能不高。如果 p ( x ) p(x) p(x)的涵盖体积占 c q ( x ) cq(x) cq(x)的涵盖体积的比例很低,就会导致拒绝的比例很高,抽样效率很低。注意,一般是在高维空间进行抽样,即使 p ( x ) p(x) p(x)与 c q ( x ) cq(x) cq(x)很接近,两者涵盖体积的差异也可能很大(与我们在三维空间的直观不同)。
3.重要性抽样法(importance sampling)
E
p
(
x
)
[
f
(
x
)
]
=
∫
p
(
x
)
f
(
x
)
d
x
E_{p(x)}[f(x)]=\int p(x)f(x)dx
Ep(x)[f(x)]=∫p(x)f(x)dx
=
∫
p
(
x
)
q
(
x
)
q
(
x
)
f
(
x
)
d
x
=\int \frac {p(x)}{q(x)}q(x)f(x)dx
=∫q(x)p(x)q(x)f(x)dx
=
∫
f
(
x
)
p
(
x
)
q
(
x
)
q
(
x
)
d
x
,
令
W
i
=
p
(
x
i
)
q
(
x
i
)
=\int f(x)\frac {p(x)}{q(x)}q(x)dx, 令W_i=\frac {p(x_i)}{q(x_i)}
=∫f(x)q(x)p(x)q(x)dx,令Wi=q(xi)p(xi)
≈
1
N
∑
i
=
1
N
f
(
x
i
)
W
i
\approx \frac 1N \sum_{i=1}^{N} {f(x_i)W_i}
≈N1i=1∑Nf(xi)Wi
p ( x ) p(x) p(x):概率密度函数
f ( x ) f(x) f(x):定义在X上的函数
E p ( x ) [ f ( x ) ] E_{p(x)}[f(x)] Ep(x)[f(x)]:求函数 f ( x ) f(x) f(x)关于密度函数 p ( x ) p(x) p(x)的数学期望
q ( x ) q(x) q(x):已知分布的概率密度函数,如(0,1)均匀分布
W:重要性权重,表示 p ( x ) p(x) p(x)与 q ( x ) q(x) q(x)的相似程度
以上是重要性抽样的推导公式。值得一提的是,如果是高维空间的随机向量,拒绝采样和重要性采样常常难以寻找合适的参考分布,并且采样效率低下,此时一般使用MCMC。