本节书摘来自华章出版社《深度学习导论及案例分析》一书中的第2章,第2.11节,作者李玉鑑 张婷,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.11概率图模型的推理

如果已经知道了概率图模型的结构和参数,就可以进行有关的推理(inference)。推理是指在给定观测结果时,评估变量的边际配置(marginal configuration)或最可能的配置(most likely configuration)。为了这个目标,需要把随机变量集X划分成三个互不相交子集O、Q、H,即:
X=O∪Q∪H

O∩Q=O∩H=Q∩H=(2.106)

其中O代表观测节点集(或证据变量的集合),Q代表查询变量集,H指既不属于O,也不属于Q的节点集,也称为潜在变量集或隐含变量集。注意,它们的联合概率分布p(Q,H,O)是一种生成模型,条件概率分布p(Q,HO)则是一种判别模型。

推理有两种基本类型[119]:边际分布查询(marginalization query)和最大后验查询(maximum aposteriori query)。边际分布查询是在给定观察O的条件下,推理查询变量的边际分布,即计算:

P(QO=o)=P(Q,O=o)P(O=o)(2.107)

其中,

P(Q,O=o)=∑h∈val(H)P(Q,O=o,h)(2.108)P(O=o)=∑q∈val(Q)P(Q=q,O=o)(2.109)

最大后验查询是在给定某些证据的条件下,确定查询变量的最可能初值,即计算:

q*=arg maxq∈val(Q)P(Q=qO=o)=arg maxq∈val(Q)∑h∈val(H)P(Q=q,H=hO=o)=arg maxq∈val(Q)∑h∈val(H)P(Q=q,H=h,O=o)(2.110)

由于对概率图模型进行精确推理的计算复杂性会随着最大团的大小指数增加,所以在规模较大且连接紧密的概率图模型中实现精确推理是难解的,因此进行近似推理非常必要。

近似推理有三种基本策略[120]:变分方法(variational method)、消息传递(message passing)和采样方法(sampling method)。

变分方法的基本思想是在假定H=的前提下,用一个易于处理的替代分布g(Q)对后验概率分布P(QO)进行近似。P(O)的对数形式可以分解如下:

logP(O)=∑qg(q)logP(O,q)g(q)LB(g)+-∑qg(q)logP(qO)g(q)KL(qP)(2.111)

其中KL(gP)≥0表示g(Q)和P(QO)之间的KL散度,且根据杰森不等式[115],LB(g)是logP(O)的一个下界,即

logP(O)=log∑qP(q,O)=log∑qg(q)P(q,O)g(q)≥∑qg(q)logP(q,O)g(q)=LB(g)(2.112)

因为logP(O)不依赖于g(q)和LB(g),且KL(gP)是非负的,所以最大化LB(g)等价于最小化KL(gP)。这意味着,关于g(q)最大化LB(g)就可以得到对后验概率分布P(QO)的最好近似。

在变分方法中,g(Q)通常被限制为简单的可计算分布。比如,平均场近似(meanfield approxiamtion)是一种变分方法,最简单的情况要求g(Q)具有如下可分解的形式:

g(Q)=∏Qi=1gi(Qi)(2.113)

消息传递算法在树结构的概率图模型上能够给出精确的推理结果,但是在带环或圈的任意图上并不能保证收敛性。而且即使收敛,得到的结果也可能只是精确解的近似。不过,令人吃惊的是,环状图上的消息传递常常收敛到稳定的后验或边际概率。最重要的突破在于发现对某些图结构来说,消息传递算法的不动点(fixed point)实际上就是贝蒂自由能(bethe free energy)的驻点(stationary point)[104]。这个发现澄清了消息传递的本质,建立了与大量物理文献的联系,并发展了广义信念传播算法(Generalized Belief Propagation Algorithm,GBP)。广义信念传播算法在节点区域上运行,同时在节点区域之间传递消息。环状信念传播算法(loopy belief propagation algorithm)的收敛性在许多应用中也得到了实验证实[122],并有大量相关的理论研究[123125]。

采样方法是从计算可行角度,通过蒙特卡罗程序(Monte Carlo procedure)计算兴趣量(quantities of interest)。最简单的情况是重要性采样(importance sampling)[126]和采样重要性重采样(sampling importance resampling)[127],用于估计函数的期望。在高维样本空间中,重要性采样存在很大的局限性。但是,马尔可夫链蒙特卡罗(Markov Chain Monte Carlo,MCMC)方法在各种不同维数的空间都能取得良好效果[128,129],其特殊情况是MH算法(MetropolisHastings algorithm)[130]和吉布斯采样(Gibbs sampling)[131]。蒙特卡罗方法最主要的应用之一就是通过序列重要性采样(sequential importance sampling)建立非线性、非高斯粒子滤波器(particle filter)[132],其中后验分布用一组粒子(样本)表示。这种粒子滤波器推广了传统的线性高斯卡曼滤波器(Kalman filter),在性能上优于经典的粒子滤波器。

《深度学习导论及案例分析》一2.11概率图模型的推理相关推荐

  1. 免费教材丨第56期:《深度学习导论及案例分析》、《谷歌黑板报-数学之美》

    小编说  离春节更近了!  本期教材        本期为大家发放的教材为:<深度学习导论及案例分析>.<谷歌黑板报-数学之美>两本书,大家可以根据自己的需要阅读哦! < ...

  2. 《深度学习导论及案例分析》一导读

    PREFACE 前言 "深度学习"一词大家已经不陌生了,随着在不同领域取得了超越其他方法的成功,深度学习在学术界和工业界掀起了一次神经网络发展史上的新浪潮.运用深度学习解决实际问题 ...

  3. 深度学习之LSTM案例分析(三)

    #背景 来自GitHub上<tensorflow_cookbook>[https://github.com/nfmcclure/tensorflow_cookbook/tree/maste ...

  4. 深度学习在工业推荐如何work?Netflix这篇论文「深度学习推荐系统Netflix案例分析」阐述DL在RS的优劣与经验教训...

    来源:专知 深度学习在推荐系统中如何发挥作用是一个重要的问题.最近来自Netflix的文章详细阐述了这一点指出:在建模用户物品交互方面,深度学习相比传统基线方法并无太大优势,而对于异质特征的表示融入深 ...

  5. 深度学习之LSTM案例分析(二)

    #背景 来自GitHub上<tensorflow_cookbook>[https://github.com/nfmcclure/tensorflow_cookbook/tree/maste ...

  6. 深度学习导论(2)深度学习案例:回归问题

    深度学习导论(2)深度学习案例:回归问题 问题分析 优化方法 代码 采样数据 计算误差 计算梯度 梯度更新 main函数 结果输出 这篇文章将介绍深度学习的小案例:回归问题的问题分析.优化以及实现代码 ...

  7. 深度学习导论(4)神经网络基础

    深度学习导论(4)神经网络基础 一. 训练深度学习模型的步骤 二. 线性层(或叫全链接层)(Linear layer(dense or fully connected layers)) 1. 定义一个 ...

  8. 深度学习导论(3)PyTorch基础

    深度学习导论(3)PyTorch基础 一. Tensor-Pytorch基础数据结构 二. Tensor索引及操作 1. Tensor索引类型 2. Tensor基础操作 3. 数值类型 4. 数值类 ...

  9. MIT 深度学习导论来啦!附视频下载

    点击我爱计算机视觉标星,更快获取CVML新技术 相信很多同学读过MIT的<算法导论>(Introduction to Algorithms)这本书,虽称"导论",但其内 ...

最新文章

  1. 【C++】何时需要自定义拷贝构造函数和赋值符
  2. xipian的php中文分词
  3. .NET:如何声明某个程序需要管理员权限
  4. bootstrap-响应式导航条
  5. java编译提示错误信息_JAVA编译错误提示缺少“{”
  6. spring cloud gateway集成hystrix全局断路器
  7. sr650服务器cpu型号,至强Gold 联想ThinkSystem SR650评测
  8. (59)简单介绍RAM IP核类型和接口信号?
  9. android 获取sd卡视频文件名,android – 如何获取SD卡上的视频列表
  10. 奇安信代码安全实验室帮助 RedHat 修复两个 oVirt 漏洞,获官方致谢
  11. 利用wxWindows开发界面程序
  12. 《电磁学》学习笔记1——电场
  13. Bootstrap导航--三级菜单
  14. 系列教程|Apache Doris ODBC 外表使用指南(一)
  15. 65.(cesium篇)cesium单个地图图片
  16. Vuex前端saas人力资源中台管理项目第五天 权限管理和图表设计
  17. Vue-cli3项目seo优化--静态化打包(动态改变页面Titl、keyWords、description)
  18. java中计算器算cos值,Android开发中计算器的sin、cos及tan值计算问题分析
  19. Google Adsense(谷歌网站联盟)广告申请指南
  20. 解决win7 无线网络红叉问题

热门文章

  1. 【Android View绘制之旅】Layout过程
  2. iOS 快速定位约束冲突
  3. node--静态服务器
  4. Python中format_map与format字符串格式化的区别
  5. cookie、 sessionStorage 、localStorage之间的区别和使用
  6. Scala-高阶函数
  7. AutoHotKey Script AHK脚本++Topre Realforce 104Pro十周年纪念版静电容键盘
  8. ASP.NET中App_Code,App_Data等文件夹的作用
  9. 基于GeoMipmap的地形系统。
  10. “不允许对64位应用程序进行修改”的解决方法 --“Changes to 64-bit applications are not allowed.”