(《机器学习》完整版系列)第14章 概率图模型——14.8 吉布斯采样算法的详细推导(将“多变量”联合采样变为交替地“单变量”采样)
吉布斯采样是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 变分推断的详细推导(找一个“数学性质好的分布”来近似代替)
相关文章
- 如何透彻的掌握一门机器学习算法
- 机器学习之决策树(ID3)算法与Python实现
- 机器学习----人脸对齐的算法-ASM.AAM..CLM.SDM
- 机器学习算法评价指标
- 如何透彻的掌握一门机器学习算法
- 机器学习笔记 - 用于颜值评分的数据集和算法
- Opencv学习笔记 - OpenCV 4机器学习算法简介
- 【原创】机器学习之PageRank算法应用与C#实现(1)算法介绍
- AI:人工智能领域算法思维导图集合之有监督学习/无监督学习/强化学习类型的具体算法简介(预测函数/优化目标/求解算法)、分类/回归/聚类/降维算法模型选择思路、11类机器学习算法详细分类之详细攻略
- ML之回归预测:利用13种机器学习算法对Boston(波士顿房价)数据集【13+1,506】进行回归预测(房价预测)+预测新数据得分
- ML之回归预测:利用两种机器学习算法(LiR,XGBoost(调优+重要性可视化+特征选择模型))对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值
- ML之回归预测:利用八(9-1)种机器学习算法对无人驾驶汽车参数(2017年的data,18+2)进行回归预测值VS真实值
- 基于机器学习和TFIDF的情感分类算法,详解自然语言处理
- m基于GA遗传优化+SA模拟退火的混合改进算法的多产品多机器生产优化matlab仿真
- 【机器学习】最大期望算法(EM)
- 【阶段三】Python机器学习13篇:机器学习项目实战:支持向量机分类的算法原理
- 【阶段三】Python机器学习12篇:机器学习项目实战:朴素贝叶斯模型的算法原理与朴素贝叶斯分类模型
- 通过GAN绕过基于机器学习的IDS检测系统,IDSGAN(也是对IDS ML检测算法进行绕过,数据集使用NSL-KDD,DoS、U2R、R2L三种攻击)——也有最新防御的方法
- 机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size
- DNS通道检测 国外学术界研究情况——研究方法:基于流量,使用机器学习分类算法居多,也有使用聚类算法的;此外使用域名zif low也有
- 机器学习算法之有监督学习和无监督学习的区别
- 【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
- 【Deepin 20系统】机器学习分类算法模型xgboost、lightgbm、catboost安装及使用
- 【C++ 科学计算】机器学习算法 Dlib 编译安装(ubuntu)
- Fate1.6 支持的机器学习算法