转:http://baoshuo.blog.163.com/blog/static/2195510512013580133867/

Belief propagation是machine learning的泰斗J. Pearl的最重要的贡献。对于统计学来说,它最重要的意义就是在于提出了一种很有效的求解条件边缘概率(conditional marginal probability)的方法。说的有点晦涩了,其实所谓求解条件边缘概率,通俗地说,就是已知某些条件的情况下,推导另外某些事件发生的概率。


如果涉及的因素只有那么几个,一个学过概率论的大学生就可以使用简单的概率公式计算出来。可是,在现实世界中有成千上万的因素,它们相互联系,如果按照传统方法,就要对数以千计的变量进行积分。考虑到运算量对于变量个数以指数增长,因此这么做实际上根本没法算的。虽然,后来人们提出了蒙特卡罗(Monte Carlo)积分,但是对于拥有数以千计变量的复杂系统,仍然可以说是computationally prohibitive。

这个困难一直阻碍着统计推断方法在大规模系统中的应用。Belief propagation出来之后,情况才发生了转变。J. Pearl在他的书中分析说,人们在头脑中经常进行各种各样的推断,可是人在头脑里面发生了什么事情呢:穷举所有未知变量的可能状态进行积分(Traditional method)?还是随即产生各种状态求均值(Monte Carlo Integral),看来都不make sense。J. Pearl认为,虽然影响世界的因素繁多,但是每个因素实际上只与少数几个因素相关,这就构成了一个推断网络。在machine learning里面,这样的网络有两种:Bayesian Network,反映的是因果推断关系(就是说,相互联系的因素中,其中一个是因,另外一个是果),以及Markov Network, 反映的是相互影响的关系(两个因素互为因果,其变化相互影响)。根据这种建模方式,J.Pearl提出把inference局部化和分布化,把全局的积分变成局部的消息传递。网络中的每个节点通过和邻近节点交换信息对自身的概率状况进行评估。通过这种方式,使得计算量从指数增长变成近似的线性增长,从而使得统计推断能在复杂系统中被应用。

数学上可以证明,对于有向无环的Bayesian Network,可以证明,通过BP得到的解和严格的积分计算得到的结果是一致的。这时的BP只是利用因素联系的局部性来简化计算,并把计算过程分散到各个节点。对于无向而且到处是环的markov network,J.Pearl指出,这种传播过程是可能导致不稳定的。某些消息可能在环状的传播过程中无限加强,从而导致整个系统发散或者偏离。但是实际经验表明,对于大部分问题,BP在带环的系统中依然工作良好。很多人对这个现象进行了研究,对于某些特例给出了初步的解释,但是关于Loopy BP的稳定性和收敛性问题,离理论上的最终解决,还有很长的路要走。

在computer vision领域,MIT的著名教授W.T. Freeman是BP方法的积极倡导者,他大量使用markov random field和belief propagation对图像进行建模,在很多应用领域取得了不错的结果。

其实关于Local propagation的方法论,现在有超出了belief propagation的范畴。某些新的方法的优化流程也体现了类似的特征。我在我自己最近一项关于应用信息论进行监督学习的工作中发现,如果使用信息论最大化引导分类过程,事实上其优化流程就体现了样本间的局部交互和传播。不仅仅是机器学习,物理学也同样如此,比如当一个粒子发生了运动,其效应也是不断通过与邻近粒子的相互作用向外扩散,从而形成波动过程。一直以来,machine learning的formulation都是对问题从宏观着眼,可是最近一些工作都在暗示着微观作用过程对于宏观状态形成的重要意义。因此,一些新的研究开始偏向对局部结构和微观作用的考察,得到了一些有趣的发现。Manifold Learning中的一些重要方法,比如Local Linearly Embedding就是其中重要的代表。
=========================================================================================================

Markov Random Field(MRF)为解决计算机视觉问题提供了一种鲁棒而且统一的框架,Gruph Cuts和Belief Propagation(BP)算法是计算MRF的常用方法。BP算法能够很好的解决编号(label)为离散情况下的Labeling Problem,即PL2、PL3问题[1]。这里简要介绍BP算法。

一般MRF的能量可以表示为下面的形式:

第一项表示将编号(label)f_p附给p的代价,第二项衡量把编号f_p和f_q同时附给两个邻居节点p和q的代价。P表示MRF中所有的节点,N表示邻居(neighbor),在图像中比如4领域和8领域邻居。如果用BP算法中Max-Product的方法,则节点之间传送的消息(message)的公式可表示成:

初始化时(即t=0时),可以令每个消息m为0。

BP的过程是这样的:针对每个节点p,计算其向邻居q扩散的信息。先确定q的值,然后在p的取值空间中计算寻找使message最小的p,由于p和q的取值空间就是编号(label)空间,假设有k个不同编号,则计算p向不同取值的q传递消息的计算复杂度是O(k^2)。若MRF有n个节点,则消息在所有节点间传递一遍的计算复杂度是O(nk^2)。如果这种消息传递T遍,则计算复杂度是O(nk^2T)。在某些情况下,这一计算复杂度可以降到线性的水平O(nkT)[2]。

在经过消息传播T遍后,就可以计算每个节点p的信任向量了,计算公式如下:

对每个节点p,b_q(f_q)向量中最小的元素对应的f_q就是节点q在MRF中的解。

下面的图分别现实了采用MRF模型和BP算法解决图像深度信息分析和图像重构问题[2]。

图1和2分别是相机从左右两个角度拍摄的照片,图3是恢复的深度信息,不同灰度标记不同的深度。

图4,5,6是图像重构的示意图。

参考文献:

[1]Stan Z.Li, Markov Random Field Modeling in Image Analysis, Spinger-Verlag.

[2]Pedro F.Felzenszwalb, Efficient Belief Propagation for Early Vision.

[3]Yair Weiss, Belief Propagation and Revision in Networks with Loops.

Belief propagation相关推荐

  1. Max-Product Loopy Belief Propagation

    Max-Product Loopy Belief Propagation 关于belief propagation.这是machine learning的泰斗J. Pearl的最重要的贡献.对于统计学 ...

  2. Ground Segmentation based on Loopy Belief Propagation for Sparse 3D Point Clouds (论文速读)

    欢迎访问我的个人博客:zengzeyu.com Abstract 在使用3D激光雷达进行局部环境感知任务中,地面点分割是中重要的预处理任务,并且在起伏不平和倾斜的非结构化环境中非常具有挑战性.为了解决 ...

  3. Max-Product Loopy Belief Propagation for Solving MRF's energy function minimization

    本文转自http://blog.sina.com.cn/s/blog_4dfdfdc30100q2el.html 关于belief propagation.这是machine learning的泰斗J ...

  4. 概率图模型推断之Belief Propagation

    初步打算把概率图模型中推断方法都介绍一下,包括Belief Propagation,变分方法,MCMC,以及像是Graph cut也做一些说明. 关于Belief Propagation是什么? Be ...

  5. 置信度传播算法(Belief Propagation)

    基础知识 条件概率(Conditional Probability) 相互独立时,p(A | B) = p(A) 贝叶斯规则 贝叶斯网络(Bayesian Network)定了一个独立的结构:一个节点 ...

  6. Efficient Belief Propagation for Early Vision 论文翻译 对于早期视觉问题的高效信念传播

    Efficient Belief Propagation for Early Vision 对于早期视觉问题的高效信念传播 (一些数学符号不标准,需要对照原论文阅读) 摘要 马尔可夫随机场模型为立体. ...

  7. 基于置信传播(BP,Belief Propagation)的立体匹配算法

    简介 基于置信传播的立体匹配算法是一种经典的全局立体匹配算法,其主要思想是在立体匹配过程中引入置信度的概念,置信度表示相邻节点的不同视差标记的可信度,通过一定迭代次数的消息迭代传播更新后,全局能量函数 ...

  8. Confidence Propagation Cluster: 一个来自CVPR2022的目标检测涨点神器(CP-Cluster)

    在前不久刚放榜的CVPR2022中有一篇来自NVIDIA的关于目标检测后处理的文章 "Confidence Propagation Cluster: Unleash Full Potenti ...

  9. Multi-Exemplar Affinity Propagation

    AP算法存在的固有缺陷是它不能对包含很多子类的category进行建模,而在image categorization, face categorization, 多字体optical characte ...

  10. CS224W摘要05.Label Propagation for Node Classification

    文章目录 Homophily和Influence Motivation 半监督学习:Collective Classification Probabilistic Relational classif ...

最新文章

  1. numpy中amin()方法中维度axis=0 1 2 的理解
  2. MySQL中地理位置数据扩展geometry的使用心得
  3. Redis 常用操作命令
  4. 工作67:三级级联问题
  5. 【CodeForces - 1150C】Prefix Sum Primes(思维)
  6. [UE4]多个Montage之间存在协作问题
  7. mysql启动命令指定data目录_CentOS 7下MySQL的data目录更改后,使用mysqld服务启动失败...
  8. linux添加超级管理员用户,修改,删除用户
  9. 《深入理解java虚拟机》 - 需要一本书来融汇贯通你的经验(下)
  10. linux 命令行修改root密码
  11. scikit keras_使用Scikit-Learn,Scikit-Opt和Keras进行超参数优化
  12. MySQL 安装 [mysql-5.6.37]
  13. 微信公众号开发之微信支付开发
  14. Scrum板与Kanban如何抉择?敏捷工具:dkijbh板与按照lfhgvvvh
  15. 替罪羊树[Scapegoat Tree]
  16. 回归分析-线性回归-检验-模型
  17. 几种编程语言的优缺点
  18. php 微信创建客服,如何给微信小程序内添加客服按钮
  19. 《Fundamentals of Computer Grahpics》虎书第三版翻译——第一章 介绍
  20. vs-cad二次开发-C#-拖动类-右键选项卡

热门文章

  1. java判断移动端和pc端_Java判断PC端还是移动端
  2. CSS第五天总结——PS切图、CSS属性书写顺序
  3. ECMAScript - 字符串的部分使用方法
  4. 入侵检测工具AIDE极简教程
  5. 从汽车到可穿戴设备的设计都利用 PMIC 实现电源效率
  6. php工程师具备技能,PHP工程师具备的技能及素质
  7. happen-before与volatile、final
  8. 凛冬的寒风,吹开了电动车的遮羞布
  9. ocr识别身份证护照阅读器
  10. html5游戏修改,Duang! Html5游戏调试神器全新出炉!- Cocos DevTools