[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作为题目纠结了一阵子,选择前者可能只是因为听起来“高大上”一些.本章将会聊一些关于信息.能量这方面的东西,体会“ ...
随机推荐
- bookStore第二篇【图书模块、前台页面】
图书模块 分析 在设计图书管理的时候,我们应该想到:图书和分类是有关系的.一个分类可以对应多本图书. 为什么要这样设计?这样更加人性化,用户在购买书籍的时候,用户能够查看相关分类后的图书,而不是全部图 ...
- mybatis-分页显示数据
分页用到的两个实体类 package com.yangwei.shop.entity; /** * 注意 get,set,remove 方法与一般的实体类的不同*/ public class Syst ...
- Linux配置SSH端口以及密钥登录
改端口后重启: vim /etc/ssh/sshd_config systemctl restart sshd
- GCD之信号量机制一
在使用NSOperationQueue进行多线程编程时,可通过[queue setMaxConcurrentOperationCount:5]来设置线程池中最多并行的线程数,在GCD中信号量机制也和它 ...
- Https系列之三:让服务器同时支持http、https,基于spring boot
Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http ...
- js时间戳和日期字符串相互转换
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...
- AngularJS -- 提供者(Providers)
点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ 每个Web应用程序都是有多个对象组合.协作来完成任务的.这些对象需要被实例化,并且连接在 ...
- 入门VMware Workstation下的Debian学习之基本命令(二)
本章记录如何在Linux终端进行命令操作命令下载路径,模拟终端.dkpg管理软件包.用户组和用户管理.文件属性.文件与目录管理.查看磁盘使用量. (1)命令下载路径: wegt 路径; (2)模拟终端 ...
- ABAP POH和POV事件中 获得屏幕字段的值
在Screen显示之前,系统会自动将程序变量值放到屏幕字段中:在PAI事件中,系统会自动将屏幕字段的值更新到相应的程序变量. 在Screen Logic中我们还有POH和POV事件,所以有时需要调用函 ...
- vue——实例方法 / 数据
目录 1.vm.$set 2.vm.$watch 3.vm.$delete 1.vm.$set 哎呀呀,周五啦,大家应该都很开心吧,放假了可以好好休息休息啦,然而小颖明天要面试,所以小颖今天就回去放了 ...