贝叶斯采样方法
对于无法解析求标准的积分、在高维空间的数值积分又行不通的问题,下文介绍一些计算方法。所期待的计算技术致力于从后验分布中将样本采集出来,所有的推断均可通过这些样本的使用而得出。
1. 后验期望
设从后验分布
p
(
θ
∣
D
)
p(\theta|D)
p(θ∣D) 中采集到样本
{
θ
1
,
.
.
.
,
θ
N
s
}
\lbrace \theta^1,...,\theta^{N_s} \rbrace
{θ1,...,θNs} ,然后函数
h
(
θ
)
h(\theta)
h(θ) 的后验期望分布用如下样本均值来近似:
E
[
h
(
θ
)
∣
D
]
≈
1
N
S
∑
t
=
1
N
S
h
(
θ
t
)
E[h(\theta)|D]\approx \frac{1}{N_S}\sum_{t=1}^{N_S}h(\theta^t)
E[h(θ)∣D]≈NS1t=1∑NSh(θt)
很多量例如概率值都可以根据函数的后验期望给予表述。设
θ
\theta
θ 的后验密度函数为
p
(
θ
∣
D
)
p(\theta|D)
p(θ∣D) 。对于某一区域
A
A
A ,令
h
(
θ
)
=
I
(
θ
∈
A
)
h(\theta)=I(\theta\in A)
h(θ)=I(θ∈A),其中
I
I
I 是指示函数
E
[
I
(
θ
∈
A
)
∣
D
]
=
∫
θ
I
(
θ
∈
A
)
p
(
θ
∣
D
)
d
θ
=
∫
θ
∈
A
p
(
θ
∣
D
)
d
θ
E[I(\theta\in A)|D]=\int_{\theta}I(\theta\in A)p(\theta|D)d\theta\\=\int_{\theta\in A}p(\theta|D)d\theta
E[I(θ∈A)∣D]=∫θI(θ∈A)p(θ∣D)dθ=∫θ∈Ap(θ∣D)dθ
即
E
[
I
(
θ
∈
A
)
∣
D
]
E[I(\theta\in A)|D]
E[I(θ∈A)∣D] 是
θ
\theta
θ 位于区域
A
A
A 中的后验概率。对这一概率的近似采样是
E
[
I
(
θ
∈
A
)
∣
D
]
≈
1
N
S
∑
t
=
1
N
S
I
(
θ
t
∈
A
)
E[I(\theta\in A)|D]\approx \frac{1}{N_S}\sum_{t=1}^{N_S}I(\theta^t\in A)
E[I(θ∈A)∣D]≈NS1t=1∑NSI(θt∈A)
2. 贝叶斯分类器的采样类型
p
(
x
∣
ω
j
,
D
j
)
=
∫
p
(
x
∣
θ
j
)
p
(
θ
j
∣
D
j
)
d
θ
j
=
E
θ
j
∣
D
j
[
p
(
x
∣
θ
j
)
]
≈
1
N
S
∑
t
=
1
N
S
p
(
x
∣
θ
j
t
)
p(x|\omega_j,D_j)=\int p(x|\theta_j)p(\theta_j|D_j)d\theta_j\\=E_{\theta_j|D_j}[p(x|\theta_j)]\\\approx \frac{1}{N_S}\sum_{t=1}^{N_S}p(x|\theta_j^t)
p(x∣ωj,Dj)=∫p(x∣θj)p(θj∣Dj)dθj=Eθj∣Dj[p(x∣θj)]≈NS1t=1∑NSp(x∣θjt)
贝叶斯分类器就是当
g
i
>
g
j
,
j
=
1
,
.
.
.
,
C
,
j
≠
i
g_i>g_j,j=1,...,C,j\ne i
gi>gj,j=1,...,C,j=i 时,将
x
x
x 归入
ω
i
\omega_i
ωi 类,其中
g
i
=
(
∑
t
=
1
N
S
p
(
x
∣
θ
i
t
)
)
p
(
ω
i
)
g_i=(\sum_{t=1}^{N_S}p(x|\theta_i^t))p(\omega_i)
gi=(t=1∑NSp(x∣θit))p(ωi)
3. 拒绝采样
有一种简单的采样方法是对一般的分布拒绝采样,尽管这样做常常很低效。
- 拒绝采样算法
-
指定一个密度函数 s ( θ ) s(\theta) s(θ) ,该密度函数与 f ( θ ) = g ( θ ) / ∫ g ( θ ′ ) d θ ′ f(\theta)=g(\theta)/\int g(\theta')d\theta' f(θ)=g(θ)/∫g(θ′)dθ′ 具有相同的支集,且 g ( θ ) / s ( θ ) g(\theta)/s(\theta) g(θ)/s(θ) 有界。
-
设 g ( θ ) / s ( θ ) g(\theta)/s(\theta) g(θ)/s(θ) 的上界是 A A A。
-
重复一下过程直到一个 θ \theta θ 被接受:
- 从已知分布 s ( θ ) s(\theta) s(θ) 中采一个点 θ \theta θ。
- 从位于 [ 0 , 1 ] [0,1] [0,1] 上的均匀分布中采得 u u u 。
- 如果 A u ⩽ g ( θ ) / s ( θ ) Au\leqslant g(\theta)/s(\theta) Au⩽g(θ)/s(θ) ,则接受 θ \theta θ 。
-
4. 均匀比方法
均匀比方法可以用于从单变量分布中获取样本。假定需要从概率密度函数
f
(
θ
)
=
g
(
θ
)
/
∫
g
(
θ
′
)
d
θ
′
f(\theta)=g(\theta)/\int g(\theta')d\theta'
f(θ)=g(θ)/∫g(θ′)dθ′ 的分布中抽取样本,令
D
D
D 表示区域
R
2
R^2
R2 ,满足
D
=
{
(
u
,
v
)
;
0
⩽
u
⩽
g
(
v
/
u
)
}
D=\lbrace (u,v);0\leqslant u\leqslant \sqrt{g(v/u)} \rbrace
D={(u,v);0⩽u⩽g(v/u)}
然后,从
D
D
D 中均匀采一个点,并取
θ
=
v
/
u
\theta=v/u
θ=v/u ,即为从与
g
(
θ
)
g(\theta)
g(θ) 成比例关系的密度分布
f
(
θ
)
f(\theta)
f(θ) 中给出一个样本。
5. 重要性采样
重要性采样提供出一种方法,该方法用这些样本在于
f
(
θ
)
f(\theta)
f(θ) 成比例的密度函数的又一个分布上论断。如果两个分布的支集相同,重要性采样的结果是:当
θ
\theta
θ 服从
f
(
θ
)
f(\theta)
f(θ) 分布时,函数
h
(
θ
)
h(\theta)
h(θ) 的期望可近似为
E
f
[
h
(
θ
)
]
≈
1
∑
t
=
1
N
S
w
t
∑
t
=
1
N
S
w
t
h
(
θ
t
)
E_f[h(\theta)]\approx\frac{1}{\sum_{t=1}^{N_S}w^t}\sum_{t=1}^{N_S}w^th(\theta^t)
Ef[h(θ)]≈∑t=1NSwt1t=1∑NSwth(θt)
其中,
w
t
w^t
wt 是一组非归一化的重要性权值,定义如下:
w
t
=
f
(
θ
t
)
/
q
(
θ
t
)
,
t
=
1
,
.
.
.
,
N
S
w^t=f(\theta^t)/q(\theta^t),t=1,...,N_S
wt=f(θt)/q(θt),t=1,...,NS
分布
q
(
θ
)
q(\theta)
q(θ) 称为重要性采样建议分布。
-
从先验分布中采集后验分布
考虑这样一种特例:由 f ( θ ) f(\theta) f(θ) 所定义的分布是后验分布,产生于似然函数 p ( x ∣ θ ) p(x|\theta) p(x∣θ) 和先验分布 p ( θ ) p(\theta) p(θ) ,先验分布 p ( θ ) p(\theta) p(θ) 由 q ( θ ) q(\theta) q(θ) 定义。
w t = p ( x ∣ θ t ) p ( θ t ) p ( θ t ) = p ( x ∣ θ t ) w^t=\frac{p(x|\theta^t)p(\theta^t)}{p(\theta^t)}=p(x|\theta^t) wt=p(θt)p(x∣θt)p(θt)=p(x∣θt)
因此,我们找到了从先验分布中采集样本,用似然函数权衡样本,进而推断出后验分布的一种方法。
如果,很容易从由 q ( θ ) q(\theta) q(θ) 所定义的分布中采集到样本,则算法的效果会有所提升,但直接从由 f ( θ ) f(\theta) f(θ) 所定义的分布中采集样本并非易事。在样本集规模一定时, q ( θ ) q(\theta) q(θ) 越接近 f ( θ ) f(\theta) f(θ) ,估计的准确性越高。重要性采样的权值出现很大波动时,所做的估计可能不可靠,因为如果权值过大就会出现退化问题,这将导致所做的估计仅仅依据最大权值的那些样本。
-
用于贝叶斯分类器
就分类问题,对 ω j \omega_j ωj 类的预测密度表示为
p ( x ∣ ω j , D j ) = E θ j ∣ D j [ p ( x ∣ θ j ) ] p(x|\omega_j,D_j)=E_{\theta_j|D_j}[p(x|\theta_j)] p(x∣ωj,Dj)=Eθj∣Dj[p(x∣θj)]在近似重要性采样情况下,如果 f i ( θ j ) f_i(\theta_j) fi(θj) 与后验密度函数 p ( θ j ∣ D j ) p(\theta_j|D_j) p(θj∣Dj) 成比例,样本 { θ j 1 , . . . , θ j N S } \lbrace \theta_j^1,...,\theta_j^{N_S} \rbrace {θj1,...,θjNS} 源于与 q j ( θ j ) q_j(\theta_j) qj(θj) 成比例的概率密度函数的分布,则
p ( x ∣ ω j , D j ) ≈ 1 ∑ t = 1 N S w j t ∑ t = 1 N S w j t p ( x ∣ θ j t ) p(x|\omega_j,D_j)\approx\frac{1}{\sum_{t=1}^{N_S}w_j^t}\sum_{t=1}^{N_S}w_j^tp(x|\theta_j^t) p(x∣ωj,Dj)≈∑t=1NSwjt1t=1∑NSwjtp(x∣θjt)
w j t = f j ( θ j t ) / q j ( θ j t ) = p ( D j ∣ θ j t ) p ( θ j t ) q j ( θ j t ) , t = 1 , . . . , N S w_j^t=f_j(\theta_j^t)/q_j(\theta_j^t)=\frac{p(D_j|\theta_j^t)p(\theta_j^t)}{q_j(\theta_j^t)},t=1,...,N_S wjt=fj(θjt)/qj(θjt)=qj(θjt)p(Dj∣θjt)p(θjt),t=1,...,NS
此时的贝叶斯分类器为:
g i = ( 1 ∑ t = 1 N S w j t ∑ t = 1 N S w j t p ( x ∣ θ j t ) ) p ( ω i ) g_i=(\frac{1}{\sum_{t=1}^{N_S}w_j^t}\sum_{t=1}^{N_S}w_j^tp(x|\theta_j^t))p(\omega_i) gi=(∑t=1NSwjt1t=1∑NSwjtp(x∣θjt))p(ωi)
分类标准同前所述。
实际上,此类的计算方法理解起来并不困难。就像试验一样,通过实验结果的均值来判断试验概率。