zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

(《机器学习》完整版系列)第14章 概率图模型——14.8 吉布斯采样算法的详细推导(将“多变量”联合采样变为交替地“单变量”采样)

机器算法学习变量 系列 详细 模型 14
2023-09-11 14:14:53 时间

吉布斯采样是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(xy) p ( y   ∣   x ) p(y\,|\,x) p(yx)),神奇的是它并没有引入新的分布,而是用其条件分布。
可将二维推广到多维,它是逐个坐标系数地调整。

再谈吉布斯采样

7.7 贝叶斯网络推断中,我们从贝叶斯网的角度讨论了吉布斯采样,这里我们再从MH算法的角度对它讨论。
以二维样本 x \boldsymbol{x} x为例。

多重转移模型:当由一对随机变量 ( x , y ) (x,y) (x,y)表示系统状态时,虽然状态转移模型是二维的(联合转移),但分解为在 x x x y y y两个坐标轴上定义的转移模型很可能更容易处理。 如图14.11 所示。
图14.11 多重转移(一)

图14.11 多重转移(一)

将马尔可夫链中原来的以虚线方框的步(基于 ( x , y ) (x,y) (x,y))分解为圆圈的步(对应于从标轴上的转移模型):先 x x x轴上的转移(对应于图中的单圆圈),再 y y y轴上的转移(对应于图中的双圆圈),单圆圈为样本的“半成品”,双圆圈才是样本的“成品”。 为便于分析,我们将图14.11 调整为图14.12 。
图14.12 多重转移(二)

图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(xtyt1)T2=p(ytxt)(14.69)

T = T 2 ⋅ T 1 T=T_2\cdot T_1 T=T2T1,则有
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)(xt1,yt1))=p(ytxt)p(xtyt1)(由式(14.69)=p(ytxt,yt1,xt1)p(xtyt1,xt1)(由马氏链性质)=p(yt,xtyt1,xt1)(14.70)
对式(14.70)两边乘 p ( y t − 1 , x t − 1 ) p(y^{t-1},x^{t-1}) p(yt1,xt1)并对 ( y t − 1 , x t − 1 ) (y^{t-1},x^{t-1}) (yt1,xt1)求和
∑ ( 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} (yt1,xt1)p(yt1,xt1)T((xt,yt)(xt1,yt1))=(yt1,xt1)p(yt1,xt1)p(yt,xtyt1,xt1)=(yt1,xt1)p((yt,xt),(yt1,xt1))=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(xy) p ( y   ∣   x ) p(y\,|\,x) p(yx)),神奇的是它并没有引入新的分布,而是用其条件分布。

理解吉布斯算法是MH算法的特例:改造【西瓜书图14.9】MH算法:第3句改为基于第2句的for交替地取 p ( y ∗   ∣   x t − 1 ) p(y^*\,|\,x^{t-1}) p(yxt1) p ( x ∗   ∣   y t − 1 ) p(x^*\,|\,y^{t-1}) p(xyt1)采样出二维样本的新分量,产生的新样本为一个分量不变另一个分量为新的;第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 变分推断的详细推导(找一个“数学性质好的分布”来近似代替)