这些方法都依赖于我们知道输入和输出,但只是不知道这个映射 f f f。很多时候需要计算关于 f f f的积分,逐个带点显然太费劲了。
蒙特卡罗抽样方法
假设我们要求积分
h
(
θ
)
=
∫
E
h
(
θ
)
π
(
θ
∣
x
)
d
θ
h(\theta)=\int_E h(\theta)\pi(\theta | x)d\theta
h(θ)=∫Eh(θ)π(θ∣x)dθ
其中
π
(
θ
∣
x
)
\pi(\theta | x)
π(θ∣x)是某个后验分布
而h很难求出显式表达式,这时候可利用抽样方法对上式子进行近似。
整理一下知道:
h
=
∫
E
h
(
θ
)
π
(
θ
∣
x
)
d
θ
=
E
θ
∼
π
(
θ
∣
x
)
[
h
(
θ
∣
x
)
]
h=\int_E h(\theta)\pi(\theta | x)d\theta=E_{\theta \sim \pi(\theta | x)}[h(\theta | x)]
h=∫Eh(θ)π(θ∣x)dθ=Eθ∼π(θ∣x)[h(θ∣x)]
那么可利用大数定理,当从
θ
∼
π
(
θ
∣
x
)
\theta \sim \pi(\theta | x)
θ∼π(θ∣x)抽样足够多的
m
m
m,就有:
h
ˉ
=
1
M
∑
i
=
1
m
h
(
θ
i
)
=
∫
E
h
(
θ
)
π
(
θ
∣
x
)
d
θ
\bar{h}=\frac{1}{M}\sum_{i=1}^mh(\theta_i)=\int_E h(\theta)\pi(\theta | x)d\theta
hˉ=M1i=1∑mh(θi)=∫Eh(θ)π(θ∣x)dθ
特别的,当
π
(
θ
∣
x
)
=
1
\pi(\theta | x)=1
π(θ∣x)=1退化为黎曼积分。
例
特别的,若要求积分
h
′
=
∫
E
h
(
θ
)
d
θ
h'=\int_E h(\theta)d\theta
h′=∫Eh(θ)dθ,那么可自行构造一个分布,
h
′
=
∫
E
h
′
(
θ
)
p
(
θ
∣
x
)
⋅
p
(
θ
∣
x
)
d
θ
h'=\int_E \frac{h'(\theta)}{p(\theta | x)} ·p(\theta | x)d\theta
h′=∫Ep(θ∣x)h′(θ)⋅p(θ∣x)dθ
此时记
h
′
(
θ
)
=
h
(
θ
)
p
(
θ
∣
x
)
h'(\theta)=h(\theta){p(\theta | x)}
h′(θ)=h(θ)p(θ∣x)即可。
于是对于这类例子,从
x
∼
p
(
x
)
x\sim p(x)
x∼p(x)中采样出n个样本
x
1
,
x
2
,
.
.
.
,
x
n
x_1, x_2, ..., x_n
x1,x2,...,xn,然后有:
∫
E
f
(
x
)
d
x
=
1
N
∑
i
=
1
n
f
(
x
i
)
p
(
x
i
)
\int_E f(x)dx=\frac{1}{N}\sum_{i=1}^n \frac{f(x_i)}{p(x_i)}
∫Ef(x)dx=N1i=1∑np(xi)f(xi)
蒙特卡罗重要性采样
由于对于一些分布存在严重的拖尾效应或聚集问题。导致采样出来的样本质量很低。
所以可尝试从与后验分布近似的简单分布进行采样。但其实并没有解决问题。
马尔可夫蒙特卡罗方法
事实上很难找与后验分布近似的重要性函数,所以还是不得不从复杂的后验分布采样。
但前面提到,很难直接对其进行采样。但可以通过构造一个马尔科夫链,使其平稳分布就是该后验分布,从而就实现了从复杂的后验分布中采样,进一步可以计算相关的积分。
特点是太慢了。