图模型(Graphical Models)是一个用来表示概率模型的工具。所谓概率模型,也就是在刻画一组随机变量之间的相互关系。图模型就是用来显式地刻画这些变量之间关系的。在 图模型中,每个变量由图中的一个结点表示,而每一条边则代表其所连接的两个变量之间有相互依赖关系。根据图的结构可以方便地判断变量之间的独立性、条件独 立性等关系,并且可以指导我们做一些inference的工作。

 
图模型有两种,用无向图表示的称为马尔可夫随机场(Markov Random Field,MRF),有向图表示的称为贝叶斯网络(Bayesian Network)。其区别在于,贝叶斯网络中的边有明确定义的条件依赖关系。有向图可以转换为无向图,转换的过程称为moralization。转换过程 中,原模型所能表示的一些独立性条件可能会损失掉。不论在哪个模型中,所有变量的联合概率都可以分解为一些因子的乘积,这些因子定义在团(clique) 上。
 
概率模型中的推断(inference)就是根据给定的一些事实,计算一些相关的随机变量的概 率。典型的例子是计算某些变量的边缘分布,或者计算给定一些变量的观察值之后计算另一些变量的条件概率,这两个问题实际上是相通的。由于计算边缘分布涉及 到对变量的求和或者积分,对于无法计算出显式计算公式的情况,离散变量要穷举所有可能的值,而连续变量则根本无法求解,这就带来了计算问题。以离散变量为 例,穷举所有变量值的计算量就是指数级别的。
 
精确推断(Exact Inference)利用了图模型中蕴含的条件独立或者依赖关系,将这一穷举过程进行了有序的分解(实际上是分解为一些clique),从而达到一次只穷 举计算一部分的效果,这样就避免了所有变量的同时穷举,使得穷举规模大大降低。消息传播算法以及延伸的junction tree算法都是采用的着一种策略。但这类方法的复杂度受限于图中最大的clique的大小,与其规模成指数关系。所以,对于一些复杂的图而言,精确计算 是不可能的。
 
基于此,就有学者提出了一些近似方法。典型的有基于变分的方法 (Variational Methods)还有基于采样的方法(Sampling Methods)。看了一点Tom Jaakkola介绍Variational Methods的Tutorial,对这种方法有了些小认识,在此稍总结一下它的基本思想。对于更深入的思考,等以后有了再记。
 
这一类近似算法的基本策略是将一个计算问题转化为一个优化问题,这个优化问题的最优解就是计算问题的解。因此,当我们朝着该方向进行优化的时候就可以确认我们正逐步接近于我们想要的答案。

在图模型中,计算边缘概率的对数值的时候,我们可以把这一算式写成一个简单的优化问题,即优化该对数概率减去一个KL
divergence。具体而言,就是写成这样的形式:
          J(Q) = logP(X_v) - KL(Q(X_h)||P(X_h|X_v))
KL衡量Q和P的相似度。
P是原函数
Q是去近似的函数
J(Q)是优化目标

其中v代表观察到的变量,h为未观察到的变量,我们所要估计的就是概率项P(X_v)以及条件概率P(X_h|X_v)。由于KL
divergence的非负特性,上面的目标函数是logP(X_v)的下界,当我们找到合适的Q使得上式最小时,此时的目标函数值就是P(X_v),此
时的Q也就是P(X_h|X_v)。该优化问题中,变量是函数Q,这也就是这种方法称为变分法的原因。
 
经过几步变换,上述目标函数还可以写成
          J(Q) = H(Q) + E_Q{logP(X_v, X_h)}
的形式。这里H(Q)为变分分布的熵,后者为联合分布的对数在Q分布下的期望。如此一来,对数符号中的求和可以挪到对数符号外面,形式上简化了许多(和的对数很难计算)。但仅仅这样还远远不够,如果事先对Q的形式没有任何了解,则优化这一函数仍然是不可能的。
 
近似方法就是引入了一些对解的限制,减小了可行解空间,从而使问题得到简化,另一方面也使得我们能够得到的最好的解并不一定是原问题的最优解。在图模型的变分近似方法中,通常通过对变分分布Q引入一些独立性假设,使得问题简化。一种最简单的假设就是假定在Q分布中各变量都是独立的,因此Q函数可分解为单个变量函数值的积。对于优化过程,则可以一个变量一个变量地进行有序优化,这又进一步使得复杂性得到了降低。解这样一个问题可以采用mean
field
equation进行迭代计算。这可以保证单调收敛到一个极值点。但我们对问题的简化使得问题不具有全局凸性,因此找到的极值点不保证为最优解。这就是近似的代价。

Variational Approximate Inference的更多相关文章

  1. PRML读书会第十章 Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )

    主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:02:04 我们在前面看到,概率推断的核心任务就是计算某分布下的某个函数的期望.或者计算边缘概率分布.条件 ...

  2. Approximate Inference

    1.  Approximation    Probabilistic model  中的一个 central task :给定一组observation X 后,计算latent variables ...

  3. 近似推断(Approximate Inference)

    1.变分推断(Variational Inference) 1.1.分解概率分布(Factorized distributions) 1.2.分解近似的性质(Properties of factori ...

  4. Approximate Inference 近似推断

    引入 统计推断的核心任务,是观察到一些X(可见变量戒可观察变量)之后计算隐变量Z的后验分布p(Z|X),以及在这个后验分布下计算我们所需要的函数的期望.比如,讲EM时,我们曾计算过对数似然函数在隐变量 ...

  5. 【综述】(MIT博士)林达华老师-"概率模型与计算机视觉”

    [综述](MIT博士)林达华老师-"概率模型与计算机视觉” 距上一次邀请中国科学院的樊彬老师为我们撰写图像特征描述符方面的综述(http://www.sigvc.org/bbs/thread ...

  6. A Statistical View of Deep Learning (II): Auto-encoders and Free Energy

    A Statistical View of Deep Learning (II): Auto-encoders and Free Energy With the success of discrimi ...

  7. PGM:概率图模型Graphical Model

    http://blog.csdn.net/pipisorry/article/details/51461878 概率图模型Graphical Models简介 完全通过代数计算来对更加复杂的模型进行建 ...

  8. 学习笔记-----《Pattern Recognition and Machine Learning》Christopher M. Bishop

    Preface 模式识别这个词,以前一直不懂是什么意思,直到今年初,才开始打算读这本广为推荐的书,初步了解到,它的大致意思是从数据中发现特征,规律,属于机器学习的一个分支. 在前言中,阐述了什么是模式 ...

  9. pgm14

    这部分讨论在有数据缺失情况下的 learning 问题,这里仍然假定了图结构是已知的. 首先需要讨论的是为什么会缺失,很多情况下缺失并不是“随机”的:有的缺失是人为的,那么某些情况下缺失的可以直接补上 ...

随机推荐

  1. -webkit-transition -moz-transition transition

    -webkit-transition  -moz-transition transition 可以定义动画的变化时间曲线-webkit-transition-timing-function: ease ...

  2. LeetCode 80 Remove Duplicates from Sorted Array II(移除数组中出现两次以上的元素)

    题目链接:https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/#/description 给定一个已经排好序的数组 ...

  3. nginx upstream 实现负载均衡

    如果Nginx没有仅仅只能代理一台服务器的话,那它也不可能像今天这么火,Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用.具体配置过程如下: 1. 在http节点下,添加ups ...

  4. slf4j + log4j 是如何初始化的

    SLF4J的全称是 Simple Logging Facade for Java(简单java日志门面) SLF4J自己不提供具体的日志功能实现,只是提供了一个统一的日志门面,在这个统一的门面之下,用 ...

  5. U盘安装Centos7.1操作系统的问题记录

    需要的软硬件环境>>>>>>>>>>>>>>>>>1.服务器(笔者用的笔记本).U盘2.Cento ...

  6. 【CF883B】Berland Army 拓扑排序

    [CF883B]Berland Army 题意:给出n个点,m条有向边,有的点的点权已知,其余的未知,点权都在1-k中.先希望你确定出所有点的点权,满足: 对于所有边a->b,a的点权>b ...

  7. OC开发_整理笔记——友盟分享(社交化组件)

    0.友盟的地址 http://dev.umeng.com,进入友盟,在使用友盟之前我们需要注册账号获取key (1 进入我们的产品,添加新应用 (2  输入信息,然后就会获取到key 1.选择社会化分 ...

  8. yii---实现加一或减一

    废话少说,直接看: /** * 添加帖子的浏览数 * @author fyz */ public function addViewNum($threadId){ $list = ForumThread ...

  9. python3中如何区分一个函数和方法

    一般情况下,单独写一个def func():表示一个函数,如果写在类里面是一个方法.但是不完全准确. class Foo(object): def fetch(self): pass print(Fo ...

  10. Kafka在Linux上安装部署及样例测试

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...