[Bayesian] “我是bayesian我怕谁”系列 - Exact Inferences
要整理这部分内容,一开始我是拒绝的。欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列。
但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有章节focus on这里。
可能这些内容有些“反人类正常逻辑”,故让更多的菜鸡选择了放弃。

《MLaPP》
参考《MLaPP》的内容,让我们打开坑,瞧一瞧。
20.2 Belief propagation for trees
In this section, we generalize the forwards-backwards algorithm from chains to trees. The resulting algorithm is known as belief propagation (BP) (Pearl 1988), or the sum-product algorithm.
读完这段话,第一感受是,要不要先看“前向后向算法",再看此章。
Forwards-backwards algorithm在HMM中有提及,可以通过[Scikit-learn] Dynamic Bayesian Network - HMM学习。
打开A Tutorial Introduction to Belief Propagation,很快看到一个可能更为陌生的概念:马尔科夫条件随机场MRF。
没错,这种感觉就是机器学习领域中畅游的一个常见问题,交叉学科的通病,看到快高潮,陌生词汇来了,没了兴致。
所以,这篇文章的目的就是帮菜鸡去粗取精,讲那么多玩意干嘛,人生短暂,只学精华。
简单地讲,内容都是围绕条件概率,条件依赖关系,再弄明白Junction Tree Algorithm就完事。 那么,菜鸡们,走起?
提出问题
搞清楚“边缘条件概率”,例如:p( L | C = high ),本来有变量A到Z,现在只考虑L的概率,就是边缘分布;当时是在C = high 的条件下。
一般而言,穷举其他变量的所有情况,然后将概率相加即可。如下,有心情,有眼力,那你就算算。所以,这就是个需要解决的问题。

置信传播 Belief Propagation (BP)
问题的方案之一便是这belief propagation。置信这个概念还出现在Deep Belief Networks - Geoffrey E. Hinton,可见不搞清楚这些细节的话,未来不好混。
过去不懂,现在了解”历史“的重要性。学习一个概念,了解其历史,极其有利于深入理解和掌握,这,可能也是很多人所欠缺的意识。
这段文字很好,原文可能来自于林达华,[ML] I'm back for Machine Learning中有介绍此牛人。能写出这段文字,可见其学识之广博。
是一个求解条件边缘概率(conditional marginal probability)的方法
Belief propagation是machine learning的泰斗J. Pearl的最重要的贡献。对于统计学来说,它最重要的意义就是在于提出了一种很有效的求解条件边缘概率(conditional marginal probability)的方法。说的有点晦涩了,其实所谓求解条件边缘概率,通俗地说,就是已知某些条件的情况下,推导另外某些事件发生的概率。
是否有了点感性认识?
那么,再一起瞧一瞧原论文《Understanding belief propagation and its generalizations》从而更好地认识置信传播。
必要性:
这里也提到了“穷举的不利”。
要计算节点X的边缘概率,需要考虑其他节点所有的概率情况,然后都加起来,其实就是穷举法。
节点多了显然不合适,故采用BP,因为BP至少能够接近真实值。

抽象化:
马尔科夫条件随机场MRF 作为实例进行讲解。


物理模型:
Ising model --> 物理模型,也便终于明白了“势函数”的由来。
将统计学习问题转化为“已知的”物理能量问题:local magnetizations。
物理的东西在此不做深究,但要有感性的认识。
到此为止,让概念不再陌生,虽不通透原理,但要明白它能带给我们什么功能、效果,会如何去用。


消息传递:
接下来的内容,基本就是讲解“消息传递”的过程,过程可见:[PGM] Exact Inference for calculating marginal distribution
在原论文中,也解释了链接方法2中那些个圆圈圈,方块块的缘由,起源于factor graph。
原理涉及一些物理能量背景,但我们只需要认识一个重要的结论即可:

置信值等于了我们本要关心的边缘概率p1(x1) !
置信传播在不同的情况下有不同的限制,但毕竟我们只考虑我们自己要解决问题时的情况,我们搞的是计算机,而不是物理也不是其他,所以,
我们只需要关注在一定条件下我们所需的那部分就好。比如:
“We have collected so far all the evidence to the node {V, S, O}.
The distribution of the evidence is not necessary as this node will not be further updated and it contains the required probability.”
在此,我们不考虑“消息反复震荡传递”这类复杂的情况,也没有必要,因为传一次我们的问题就解决了。
优越性
具体案例在[PGM] Exact Inference for calculating marginal distribution中体会。
大体上,一来看上去可以自动化。二来,在求边缘条件概率时,条件中一些没什么用处的变量似乎在过程当中便自动忽略掉了,穷举时变不用再去考虑这些变量,这样岂不是节省了计算资源。
简单的说,就是:穷举一些变量是不可避免,但你穷举的太多,我只穷举有必要的变量。
这便是链接中junction tree算法的贡献。
条件依赖关系 Conditional Independence
最重要的,就是搞清楚几个概念,以及相应的方法:
D-separation:[PGM] Bayes Network and Conditional Independence
这部分为变量消减做基础。
变量消减与置信传播又是[PGM] Exact Inference for calculating marginal distribution中的junction tree算法的基础。
所以,我们的最终目的就是求解“边缘条件概率”,例如:p( L | C = high )
如何减少不必要的计算,也就是提前干掉“没关系的变量”,只穷举有必要的。
最后的最后,花这么大力气,有什么产出没?
Professor Daphne Koller介绍了这款软件,不妨下载一试。
Samiam Download: http://reasoning.cs.ucla.edu/samiam/index.php?s=

[Bayesian] “我是bayesian我怕谁”系列 - Exact Inferences的更多相关文章
- [Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process
科班出身,贝叶斯护体,正本清源,故拿”九阳神功“自比,而非邪气十足的”九阴真经“: 现在看来,此前的八层功力都为这第九层作基础: 本系列第九篇,助/祝你早日hold住神功第九重,加入血统纯正的人工智能 ...
- [Bayesian] “我是bayesian我怕谁”系列 - Variational Autoencoders
本是neural network的内容,但偏偏有个variational打头,那就聊聊.涉及的内容可能比较杂,但终归会 end with VAE. 各个概念的详细解释请点击推荐的链接,本文只是重在理清 ...
- [Bayesian] “我是bayesian我怕谁”系列 - Exact Inference
要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...
- [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes+prior
先明确一些潜规则: 机器学习是个collection or set of models,一切实践性强的模型都会被归纳到这个领域,没有严格的定义,’有用‘可能就是唯一的共性. 机器学习大概分为三个领域: ...
- [Bayesian] “我是bayesian我怕谁”系列 - Variational Inference
涉及的领域可能有些生僻,骗不了大家点赞.但毕竟是人工智能的主流技术,在园子却成了非主流. 不可否认的是:乃值钱的技术,提高身价的技术,改变世界观的技术. 关于变分,通常的课本思路是: GMM --&g ...
- [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes with Prior
先明确一些潜规则: 机器学习是个collection or set of models,一切实践性强的模型都会被归纳到这个领域,没有严格的定义,’有用‘可能就是唯一的共性. 机器学习大概分为三个领域: ...
- [Bayesian] “我是bayesian我怕谁”系列 - Continuous Latent Variables
打开prml and mlapp发现这部分目录编排有点小不同,但神奇的是章节序号竟然都为“十二”. prml:pca --> ppca --> fa mlapp:fa --> pca ...
- [Bayesian] “我是bayesian我怕谁”系列 - Markov and Hidden Markov Models
循序渐进的学习步骤是: Markov Chain --> Hidden Markov Chain --> Kalman Filter --> Particle Filter Mark ...
- [Bayesian] “我是bayesian我怕谁”系列 - Boltzmann Distribution
使用Boltzmann distribution还是Gibbs distribution作为题目纠结了一阵子,选择前者可能只是因为听起来“高大上”一些.本章将会聊一些关于信息.能量这方面的东西,体会“ ...
随机推荐
- [05] Session概要
1.Session是什么 除了使用Cookie,Web应用程序中还经常使用Session来记录客户端状态,即Session是服务器端使用的一种保存客户端状态的机制.Cookie在客户端,Session ...
- 微信小程序--图片相关问题合辑
图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.preview ...
- String... args 和 String[] args 的区别
public static void main(String[] args) { callMe1(new String[] { "a", "b", " ...
- cocos2dx 中触摸事件分发一些解读
触摸事件分发中几个代码解读: 怎么说呢,感觉cocos2dx中的消息分发机制,相对于android中触摸事件分发机制要简单的多.因为android中要做区域判断,过滤器,以及父子组件分发给谁等等的逻辑 ...
- 【京东详情页】——原生js学习之匿名函数
一.引言 在js模块中,要给每一个功能封装一个匿名函数.为了更好的理解什么是匿名函数,为什么要用匿名函数,我做了一些查阅和学习. 二.匿名函数 什么是:在创建时,不被任何变量引用的函数. 为什么:节约 ...
- css左右布局的几种实现方式和优缺点
记录一下左右布局的实现方式,实现的具体效果是,左侧固定宽度,高度适中等于父元素的高度,父元素的高度由右侧内容决定: html代码如下: <div class="parent" ...
- SQL server学习(三)T-SQL编程、逻辑控制语句和安全模式
T-SQL编程 T-SQL编程与C语言类似,只是语法稍有不同而已,总体思想还是没有变化的.多的就不说了,还是从变量开始. 变量也分为全局变量和局部变量,表示方式稍有不同. 局部变量: 局部变量必须以标 ...
- C#获取本周第一天和最后一天
DateTime nowTime = DateTime.Now; #region 获取本周第一天 //星期一为第一天 int weeknow = Convert.ToInt32(nowTime.Day ...
- HDU1201 水题
做多了年月日,现在基本就能水过了 18岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...
- 玩转INotifyPropertyChanged和ObservableCollection
转载: http://www.cnblogs.com/Jax/archive/2009/10/13/1582128.html 本文的代码都是基于WPF的,对于Silverlight,这些技术也同样 ...