机器学习笔记之变分推断——基于平均场假设变分推断与广义EM

  • 引言
    • 回顾:基于平均场假设的变分推断
    • 深入认识平均场假设
    • 经典变分推断与广义EM

引言

上一节介绍了基于平均场假设 的变分推断推导过程。本节将介绍平均场假设变分推断与广义EM之间的联系

回顾:基于平均场假设的变分推断

首先,平均场理论(Mean Theory)是一个物理学的概念,将隐变量在概率图中的状态变量 划分成M\mathcal MM个组,将整个关于 隐变量的概率分布看作M\mathcal MM个独立的子概率分布。数学符号表示如下:
Q(Z)=∏i=1MQi(Z(i))=Q1(Z(1))⋅Q2(Z(2))⋯QM(Z(M))\begin{aligned} \mathcal Q(\mathcal Z) & = \prod_{i=1}^{\mathcal M} \mathcal Q_i(\mathcal Z^{(i)}) \\ & = \mathcal Q_1(\mathcal Z^{(1)}) \cdot \mathcal Q_2(\mathcal Z^{(2)}) \cdots \mathcal Q_{\mathcal M}(\mathcal Z^{(\mathcal M)}) \end{aligned}Q(Z)​=i=1∏M​Qi​(Z(i))=Q1​(Z(1))⋅Q2​(Z(2))⋯QM​(Z(M))​
由于平均场假设,Q(Z)\mathcal Q(\mathcal Z)Q(Z)内部各子概率分布Qi(Z(i))\mathcal Q_{i}(\mathcal Z^{(i)})Qi​(Z(i))之间相互独立,因此,在求解 任一子概率分布Qj(Z(j))(j∈{1,2,⋯,M})\mathcal Q_j(\mathcal Z^{(j)})(j \in \{1,2,\cdots,\mathcal M\})Qj​(Z(j))(j∈{1,2,⋯,M}) 过程中,可以通过固定剩余的M−1\mathcal M - 1M−1项进行求解。令:
注意:由于只将Z(j)\mathcal Z^{(j)}Z(j)看作变量,因此该期望基于的分布∏i≠jMQi(Z(i))\prod_{i \neq j}^{\mathcal M} \mathcal Q_i(\mathcal Z^{(i)})∏i=jM​Qi​(Z(i))是已知分布。同理,隐变量Z=(Z(1),Z(2),⋯,Z(M))\mathcal Z = (\mathcal Z^{(1)},\mathcal Z^{(2)},\cdots,\mathcal Z^{(\mathcal M)})Z=(Z(1),Z(2),⋯,Z(M))中只有Z(j)\mathcal Z^{(j)}Z(j)是变量,其余均是常数。因此,将该期望视作关于X,Z(j)\mathcal X,\mathcal Z^{(j)}X,Z(j)的函数。
E∏i≠jMQi(Z(i))[log⁡P(X,Z)]=log⁡ϕ^(X,Z(j))\mathbb E_{\prod_{i \neq j}^{\mathcal M} \mathcal Q_i(\mathcal Z^{(i)})} \left[ \log P(\mathcal X,\mathcal Z)\right] = \log \hat \phi (\mathcal X ,\mathcal Z^{(j)})E∏i=jM​Qi​(Z(i))​[logP(X,Z)]=logϕ^​(X,Z(j))

从而求解最优Qj^(Z(j))\hat {\mathcal Q_j}(\mathcal Z^{(j)})Qj​^​(Z(j))的值:
Qj^(Z(j))=arg⁡max⁡Qj(Z(j))L[Q(Z)]=arg⁡max⁡Qj(Z(j)){−KL[ϕ^(X,Z(j))∣∣Qj(Z(j))]}\begin{aligned} \hat {\mathcal Q_j}(\mathcal Z^{(j)}) & = \mathop{\arg\max}\limits_{\mathcal Q_j(\mathcal Z^{(j)})} \mathcal L[\mathcal Q(\mathcal Z)] \\ & = \mathop{\arg\max}\limits_{\mathcal Q_j(\mathcal Z^{(j)})} \left\{- \mathcal K\mathcal L \left[ \hat \phi(\mathcal X,\mathcal Z^{(j)}) || \mathcal Q_j(\mathcal Z^{(j)})\right] \right\} \end{aligned}Qj​^​(Z(j))​=Qj​(Z(j))argmax​L[Q(Z)]=Qj​(Z(j))argmax​{−KL[ϕ^​(X,Z(j))∣∣Qj​(Z(j))]}​
同理,可以尝试求解其他的子概率分布
Q1^(Z(1)),Q1^(Z(1)),⋯,QM^(Z(M))\hat {\mathcal Q_1}(\mathcal Z^{(1)}),\hat {\mathcal Q_1}(\mathcal Z^{(1)}),\cdots, \hat {\mathcal Q_{\mathcal M}}(\mathcal Z^{(\mathcal M)})Q1​^​(Z(1)),Q1​^​(Z(1)),⋯,QM​^​(Z(M))
最终,求得最优解Q^(Z)\hat {\mathcal Q}(\mathcal Z)Q^​(Z):
Q^(Z)=∏j=1MQ^j(Z(j))\hat {\mathcal Q}(\mathcal Z) = \prod_{j=1}^{\mathcal M}\hat {\mathcal Q}_j(\mathcal Z^{(j)})Q^​(Z)=j=1∏M​Q^​j​(Z(j))

深入认识平均场假设

观察上式,上述的推导过程看似无懈可击,但实际上 存在漏洞
并不是说Q^(Z)=∏j=1MQ^j(Z(j))\hat {\mathcal Q}(\mathcal Z) = \prod_{j=1}^{\mathcal M}\hat {\mathcal Q}_j(\mathcal Z^{(j)})Q^​(Z)=∏j=1M​Q^​j​(Z(j))是错误的,因为该式子是 平均场假设给我们提供的条件。具体漏洞在什么地方?

如果我们将Q(Z)\mathcal Q(\mathcal Z)Q(Z)看成关于Q1(Z(1)),Q2(Z(2)),⋯,QM(Z(M))\mathcal Q_1(\mathcal Z^{(1)}),\mathcal Q_2(\mathcal Z^{(2)}),\cdots,\mathcal Q_{\mathcal M}(\mathcal Z^{(\mathcal M)})Q1​(Z(1)),Q2​(Z(2)),⋯,QM​(Z(M))的函数。即令:
将上式展开即可~
Q(Z)=Q1(Z(1))⋅Q2(Z(2))⋯QM(Z(M))=J(Q1,Q2,⋯,QM)\begin{aligned} \mathcal Q(\mathcal Z) & = \mathcal Q_1(\mathcal Z^{(1)}) \cdot \mathcal Q_2(\mathcal Z^{(2)}) \cdots \mathcal Q_{\mathcal M}(\mathcal Z^{(\mathcal M)}) \\ & = \mathcal J \left(\mathcal Q_1,\mathcal Q_2,\cdots,\mathcal Q_{\mathcal M}\right) \end{aligned}Q(Z)​=Q1​(Z(1))⋅Q2​(Z(2))⋯QM​(Z(M))=J(Q1​,Q2​,⋯,QM​)​
每一次都固定M−1\mathcal M - 1M−1的变量,只为求出剩余变量的最优结果。那么如果初始隐变量是随机的,即如果每次求解过程中都对随机结果进行固定并求解,那么我们总是得不到一个最优结果
因此,如何在各自概率分布分别固定的过程中,使Q^(Z)\hat {\mathcal Q}(\mathcal Z)Q^​(Z)越来越好,最终达到最优
依然是坐标上升法(Coordinate Ascent)。

  • 假设当前求解Q1(Z(1))\mathcal Q_1(\mathcal Z^{(1)})Q1​(Z(1)),同时固定其余所有分布,我们会得到如下结果:
    Q1^(Z(1))=arg⁡max⁡Q1(Z(1)){−KL[ϕ^(X,Z(1))∣∣Q1(Z(1))]}\hat {\mathcal Q_1}(\mathcal Z^{(1)}) = \mathop{\arg\max}\limits_{\mathcal Q_1(\mathcal Z^{(1)})} \left\{- \mathcal K\mathcal L \left[ \hat \phi(\mathcal X,\mathcal Z^{(1)}) || \mathcal Q_1(\mathcal Z^{(1)})\right] \right\}Q1​^​(Z(1))=Q1​(Z(1))argmax​{−KL[ϕ^​(X,Z(1))∣∣Q1​(Z(1))]}
    此时的Q(Z)\mathcal Q(\mathcal Z)Q(Z)表示如下:
    将第一次迭代产生的最优解Q1^(Z(1))\hat {\mathcal Q_1}(\mathcal Z^{(1)})Q1​^​(Z(1))带进Q(Z)\mathcal Q(\mathcal Z)Q(Z)中。
    Q(Z)=J(Q1^,Q2,⋯,QM)\mathcal Q(\mathcal Z) = \mathcal J(\hat {\mathcal Q_1},\mathcal Q_2,\cdots,\mathcal Q_{\mathcal M})Q(Z)=J(Q1​^​,Q2​,⋯,QM​)
  • 第一步的基础上,求解Q^2(Z(2))\hat {\mathcal Q}_2(\mathcal Z^{(2)})Q^​2​(Z(2)):
    Q2^(Z(2))=arg⁡max⁡Q2(Z(2)){−KL[ϕ^(X,Z(2))∣∣Q2(Z(2))]}\hat {\mathcal Q_2}(\mathcal Z^{(2)}) = \mathop{\arg\max}\limits_{\mathcal Q_2(\mathcal Z^{(2)})} \left\{- \mathcal K\mathcal L \left[ \hat \phi(\mathcal X,\mathcal Z^{(2)}) || \mathcal Q_2(\mathcal Z^{(2)})\right] \right\}Q2​^​(Z(2))=Q2​(Z(2))argmax​{−KL[ϕ^​(X,Z(2))∣∣Q2​(Z(2))]}
    此时的Q(Z)\mathcal Q(\mathcal Z)Q(Z)表示如下:
    同上~
    Q(Z)=J(Q1^,Q2^,⋯,QM)\mathcal Q(\mathcal Z) = \mathcal J(\hat {\mathcal Q_1},\hat {\mathcal Q_2},\cdots,\mathcal Q_{\mathcal M})Q(Z)=J(Q1​^​,Q2​^​,⋯,QM​)
  • 以此类推,直到固定最后一个子概率分布QM(Z(M))\mathcal Q_{\mathcal M}(\mathcal Z^{(\mathcal M)})QM​(Z(M)),最终得到:
    Q(Z)=J(Q1^,Q2^,⋯,Q^M)\mathcal Q(\mathcal Z) = \mathcal J(\hat {\mathcal Q_1},\hat {\mathcal Q_2},\cdots,\hat {\mathcal Q}_{\mathcal M})Q(Z)=J(Q1​^​,Q2​^​,⋯,Q^​M​)
    此时,我们已经将 所有的子概率分布 全部求解一遍,并不是说此时的Q(Z)\mathcal Q(\mathcal Z)Q(Z)就是最优分布,而是仅完整地执行了第一次迭代
    后续将继续从第一个Q1^(Z(1))\hat {\mathcal Q_1}(\mathcal Z^{(1)})Q1​^​(Z(1))再次进行求解。这种方式就可以逐渐得到最优的Q(Z)\mathcal Q(\mathcal Z)Q(Z)

经典变分推断与广义EM

基于平均场假设的变分推断与广义EM存在很多相似之处:

  • 它们的求解方式都是基于KL\mathcal K\mathcal LKL散度的性质,将求解过程转换为如下形式
    arg⁡max⁡ELBO\mathop{\arg\max} ELBOargmaxELBO
  • 并且它们均转化为坐标上升法来解决最优解问题
    • 广义EM
      {Q^(Z)=arg⁡max⁡Q(Z)L[Q(Z),θ]θ^=arg⁡max⁡θL[Q(Z),θ]L[Q(Z),θ]=∫ZQ(Z)log⁡P(X,Z∣θ(t))Q(Z)dZ\begin{cases} \hat {\mathcal Q}(\mathcal Z) = \mathop{\arg\max}\limits_{\mathcal Q(\mathcal Z)} \mathcal L\left[\mathcal Q(\mathcal Z),\theta\right] \\ \hat \theta = \mathop{\arg\max}\limits_{\theta} \mathcal L[\mathcal Q(\mathcal Z),\theta] \end{cases} \\ \mathcal L[\mathcal Q(\mathcal Z),\theta] = \int_{\mathcal Z} \mathcal Q(\mathcal Z) \log \frac{P(\mathcal X,\mathcal Z \mid \theta^{(t)})}{\mathcal Q(\mathcal Z)} d\mathcal Z⎩⎨⎧​Q^​(Z)=Q(Z)argmax​L[Q(Z),θ]θ^=θargmax​L[Q(Z),θ]​L[Q(Z),θ]=∫Z​Q(Z)logQ(Z)P(X,Z∣θ(t))​dZ
    • 基于平均场假设的变分推断
      Qj^(Z(j))=arg⁡max⁡Qj(Z(j))L[Q(Z)]=arg⁡max⁡Qj(Z(j)){−KL[ϕ^(X,Z(j))∣∣Qj(Z(j))]}L[Q(Z)]=∫ZQ(Z)⋅log⁡[P(X,Z)Q(Z)]dZQ(Z)=J(Q1,⋯,Q^j,⋯,QM)\begin{aligned} \hat {\mathcal Q_j}(\mathcal Z^{(j)}) & = \mathop{\arg\max}\limits_{\mathcal Q_j(\mathcal Z^{(j)})} \mathcal L[\mathcal Q(\mathcal Z)]\\ & = \mathop{\arg\max}\limits_{\mathcal Q_j(\mathcal Z^{(j)})} \left\{- \mathcal K\mathcal L \left[ \hat \phi(\mathcal X,\mathcal Z^{(j)}) || \mathcal Q_j(\mathcal Z^{(j)})\right] \right\} \end{aligned} \\ \mathcal L[\mathcal Q(\mathcal Z)] = \int_{\mathcal Z} \mathcal Q(\mathcal Z) \cdot \log \left[\frac{P(\mathcal X,\mathcal Z)}{\mathcal Q(\mathcal Z)}\right]d\mathcal Z \\ \mathcal Q(\mathcal Z) = \mathcal J(\mathcal Q_1,\cdots,\hat {\mathcal Q}_j,\cdots,\mathcal Q_{\mathcal M})Qj​^​(Z(j))​=Qj​(Z(j))argmax​L[Q(Z)]=Qj​(Z(j))argmax​{−KL[ϕ^​(X,Z(j))∣∣Qj​(Z(j))]}​L[Q(Z)]=∫Z​Q(Z)⋅log[Q(Z)P(X,Z)​]dZQ(Z)=J(Q1​,⋯,Q^​j​,⋯,QM​)

它们之间的核心区别更在于对于问题的理解角度不同

  • 广义EM算法的核心依然是 频率学派角度的求解逻辑——求解概率模型P(X∣θ)P(\mathcal X \mid \theta)P(X∣θ)中的最优参数θ^\hat \thetaθ^。它的底层逻辑依然是 极大似然估计(Maximum Likelihood Estimate,MLE);
  • 相比于广义EM算法基于平均场假设的变分推断的核心是 贝叶斯学派角度的求解逻辑:针对P(X)P(\mathcal X)P(X)积分难的问题
    P(X)=∫ZP(X,Z)dZ=∫ZP(X∣Z)⋅P(Z)dZ\begin{aligned} P(\mathcal X) & = \int_{\mathcal Z} P(\mathcal X,\mathcal Z) d\mathcal Z \\ & = \int_{\mathcal Z} P(\mathcal X \mid \mathcal Z)\cdot P(\mathcal Z) d\mathcal Z \end{aligned}P(X)​=∫Z​P(X,Z)dZ=∫Z​P(X∣Z)⋅P(Z)dZ​
    通过对P(θ∣X)P(\theta \mid \mathcal X)P(θ∣X)采用近似手段,将关于参数的后验求解出来。换句话说,对于参数结果θ\thetaθ在贝叶斯学派角度中并不是不存在,而是贝叶斯学派角度并不关心θ\thetaθ的具体值,而是关心θ\thetaθ的后验分布
    因此,在整个变分推断的推导过程中,我们总是有意地弱化模型参数θ\thetaθ的作用,而更加关注后验概率本身。

相关参考:
机器学习-变分推断3(再回首)

机器学习之变分推断(三)基于平均场假设变分推断与广义EM相关推荐

  1. 机器学习笔记之玻尔兹曼机(三)基于平均场理论变分推断的梯度求解(续)

    机器学习笔记之玻尔兹曼机--基于平均场推断梯度求解[续] 引言 Λ 3 \Lambda_3 Λ3​梯度求解 求解最优参数 ϕ ^ j \hat {\phi}_j ϕ^​j​ 引言 基于玻尔兹曼机(三) ...

  2. 机器学习笔记之玻尔兹曼机(三)梯度求解(基于平均场理论的变分推断)

    机器学习笔记之玻尔兹曼机--基于平均场推断梯度求解 引言 回顾:玻尔兹曼机模型参数梯度求解困难与MCMC方法的处理方式 变分推断方法处理玻尔兹曼机对数似然梯度 引言 上一节介绍了使用马尔可夫链蒙特卡洛 ...

  3. 机器学习-白板推导系列笔记(十二)-变分推断(VI)

    此文章主要是结合哔站shuhuai008大佬的白板推导视频: VI变分推断_126min 全部笔记的汇总贴:机器学习-白板推导系列笔记 一.背景 对于概率模型 从频率派角度来看就会是一个优化问题 从贝 ...

  4. 机器学习算法(七): 基于LightGBM的分类预测(基于英雄联盟10分钟数据判断红蓝方胜负)

    机器学习算法(七)基于LightGBM的分类预测 1. 实验室介绍 1.1 LightGBM的介绍 LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由20 ...

  5. A.机器学习入门算法[七]:基于英雄联盟数据集的LightGBM的分类预测

    [机器学习入门与实践]入门必看系列,含数据挖掘项目实战:数据融合.特征优化.特征降维.探索性分析等,实战带你掌握机器学习数据挖掘 专栏详细介绍:[机器学习入门与实践]合集入门必看系列,含数据挖掘项目实 ...

  6. 机器学习-白板推导系列(三十)-生成模型(Generative Model)

    机器学习-白板推导系列(三十)-生成模型(Generative Model) 30.1 生成模型的定义 前面所详细描述的模型以浅层的机器学习为主.本章将承上启下引出后面深度机器学习的部分.本小节,主要 ...

  7. 机器学习入门笔记(三):K近邻算法

    文章目录 一.K近邻算法的基本概念 1.1 K近邻算法实现 二.K近邻分类三要素 2.1 距离度量 2.2 K值的选择 2.2.1 基于m-fold cross validation的 K值选择 2. ...

  8. 机器学习实战(四)——基于概率论的分类方法:朴素贝叶斯

    朴素贝叶斯法 4.1 基于贝叶斯决策理论的分类方法 4.1.1 贝叶斯决策理论 4.1.2 条件概率 4.1.3 全概率公式 4.1.4 贝叶斯推断 4.1.5 朴素贝叶斯 4.2 使用朴素贝叶斯进行 ...

  9. 《机器学习与数据科学(基于R的统计学习方法)》——1.2 机器学习的实际案例...

    本节书摘来异步社区<机器学习与数据科学(基于R的统计学习方法)>一书中的第1章,第1.2节,作者:[美]Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区&q ...

最新文章

  1. DCIM在数据中心现代化计划中的作用
  2. IF_BSP_WD_HISTORY_STATE_DESCR~IS_RESTORABLE的用法
  3. NLP基础 : HMM 隐马尔可夫模型
  4. 计算机科学考试大纲,计算机科学与技术考试大纲.doc
  5. 游戏服务器宕机应对措施
  6. 专技天下河北省2016年专业技术人员继续教育公需科目题库答案(答题器)
  7. redis一般用来干嘛_谈谈redis的热key问题如何解决
  8. 关于html5中a链接的download属性
  9. 屏蔽KEmulator的内存查看功能
  10. cad剖切线的快捷键_CAD中剖面线如何画
  11. 在unti-app中使用阿里的iconfont图标
  12. RTC月度小报5月 |教育aPaaS灵动课堂升级、抢先体验VUE版 Agora Web SDK、声网Agora与HTC达成合作
  13. 优化理论12---- Rosen的梯度投影法 、投影矩阵
  14. apex老是显示匹配服务器失败,Apex英雄与服务器不同步怎么办-服务器连接超时怎么办 - Iefans...
  15. 弘辽科技:学会正确竞品分析,与同行竞争对手抢流量
  16. 哈工大计算机学院考研复试分数线2021,哈工大考研分数线2021什么时候出来?
  17. 利用外部程序对存储BIOS设置参数的CMOS RAM进行读取操作的可行性分析
  18. VS2019 x64环境下应用程序无法正常启动,出现0xc000007b报错
  19. 欢乐拼购商城APP系统软件模式解析源代码
  20. 多平台一键文章博客发布工具

热门文章

  1. 微信小程序时代,小程序员的产品创意集合
  2. 京东到家程序员离职当天删库跑路
  3. Matlab机器人工具箱(3):双臂操作(从模型建立到轨迹规划)
  4. 零基础ESP8266学习篇-认识esp8266
  5. ​汽车芯片的可靠性设计:控制亚稳态,提升稳定性
  6. 黑窗口方式,使用命令行导入导出Oracle
  7. xshell对mysql的备份与恢复_XShell5里面登陆了数据库,如何将数据库里面的表或者整个数据库备份导出来(和导入进去)...
  8. 青岛租房 不知道租哪儿,手动做的租房地图。
  9. [SUCTF 2019]EasySQL1
  10. 面对勒索软件,除了交赎金,还能怎么办?——我们有11个建议给你