贝叶斯网络http://www.kuqin.com/shuoit/20141111/343155.html

转载 2015年07月07日 21:26:50

0 引言

事实上,介绍贝叶斯定理、贝叶斯方法、贝叶斯推断的资料、书籍不少,比如《数理统计学简史》,以及《统计决策论及贝叶斯分析 James O.Berger著》等等,然介绍贝叶斯网络的中文资料则非常少,中文书籍总共也没几本,有的多是英文资料,但初学者一上来就扔给他一堆英文论文,因无基础和语言的障碍而读得异常吃力导致无法继续读下去则是非常可惜的(当然,有了一定的基础后,便可阅读更多的英文资料)。

11月9日上午,机器学习班第9次课,邹博讲贝叶斯网络,其帮助大家提炼了贝叶斯网络的几个关键点:贝叶斯网络的定义、链式网络、树形网络、因子图、非树形网络转换成树形网络的思路、以及Summary-Product算法等等,知道了贝叶斯网络是啥,怎么做,目标是啥之后,相信看英文论文也更好看懂了。

故本文结合邹博第9次课贝叶斯网络的PPT和相关参考资料写就,从贝叶斯方法讲起,重点阐述贝叶斯网络,依然可以定义为一篇读书笔记或学习笔记,有任何问题,欢迎随时不吝指出,thanks。

1 贝叶斯方法

长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大。而且概率虽然未知,但最起码是一个确定的值。比如如果问那时的人们一个问题:“有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概率是多少?”他们会想都不用想,会立马告诉你,取出白球的概率就是1/2,要么取到白球,要么取不到白球,即θ只能有一个值,不是1/2,就是0,而且不论你取了多少次,取得白球的概率θ始终都是1/2,即不随观察结果X 的变化而变化。

这种频率派的观点长期统治着人们的观念,直到后来一个名叫Thomas Bayes的人物出现。

1.1 贝叶斯方法的提出

托马斯·贝叶斯Thomas Bayes(1702-1763)在世时,并不为当时的人们所熟知,很少发表论文或出版著作,与当时学术界的人沟通交流也很少,用现在的话来说,贝叶斯就是活生生一民间学术“屌丝”,可这个“屌丝”最终发表了一篇名为“An essay towards solving a problem in the doctrine of chances”,翻译过来则是:机遇理论中一个问题的解。你可能觉得我要说:这篇论文的发表随机产生轰动效应,从而奠定贝叶斯在学术史上的地位。

事实上,上篇论文发表后,在当时并未产生多少影响,在20世纪后,这篇论文才逐渐被人们所重视。对此,与梵高何其类似,画的画生前一文不值,死后价值连城。

回到上面的例子:“有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概率θ是多少?”贝叶斯认为取得白球的概率是个不确定的值,因为其中含有机遇的成分。比如,一个朋友创业,你明明知道创业的结果就两种,即要么成功要么失败,但你依然会忍不住去估计他创业成功的几率有多大?你如果对他为人比较了解,而且有方法、思路清晰、有毅力、且能团结周围的人,你会不由自主的估计他创业成功的几率可能在80%以上。这种不同于最开始的“非黑即白非0即1”的思考方式,便是贝叶斯式的思考方式。

继续深入讲解贝叶斯方法之前,先简单总结下频率派与贝叶斯派各自不同的思考方式:

  • 频率派把需要推断的参数θ看做是固定的未知常数,即概率虽然是未知的,但最起码是确定的一个值,同时,样本X 是随机的,所以频率派重点研究样本空间,大部分的概率计算都是针对样本X 的分布;
  • 而贝叶斯派的观点则截然相反,他们认为参数是随机变量,而样本X 是固定的,由于样本是固定的,所以他们重点研究的是参数的分布。

相对来说,频率派的观点容易理解,所以下文重点阐述贝叶斯派的观点。

贝叶斯派既然把看做是一个随机变量,所以要计算的分布,便得事先知道的无条件分布,即在有样本之前(或观察到X之前),有着怎样的分布呢?

比如往台球桌上扔一个球,这个球落会落在何处呢?如果是不偏不倚的把球抛出去,那么此球落在台球桌上的任一位置都有着相同的机会,即球落在台球桌上某一位置的概率服从均匀分布。这种在实验之前定下的属于基本前提性质的分布称为先验分布,或的无条件分布。

至此,贝叶斯及贝叶斯派提出了一个思考问题的固定模式:

  • 先验分布+ 样本信息后验分布

上述思考模式意味着,新观察到的样本信息将修正人们以前对事物的认知。换言之,在得到新的样本信息之前,人们对的认知是先验分布,在得到新的样本信息后,人们对的认知为

其中,先验信息一般来源于经验跟历史资料。比如林丹跟某选手对决,解说一般会根据林丹历次比赛的成绩对此次比赛的胜负做个大致的判断,再比如,某工厂每天都要对产品进行质检,以评估产品的不合格率θ,经过一段时间后便会积累大量的历史资料,这些历史资料便是先验知识,有了这些先验知识,便在决定对一个产品是否需要每天质检时便有了依据,如果以往的历史资料显示,某产品的不合格率只有0.01%,便可视为信得过产品或免检产品,只每月抽检一两次,从而省去大量的人力物力。

而后验分布一般也认为是在给定样本的情况下的条件分布,而使达到最大的值称为最大后验估计,类似于经典统计学中的极大似然估计。

综合起来看,则好比是人类刚开始时对大自然只有少得可怜的先验知识,但随着不断是观察、实验获得更多的样本、结果,使得人们对自然界的规律摸得越来越透彻。所以,贝叶斯方法既符合人们日常生活的思考方式,也符合人们认识自然的规律,经过不断的发展,最终占据统计学领域的半壁江山,与经典统计学分庭抗礼。

此外,贝叶斯除了提出上述思考模式之外,还特别提出了举世闻名的贝叶斯定理。

1.2 贝叶斯定理

在引出贝叶斯定理之前,先学习几个定义:

  • 条件概率就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。
  • 联合概率表示两个事件共同发生的概率。A与B的联合概率表示为或者
  • 边缘概率(又称先验概率)是某个事件发生的概率。边缘概率是这样得到的:在联合概率中,把最终结果中不需要的那些事件合并成其事件的全概率而消失(对离散随机变量用求和得全概率,对连续随机变量用积分得全概率)。这称为边缘化(marginalization)。A的边缘概率表示为P(A),B的边缘概率表示为P(B)。

接着,考虑一个问题:P(A|B)是在B发生的情况下A发生的可能性。

  1. 首先,事件B发生之前,我们对事件A的发生有一个基本的概率判断,称为A的先验概率,用P(A)表示;
  2. 其次,事件B发生之后,我们对事件A的发生概率重新评估,称为A的后验概率,用P(A|B)表示;
  3. 类似的,事件A发生之前,我们对事件B的发生有一个基本的概率判断,称为B的先验概率,用P(B)表示;
  4. 同样,事件A发生之后,我们对事件B的发生概率重新评估,称为B的后验概率,用P(B|A)表示;

贝叶斯定理便是基于下述贝叶斯公式:

上述公式的推导其实非常简单,就是从条件概率推出。

根据条件概率的定义,在事件B发生的条件下事件A发生的概率是

同样地,在事件A发生的条件下事件B发生的概率

整理与合并上述两个方程式,便可以找到:

接着,上式两边同除以P(B),若P(B)是非零的,我们便可以得到贝叶斯定理的公式表达式:

有关贝叶斯定理的应用网上相当多,本文便不赘述了。接下来,咱们重点看贝叶斯网络。

2 贝叶斯网络

贝叶斯网络(Bayesiannetwork),又称信念网络(Belief Network),或有向无环图模型(directedacyclicgraphicalmodel),是一种概率图型模型,于1985年由Judea Pearl首先提出。它是一种模拟人类推理过程中因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图(DAG)。

贝叶斯网络的有向无环图中的节点表示随机变量,它们可以是可观察到的变量,或隐变量、未知参数等。认为有因果关系(或非条件独立)的变量或命题则用箭头来连接(换言之,连接两个节点的箭头代表此两个随机变量是具有因果关系,或非条件独立)。若两个节点间以一个单箭头连接在一起,表示其中一个节点是“因(parents)”,另一个是“果(children)”,两节点就会产生一个条件概率值。

例如,假设节点E直接影响到节点H,即E→H,则用从E指向H的箭头建立结点E到结点H的有向弧(E,H),权值(即连接强度)用条件概率P(H|E)来表示,如下图所示:

简言之,把某个研究系统中涉及的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。

2.1 贝叶斯网络的定义

令G = (I,E)表示一个有向无环图(DAG),其中I代表图形中所有的节点的集合,而E代表有向连接线段的集合,且令X = (Xi)i ∈ I为其有向无环图中的某一节点i所代表的随机变量,若节点X的联合概率可以表示成:

则称X为相对于一有向无环图G的贝叶斯网络,其中,表示节点i之“因”。

此外,对于任意的随机变量,其联合概率可由各自的局部条件概率分配相乘而得出:

如下图所示,便是一个简单的贝叶斯网络:

因为a导致b,a和b导致c,所以有

2.2 贝叶斯网络的实例

给定如下图所示的贝叶斯网络:

其中,各个单词、表达式表示的含义如下:

  • smoking表示吸烟,其概率用P(S)表示,lung Cancer表示的肺癌,一个人在吸烟的情况下得肺癌的概率用P(C|S)表示,X-ray表示需要照医学上的X光,肺癌可能会导致需要照X光,吸烟也有可能会导致需要照X光(所以smoking也是X-ray的一个因),所以,因吸烟且得肺癌而需要照X光的概率用P(X|C,S)表示。
  • Bronchitis表示支气管炎,一个人在吸烟的情况下得支气管炎的概率用P(B|S),dyspnoea表示呼吸困难,支气管炎可能会导致呼吸困难,肺癌也有可能会导致呼吸困难(所以lung Cancer也是dyspnoea的一个因),因吸烟且得了支气管炎导致呼吸困难的概率用P(D|C,B)表示。

lung Cancer简记为C,Bronchitis简记为B,dyspnoea简记为D,且C = 0表示lung Cancer不发生的概率,C = 1表示lung Cancer发生的概率,B等于0(B不发生)或1(B发生)也类似于C,同样的,D=1表示D发生的概率,D=0表示D不发生的概率,便可得到dyspnoea的一张概率表,如上图的最右下角所示。

2.3 贝叶斯网络的3种结构形式

给定如下图所示的一个贝叶斯网络,

从图上可以比较直观的看出:

  • 1. x1,x2,…x7的联合分布为

  • 2. x1和x2独立(对应head-to-head);
  • 3. x6和x7在x4给定的条件下独立(对应tail-to-tail)。

根据上图,第1点可能很容易理解,但第2、3点中所述的条件独立是啥意思呢?为了说清楚这个问题,需要引入D-Separation(D-分离)这个概念。

D-Separation是一种用来判断变量是否条件独立的图形化方法。换言之,对于一个DAG(有向无环图)E,D-Separation方法可以快速的判断出两个节点之间是否是条件独立的。

2.3.1 形式1:head-to-head

贝叶斯网络的第一种结构形式如下图所示:

所以有:P(a,b,c) = P(a)*P(b)*P(c|a,b)成立,化简后可得:

即在c未知的条件下,a、b被阻断(blocked),是独立的,称之为head-to-head条件独立,对应本节中最开始那张图中的“x1、x2独立”。

2.3.2 形式2:tail-to-tail

贝叶斯网络的第二种结构形式如下图所示

有P(a,b,c)=P(c)*P(a|c)*P(b|c),则:P(a,b|c)=P(a,b,c)/P(c),然后将P(a,b,c)=P(c)*P(a|c)*P(b|c)带入上式,得到:P(a,b|c)=P(a|c)*P(b|c)。
即在c给定的条件下,a,b被阻断(blocked),是独立的,称之为tail-to-tail条件独立,对应本节中最开始那张图中的“x6和x7在x4给定的条件下独立,对应图3所示的tail-to-tail”。

2.3.3 形式3:head-to-tail

贝叶斯网络的第三种结构形式如下图所示:

有:P(a,b,c)=P(a)*P(c|a)*P(b|c)。

化简后可得:

即:在c给定的条件下,a,b被阻断(blocked),是独立的,称之为head-to-tail条件独立。

插一句:这个head-to-tail其实就是一个链式网络,如下图所示:

在xi给定的条件下,xi+1的分布和x1,x2…xi-1条件独立。即:xi+1的分布状态只和xi有关,和其他变量条件独立,这种顺次演变的随机过程模型,就叫做马尔科夫模型。且有:

此文,不展开介绍,但本博客的后续博文会详细阐述此马尔科夫模型。

OK,今天在思考贝叶斯网络中的上述3种结构时,发现跟河流关系比较相像,比如:

  • ①两条小河流入一条大河,叫head-to-head;
  • ②一条大河到某处分叉成两条支流,称之为tail-to-tail;
  • ③一条大河流到底,中间不分叉不汇入其它河流,但可能其中的某段叫什么江,另一段叫什么江,称之为head-to-tail;

不知道读者大家怎么看?^_^

接着,将上述结点推广到结点集,则是:对于任意的结点集A,B,C,考察所有通过A中任意结点到B中任意结点的路径,若要求A,B条件独立,则需要所有的路径都被阻断(blocked),即满足下列两个前提之一:

  1. A和B的“head-to-tail型”和“tail-to-tail型”路径都通过C;
  2. A和B的“head-to-head型”路径不通过C以及C的子孙;

然后,举例说明上述D-Separation的3种情况,则是如下图所示:

2.4 因子图

回到2.2节中那个实例上,如下图所示:

对于上图,在一个人已经呼吸困难的情况下,其抽样的概率是多少呢?即:

咱们来一步步计算推导下:

为了更好的解决此类问题,咱们得引入因子图的概念。

根据wikipedia的介绍,将一个具有多变量的全局函数因子分解,得到几个局部函数的乘积,以此为基础得到的一个双向图叫做因子图。

设对于函数,有下述式子成立:

其中,其对应的因子图包括:

  1. 变量节点
  2. 因子节点
  3. ,边通过下列因式分解结果得到:在因子节点和变量节点之间存在边的充要条件是存在。

由贝叶斯网络得到因子图(Factor Graph),通过在因子图中消息传递的思想,计算概率。

举个例子。当给定如下图所示的贝叶斯网络:

根据各个变量对应的关系,可得:

其对应的因子图为(以下两种因子图的表示方式皆可):

由上述例子总结出由贝叶斯网络构造因子图的方法:

  • 贝叶斯网络中的一个因子对应因子图中的一个结点
  • 贝叶斯网络中的每一个变量在因子图上对应边或者半边
  • 结点g和边x相连当且仅当变量x出现在因子g中

以下便是一个因子图:

有:

待续。11月11日晚上8点半继续更新....

3 参考文献和推荐阅读

  1. Thomas Bayes "An essay towards solving a Problem in the Doctrine of Chances". (贝叶斯定理原始论文);
  2. 《数理统计学简史 第三章 贝叶斯方法》;
  3. 《贝叶斯统计 茆诗松著》;
  4. 相关wikipedia,比如贝叶斯定理的wiki:http://zh.wikipedia.org/zh/%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%AE%9A%E7%90%86,贝叶斯网络的wiki:http://zh.wikipedia.org/wiki/%E8%B2%9D%E6%B0%8F%E7%B6%B2%E8%B7%AF
  5. 《统计决策论及贝叶斯分析 James O.Berger著》;
  6. 贝叶斯定理:http://www.guokr.com/question/547339/
  7. 贝叶斯推断及其互联网应用:《贝叶斯推断及其互联网应用》
  8. Pattern Recognition and Machine Learning Chapter 8, M. Jordan, J. Kleinberg, ect, 2006;
  9. An Introduction to Factor Graphs,Hans-Andrea Loeliger,MLSB 2008;
  10. Factor graph and sum-product algorithm, Frank R. Kschischang, Brendan J.Frey, ect, 1998;
  11. A Tutorial on Inference and Learning in Bayesian Networks, Irina Rish;
  12. A Tutorial on Learning With Bayesian Networks, David Heckerman, 1996;
  13. 因子图中文wiki:http://zh.wikipedia.org/zh/%E5%9B%A0%E5%AD%90%E5%9B%BE,英文wik:http://en.wikipedia.org/wiki/Factor_graph
  14. http://www.eng.yale.edu/pjk/eesrproj_02/luckenbill_html/node4.html(sum-product);
  15. D-Separation(D分离)-PRML-8.22-Graphical Modelby 小军:http://www.zhujun.me/d-separation-separation-d.html
  16. 因子图介绍 by Hans-Andrea Loeliger:http://www.robots.ox.ac.uk/~parg/mlrg/papers/factorgraphs.pdf
  17. http://netclass.csu.edu.cn/jpkc2003/rengongzhineng/rengongzhineng/kejian/ai/ai/chapter4

相关文章推荐

浏览器的工作原理:新式网络浏览器幕后揭秘(http://www.kuqin.com/web/20121209/333935.html)

序言 这是一篇全面介绍 Webkit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果。在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据(请参见资源)...
  • Nomius
  • Nomius
  • 2015年02月03日 13:45
  • 917

grails-数据库编程(详见http://www.kuqin.com/grails-doc-1.0/guide/single.html)

一:动态查找器     class Book { String title Date releaseDate Author author     }    ...

八皇后问题http://www.kuqin.com/tiku/c100/

八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或...

史上最强大ios app网络抓取 from http://www.2cto.com/net/201306/221430.html

iOS应用(包括移动应用)的网络分析,一般采用将移动设备上的流量导入到PC机上,利用PC上成熟的数据包分析工具例如wireshark等来进行分析的方法。   总的来说,有以下三种方法: ...

Android网络开启、关闭整理http://www.cnblogs.com/huazaizai/p/3398675.html

出自:http://www.cnblogs.com/huazaizai/p/3398675.html WiFi、GPRS、飞行模式的开启、关闭以及一些状态的检测 1 ...
  • tcgwl
  • tcgwl
  • 2013年11月14日 10:57
  • 1063

FCN网络的训练 -- 转自http://www.cnblogs.com/xuanxufeng/p/6243342.html

FCN网络的训练——以SIFT-Flow 数据集为例 参考文章: http://blog.csdn.net/u013059662/article/details/52770198  caffe的安...
  • IGIli
  • IGIli
  • 2017年03月05日 17:51
  • 564

软件测试管理系统的设计与开发 (详细全文见:http://www.docin.com/p-1908800770.html)

详细全文见:http://www.docin.com/p-1908800770.html 软件测试是软件质量保证的关键步骤,据美国质量保证研究所对软件测试的研究结果表明:越早发现软件中存在的问题,开...

linux/unix僵尸进程(转自http://www.cnblogs.com/newpanderking/p/3784328.html)

什么是僵尸进程?
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:贝叶斯网络http://www.kuqin.com/shuoit/20141111/343155.html
举报原因:
原因补充:

(最多只允许输入30个字)