吉布斯采样是MH算法的特例,
吉布斯采样:通过
T
1
,
T
2
T_1,T_2
T1,T2构造出需要的平稳马尔可夫链,它将“多变量”联合采样
p
(
x
,
y
)
p(x,y)
p(x,y)变为交替地“单变量”采样(基于
p
(
x
,
y
)
p(x,y)
p(x,y)的
p
(
x
∣
y
)
p(x\,|\,y)
p(x∣y)和
p
(
y
∣
x
)
p(y\,|\,x)
p(y∣x)),神奇的是它并没有引入新的分布,而是用其条件分布。
可将二维推广到多维,它是逐个坐标系数地调整。
再谈吉布斯采样
在7.7 贝叶斯网络推断中,我们从贝叶斯网的角度讨论了吉布斯采样,这里我们再从MH算法的角度对它讨论。
以二维样本
x
\boldsymbol{x}
x为例。
多重转移模型:当由一对随机变量
(
x
,
y
)
(x,y)
(x,y)表示系统状态时,虽然状态转移模型是二维的(联合转移),但分解为在
x
x
x和
y
y
y两个坐标轴上定义的转移模型很可能更容易处理。 如图14.11 所示。
将马尔可夫链中原来的以虚线方框的步(基于
(
x
,
y
)
(x,y)
(x,y))分解为圆圈的步(对应于从标轴上的转移模型):先
x
x
x轴上的转移(对应于图中的单圆圈),再
y
y
y轴上的转移(对应于图中的双圆圈),单圆圈为样本的“半成品”,双圆圈才是样本的“成品”。 为便于分析,我们将图14.11 调整为图14.12 。
虚线椭圆表示原来的马尔可夫链中的步
T
T
T,分解为两步:
T
1
T_1
T1和
T
2
T_2
T2,设要采样的分布为
p
(
x
,
y
)
p(x,y)
p(x,y),定义
{
T
1
=
p
(
x
t
∣
y
t
−
1
)
T
2
=
p
(
y
t
∣
x
t
)
\begin{align} \begin{cases} T_1=p(x^t\,|\,y^{t-1}) \\ T_2=p(y^t\,|\,x^{t}) \\ \end{cases} \tag{14.69} \end{align}
{T1=p(xt∣yt−1)T2=p(yt∣xt)(14.69)
令
T
=
T
2
⋅
T
1
T=T_2\cdot T_1
T=T2⋅T1,则有
T
(
(
x
t
,
y
t
)
∣
(
x
t
−
1
,
y
t
−
1
)
)
=
p
(
y
t
∣
x
t
)
p
(
x
t
∣
y
t
−
1
)
(由式(14.69))
=
p
(
y
t
∣
x
t
,
y
t
−
1
,
x
t
−
1
)
p
(
x
t
∣
y
t
−
1
,
x
t
−
1
)
(由马氏链性质)
=
p
(
y
t
,
x
t
∣
y
t
−
1
,
x
t
−
1
)
\begin{align} T((x^t,y^t)\,|\,(x^{t-1},y^{t-1})) & =p(y^t\,|\,x^{t})p(x^t\,|\,y^{t-1})\quad\text{(由式(14.69))}\notag \\ & =p(y^t\,|\,x^{t},y^{t-1},x^{t-1})p(x^t\,|\,y^{t-1},x^{t-1})\quad\text{(由马氏链性质)}\notag \\ & =p(y^t,x^t\,|\,y^{t-1},x^{t-1}) \tag{14.70} \end{align}
T((xt,yt)∣(xt−1,yt−1))=p(yt∣xt)p(xt∣yt−1)(由式(14.69))=p(yt∣xt,yt−1,xt−1)p(xt∣yt−1,xt−1)(由马氏链性质)=p(yt,xt∣yt−1,xt−1)(14.70)
对式(14.70)两边乘
p
(
y
t
−
1
,
x
t
−
1
)
p(y^{t-1},x^{t-1})
p(yt−1,xt−1)并对
(
y
t
−
1
,
x
t
−
1
)
(y^{t-1},x^{t-1})
(yt−1,xt−1)求和
∑
(
y
t
−
1
,
x
t
−
1
)
p
(
y
t
−
1
,
x
t
−
1
)
T
(
(
x
t
,
y
t
)
∣
(
x
t
−
1
,
y
t
−
1
)
)
=
∑
(
y
t
−
1
,
x
t
−
1
)
p
(
y
t
−
1
,
x
t
−
1
)
p
(
y
t
,
x
t
∣
y
t
−
1
,
x
t
−
1
)
=
∑
(
y
t
−
1
,
x
t
−
1
)
p
(
(
y
t
,
x
t
)
,
(
y
t
−
1
,
x
t
−
1
)
)
=
p
(
y
t
,
x
t
)
\begin{align} & \quad \sum_{(y^{t-1},x^{t-1})}p(y^{t-1},x^{t-1})T((x^t,y^t)\,|\,(x^{t-1},y^{t-1}))\notag \\ & =\sum_{(y^{t-1},x^{t-1})}p(y^{t-1},x^{t-1})p(y^t,x^t\,|\,y^{t-1},x^{t-1})\notag \\ & =\sum_{(y^{t-1},x^{t-1})}p((y^t,x^t),(y^{t-1},x^{t-1}))\notag \\ & =p(y^t,x^t) \tag{14.71} \end{align}
(yt−1,xt−1)∑p(yt−1,xt−1)T((xt,yt)∣(xt−1,yt−1))=(yt−1,xt−1)∑p(yt−1,xt−1)p(yt,xt∣yt−1,xt−1)=(yt−1,xt−1)∑p((yt,xt),(yt−1,xt−1))=p(yt,xt)(14.71)
T
T
T是刻划虚线椭圆表示马尔可夫链,比较式(14.71)与式(14.47)知,虚线椭圆表示马尔可夫链为平稳分布,其平稳分布为
p
(
x
,
y
)
p(x,y)
p(x,y),它是要采样的分布。 这就得到吉布斯采样:通过
T
1
,
T
2
T_1,T_2
T1,T2构造出需要的平稳马尔可夫链(图中虚线椭圆所示),每个虚线椭圆都是一个合格的样本
(
x
,
y
)
(x,y)
(x,y),即它将“多变量”联合采样
p
(
x
,
y
)
p(x,y)
p(x,y)变为交替地“单变量”采样(基于
p
(
x
,
y
)
p(x,y)
p(x,y)的
p
(
x
∣
y
)
p(x\,|\,y)
p(x∣y)和
p
(
y
∣
x
)
p(y\,|\,x)
p(y∣x)),神奇的是它并没有引入新的分布,而是用其条件分布。
理解吉布斯算法是MH算法的特例:改造【西瓜书图14.9】MH算法:第3句改为基于第2句的for交替地取 p ( y ∗ ∣ x t − 1 ) p(y^*\,|\,x^{t-1}) p(y∗∣xt−1)和 p ( x ∗ ∣ y t − 1 ) p(x^*\,|\,y^{t-1}) p(x∗∣yt−1)采样出二维样本的新分量,产生的新样本为一个分量不变另一个分量为新的;第4至10句改为: 以概率1接受轴方向的转移,即只剩下第6句。 这就是二维样本时的吉布斯算法。
将二维推广到多维,即为【西瓜书p.334】的吉布斯采样步骤,它是逐个坐标系数地调整,一轮调整只采样出一个 d d d维样本( x = ( x 1 , x 2 , ⋯ , , x d ) \boldsymbol{x}=(x_1,x_2,\cdots,,x_d) x=(x1,x2,⋯,,xd),对应于二维时图14.11 中的一个虚线椭圆),而不是 N N N个样本。
进一步地,每次调整多个坐标系数,则为【西瓜书图7.5】的通用的吉布斯采样算法。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:14.7 MH算法(提议分布,“拒绝采样”)
下一篇:14.9 变分推断的详细推导(找一个“数学性质好的分布”来近似代替)