概率图模型:贝叶斯网络与朴素贝叶斯网络

http://blog.csdn.net/pipisorry/article/details/51471222

贝叶斯与频率派思想

频率派思想

长久以来,人们对一件事情发生或不发生,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大。而且事情发生或不发生的概率虽然未知,但最起码是一个确定的值。

比如如果问那时的人们一个问题:“有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概率是多少?”他们会立马告诉你,取出白球的概率就是1/2,要么取到白球,要么取不到白球,即θ只能有一个值,而且不论你取了多少次,取得白球的概率θ始终都是1/2,即不随观察结果X
的变化而变化。

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

频率派把需要推断的参数θ看做是固定的未知常数,即概率虽然是未知的,但最起码是确定的一个值,同时,样本X 是随机的,所以频率派重点研究样本空间,大部分的概率计算都是针对样本X 的分布;

最大似然估计(MLE)和最大后验估计(MAP)都是把待估计的参数看作一个拥有固定值的变量,只是取值未知。通常估计的方法都是找使得相应的函数最大时的参数;由于MAP相比于MLE会考虑先验分布的影响,所以MAP也会有超参数,它的超参数代表的是一种信念(belief),会影响推断(inference)的结果。比如说抛硬币,如果我先假设是公平的硬币,这也是一种归纳偏置(bias),那么最终推断的结果会受我们预先假设的影响。

贝叶斯思想

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

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

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

贝叶斯派认为待估计的参数是随机变量,服从一定的分布,而样本X 是固定的,由于样本是固定的,所以他们重点研究的是参数的分布。

贝叶斯及贝叶斯派思考问题的固定模式

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

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

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

而后验分布一般也认为是在给定样本的情况下的条件分布,而使达到最大的值称为最大后验估计。

贝叶斯定理

条件概率

条件概率(又称后验概率)就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。

联合概率表示两个事件共同发生的概率。A与B的联合概率表示为或者

边缘概率(又称先验概率)是某个事件发生的概率。边缘概率是这样得到的:在联合概率中,把最终结果中那些不需要的事件通过合并成它们的全概率,而消去它们(对离散随机变量用求和得全概率,对连续随机变量用积分得全概率),这称为边缘化(marginalization),比如A的边缘概率表示为P(A),B的边缘概率表示为P(B)。

贝叶斯定理

贝叶斯定理是关于随机事件A和B的条件概率和边缘概率的一则定理。

在贝叶斯定理中,每个名词都有约定俗成的名称:

P(A)是A的先验概率或边缘概率。之所以称为"先验"是因为它不考虑任何B方面的因素。

P(A|B)是已知B发生后A的条件概率(在B发生的情况下A发生的可能性),也由于得自B的取值而被称作A的后验概率。

P(B|A)是已知A发生后B的条件概率,也由于得自A的取值而被称作B的后验概率。

P(B)是B的先验概率或边缘概率,也作标准化常量(normalized constant).

按这些术语,Bayes定理可表述为:

后验概率 = (相似度*先验概率)/标准化常量,也就是说,后验概率与先验概率和相似度的乘积成正比。

另外,比例P(B|A)/P(B)也有时被称作标准相似度(standardised likelihood),Bayes定理可表述为:

后验概率 = 标准相似度*先验概率

贝叶斯估计的例子

假设中国的大学只有两种:理工科和文科,这两种学校数量的比例是1:1,其中,理工科男女比例7:1,文科男女比例1:7。某天你被外星人随机扔到一个校园,问你该学校可能的男女比例是多少?然后,你实际到该校园里逛了一圈,看到的5个人全是男的,这时候再次问你这个校园的男女比例是多少?

  1. 因为刚开始时,有先验知识,所以该学校的男女比例要么是7:1,要么是1:7,即P(比例为7:1) = 1/2,P(比例为1:7) = 1/2。
  2. 然后看到5个男生后重新估计男女比例,其实就是求P(比例7:1|5个男生)= ?,P(比例1:7|5个男生) = ?
  3. 用贝叶斯公式,可得:P(比例7:1|5个男生) = P(比例7:1)*P(5个男生|比例7:1) / P(5个男生),P(5个男生)是5个男生的先验概率,与学校无关,所以是个常数;类似的,P(比例1:7|5个男生) = P((比例1:7)*P(5个男生|比例1:7)/P(5个男生)。
  4. 最后将上述两个等式比一下,可得:P(比例7:1|5个男生)/P(比例1:7|5个男生) = {P((比例7:1)*P(5个男生|比例7:1)} / { P(比例1:7)*P(5个男生|比例1:7)}。

频率派与贝叶斯派的区别

频率派把需要推断的参数θ看做是固定的未知常数,即概率虽然是未知的,但最起码是确定的一个值,同时,样本X 是随机的,所以频率派重点研究样本空间,大部分的概率计算都是针对样本X 的分布;

贝叶斯派的观点则截然相反,他们认为参数是随机变量,而样本X 是固定的,由于样本是固定的,所以他们重点研究的是参数的分布。

两者的本质区别

根据贝叶斯法则:

               posterior=likelihood?priorevidence

               p(?|X)=p(X|?)?p(?)p(X)

在MLE和MAP中,由于是要求函数最大值时的参数,所以都不会考虑evidence。但在贝叶斯估计中,不再直接取极值,所以还会考虑evidence,下面的这个积分也是通常贝叶斯估计中最难处理的部分:

               p(X)=∫?∈Θp(X|?)p(?)d?

evidence相当于对所有的似然概率积分或求和(离散时),所以也称作边界似然

估计未知参数所采用的思想不同的例子

我去一朋友家:

按照频率派的思想,我估计他在家的概率是1/2,不在家的概率也是1/2,是个定值。

按照贝叶斯派的思想,他在家不在家的概率不再认为是个定值1/2,而是随机变量。比如按照我们的经验(比如当天周末),猜测他在家的概率是0.6,但这个0.6不是说就是完全确定的,也有可能是0.7。如此,贝叶斯派没法确切给出参数的确定值(0.3,0.4,0.6,0.7,0.8,0.9都有可能),但至少明白哪些取值(0.6,0.7,0.8,0.9)更有可能,哪些取值(0.3,0.4) 不太可能。进一步,贝叶斯估计中,参数的多个估计值服从一定的先验分布,而后根据实践获得的数据(例如周末不断跑他家),不断修正之前的参数估计,从先验分布慢慢过渡到后验分布。

各种参数估计方法可以参考Heinrich论文的第二部分。

[各种参数估计方法的论述:Gregor Heinrich.Parameter estimation for text analysis*]

皮皮blog

贝叶斯网络

why贝叶斯网络

Note: n个变量的联合分布,每个x对应两个值,共n个x,且所有概率总和为1,则联合分布需要2^n-1个参数。

贝叶斯网络

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

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

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

简言之,把某个研究系统中涉及的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。其主要用来描述随机变量之间的条件依赖,用圈表示随机变量(random variables),用箭头表示条件依赖(conditional dependencies)。

联合概率的表示

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

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

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

简单贝叶斯网络的示例

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

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

对于下面的贝叶斯网络:

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

2. x1和x2独立(对应head-to-head);

3. x6和x7在x4给定的条件下独立(对应tail-to-tail)。

D-Separation(D-分离)

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

形式1 head-to-head

有P(a,b,c) = P(a)*P(b)*P(c|a,b),积分c后可得:

即在c未知的条件下,a、b被阻断(blocked),是独立的,称之为head-to-head( 因 为 它 连 接 了 两 个 箭 头 的 头)条件独立。

形式2 tail-to-tail

      

考虑c未知,跟c已知这两种情况:

在c未知的时候,有:P(a,b,c)=P(c)*P(a|c)*P(b|c),此时,没法得出P(a,b) = P(a)P(b),即c未知时,a、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,b,c)/P(c) = P(c)*P(a|c)*P(b|c) / P(c) = P(a|c)*P(b|c),即c已知时,a、b独立。

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

Any node is d-seperated from its non-descendants given its parents.父节点已知后,其它节点就不能通过父节点影响该节点的值了。

形式3 head-to-tail

     

还是分c未知跟c已知这两种情况:

c未知时,有:P(a,b,c)=P(a)*P(c|a)*P(b|c),但无法推出P(a,b) = P(a)P(b),即c未知时,a、b不独立。

c已知时,有:P(a,b|c)=P(a,b,c)/P(c),且根据P(a,c) = P(a)*P(c|a) = P(c)*P(a|c),可化简得到:

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

head-to-tail其实就是一个链式网络:

马尔科夫链(Markov chain)

根据head-to-tail,在xi给定的条件下,xi+1的分布和x1,x2…xi-1条件独立。意味着xi+1的分布状态只和xi有关,和其他变量条件独立。也就是当前状态只跟上一状态有关,跟之前的状态无关。这种顺次演变的随机过程,就叫做马尔科夫链(Markov chain)。也就是:

D-Separation的3种情况的总结

{即贝叶斯网络的3种结构形式}

head-to-tail,给定 T 时,A 和 X 独立;tail-to-tail,给定S时,L和B独立;head-to-head,未给定D时,L和B独立。

有向图d-划分性质的一般叙述

考虑一个一般的有向图,其中 A, B, C 是任意无交集的结点集合(它们的并集可能比图中结点的完整集合要小)。我们希望弄清楚,一个有向无环图是否暗示了一个特定的条件依赖表述。我们考虑从
A 中任意结点到 B 中任意结点的所有可能的路径。

我们说这样的路径被“阻隔”,如果它包含一个结点满足下面两个性质中的任何一个:

? 路径上的箭头以头到尾或者尾到尾的方式交汇于这个结点,且这个结点在集合 C 中,也就是A和B的“head-to-tail型”和“tail-to-tail型”路径都通过C。

? 箭头以头到头的方式交汇于这个结点,且这个结点和它的所有后继都不在集合 C 中,也就是A和B的“head-to-head型”路径不通过C以及C的子孙。

如果所有的路径都被“阻隔”(上面两个条件均满足),那么我们说 C 把 A 从 B 中 d -划分开,且图中所有变量上的联合概率分布将会满足

Note: 这里C是已知的,A和B的“head-to-tail型”和“tail-to-tail型”路径都通过C则AB条件独立;A和B的“head-to-head型”路径不通过C以及C的子孙,否则根据1在C已知的情况下AB就不独立了。

皮皮blog

朴素贝叶斯模型naive Bayes

朴素贝叶斯模型的学生示例

{这个示例很好的阐述了什么是朴素贝叶斯网络模型,后面将讲到其一般化模型和分类的应用实例}

问题描述

模型的因子表示

符号表示:I表示智商;S(AT)代表SAT成绩;G(rade)代表某些课程成绩。

因子表示的优点

朴素贝叶斯一般模型

朴素贝叶斯模型的一般化定义

Note:对应上面的学生示例,就是说,当类变量C(示例中就是智商I)确定时,类的feature(示例中的Grade和SAT)之间就是独立的(其实就是贝叶斯网的tail-to-tail结构形式)。

朴素贝叶斯模型的贝叶斯网络:

朴素贝叶斯模型的因子分解及参数

使用朴素贝叶斯模型进行分类

皮皮blog

贝叶斯网络的其它应用

from: http://blog.csdn.net/pipisorry/article/details/51471222

ref: 《数理统计学简史》

《统计决策论及贝叶斯分析 James O.Berger著》

贝叶斯网络 - 维基百科

贝叶斯网络简介

贝叶斯网络简介

算法杂货铺——分类算法之贝叶斯网络(Bayesian networks)

概率图模型  原理与技术[(美)科勒,(以)弗里德曼著]*

时间: 2024-10-15 06:33:19

概率图模型:贝叶斯网络与朴素贝叶斯网络的相关文章

概率图模型学习笔记(二)贝叶斯网络-语义学与因子分解

概率分布(Distributions) 如图1所示,这是最简单的联合分布案例,姑且称之为学生模型. 图1 其中包含3个变量,分别是:I(学生智力,有0和1两个状态).D(试卷难度,有0和1两个状态).G(成绩等级,有1.2.3三个状态). 表中就是概率的联合分布了,表中随便去掉所有包含某个值的行,就能对分布表进行缩减. 例如可以去掉所有G不为1的行,这样就只剩下了1.4.7.10行,这样他们的概率之和就不为1了,所以可以重新标准化(Renormalization).如图2所示. 图2 反之也可以

PGM:贝叶斯网络与朴素贝叶斯网络

http://blog.csdn.net/pipisorry/article/details/51471222 贝叶斯与频率派思想 频率派思想 长久以来,人们对一件事情发生或不发生,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且事情发生或不发生的概率虽然未知,但最起码是一个确定的值. 比如如果问那时的人们一个问题:"有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概率是多少?"他们会立马告诉你,取出白球的概率就是

Stanford机器学习课程笔记2-高斯判别分析与朴素贝叶斯

转载请注明出处: http://xiahouzuoxin.github.io/notes/ 判别学习算法和生成学习算法 高斯判别分析(Gaussian Discriminant Analysis) 朴素贝叶斯算法(Naive Bayesian) 拉普拉斯平滑(Laplace smoothing) 判别学习算法和生成学习算法 判别学习算法:直接学习p(y|x),即直接通过输入特征空间x去确定目标类型{0,1},比如Logistic Regression和Linear Regression以及感知学

PGM:贝叶斯网表示之朴素贝叶斯模型naive Bayes

http://blog.csdn.net/pipisorry/article/details/52469064 独立性质的利用 条件参数化和条件独立性假设被结合在一起,目的是对高维概率分布产生非常紧凑的表示. 随机变量的独立性 [PGM:概率论基础知识:独立性性质的利用] 条件参数化方法 Note: P(I), P(S | i0), P(S | i1)都是二项式分布,都只需要一个参数. 皮皮blog 朴素贝叶斯模型naive Bayes 朴素贝叶斯模型的学生示例 {这个示例很好的阐述了什么是朴素

实现 | 朴素贝叶斯模型算法研究与实例分析

实现 | 朴素贝叶斯模型算法研究与实例分析(白宁超2018年9月4日09:03:21) 导读:朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果.所以很受欢迎,对于朴素贝叶斯的学习,本文首先介绍理论知识即朴素贝叶斯相关概念和公式推导,为了加深理解,采用一个维基百科上面性别分类例子进行形式化描述.然后通过编程实现朴素贝叶斯分类算法,并在屏蔽社区言论.垃圾邮件.个人广告中获取区域倾向等几个方面进行应用,包括创建数据集.数据预处理.词集模型和词袋模型.朴素贝叶斯

机器学习Matlab打击垃圾邮件的分类————朴素贝叶斯模型

该系列来自于我<人工智能>课程回顾总结,以及实验的一部分进行了总结学习机 垃圾分类是有监督的学习分类最经典的案例,本文首先回顾了概率论的基本知识.则以及朴素贝叶斯模型的思想.最后给出了垃圾邮件分类在Matlab中用朴素贝叶斯模型的实现 1.概率 1.1 条件概率 定义:事件B发生的情况下,事件A发生的概率记作条件概率P(A|B) P(A|B)=P(A∧B)P(B) 条件概率也叫后验概率.无条件概率也叫先验概率(在没有不论什么其他信息存在的情况下关于命题的信度) 能够得到乘法规则: P(A∧B)

机器学习Matlab实战之垃圾邮件分类————朴素贝叶斯模型

本系列来自于我<人工智能>课程复习总结以及机器学习部分的实验总结 垃圾邮件分类是监督学习分类中一个最经典的案例,本文先复习了基础的概率论知识.贝叶斯法则以及朴素贝叶斯模型的思想,最后给出了垃圾邮件分类在Matlab中用朴素贝叶斯模型的实现 1.概率 1.1 条件概率 定义:事件B发生的情况下,事件A发生的概率记作条件概率P(A|B) P(A|B)=P(A∧B)P(B) 条件概率也叫后验概率,无条件概率也叫先验概率(在没有任何其它信息存在的情况下关于命题的信度) 可以得到乘法规则: P(A∧B)

stick-learn朴素贝叶斯的三个常用模型:高斯、多项式、伯努利

朴素贝叶斯是一个很不错的分类器,在使用朴素贝叶斯分类器划分邮件有关于朴素贝叶斯的简单介绍. 若一个样本有n个特征,分别用x1,x2,...,xn表示,将其划分到类yk的可能性P(yk|x1,x2,...,xn)为: P(yk|x1,x2,...,xn)=P(yk)∏ni=1P(xi|yk) 上式中等号右侧的各个值可以通过训练得到.根据上面的公式可以求的某个数据属于各个分类的可能性(这些可能性之和不一定是1),该数据应该属于具有最大可能性的分类中. 一般来说,如果一个样本没有特征xi,那么P(xi

机器学习基础——带你实战朴素贝叶斯模型文本分类

本文始发于个人公众号:TechFlow 上一篇文章当中我们介绍了朴素贝叶斯模型的基本原理. 朴素贝叶斯的核心本质是假设样本当中的变量服从某个分布,从而利用条件概率计算出样本属于某个类别的概率.一般来说一个样本往往会含有许多特征,这些特征之间很有可能是有相关性的.为了简化模型,朴素贝叶斯模型假设这些变量是独立的.这样我们就可以很简单地计算出样本的概率. 想要回顾其中细节的同学,可以点击链接回到之前的文章: 机器学习基础--让你一文学会朴素贝叶斯模型 在我们学习算法的过程中,如果只看模型的原理以及理