作者:孙相国
转载请注明出处
概率图模型主要研究四方面问题:
- 表示
- 推理
- 学习
在本系列博文中,我们将按照下面的路线进行陈述:
首先我们研究贝叶斯网络和无向图网络的最基本的概念。
在此基础上,我们分出两个分支,一个是以贝叶斯网络为基础,一个是以无向图为基础,讨论学习问题:
最后我们将会研究一些关于推理方面的知识.
0. 参考文献
[1] 概率图模型原理与技术(中文版)
[2] probabilistic graphical models(概率图模型原理与技术 英文版)
[3] 机器学习 周志华
[4] 统计学习方法 李航
[5] csdn博客:http://blog.csdn.net/github_36326955
[6] 模式识别
1.1 为什么要研究贝叶斯网络?
对于一个联合概率分布,我们需要跟多个独立变量来表示,甚至独立变量的个数会呈现指数级的增长。例如,考虑
其中
注意到每一个
事实上,这种假设太强,但是仍然在很多应用的价值。接下来您将会看到,基于这种独立性假设建立的概率图表示模型,就是朴素贝叶斯模型。
“紧凑”,在这里的具体含义是:经过独立性约间的式子(2),其独立参数个数小于原始的联合概率分布形势下独立参数个数。
1.2 朴素贝叶斯模型
单纯的介绍朴素贝叶斯模型和对应的概率图,并没有什么价值。事实上,关于朴素贝叶斯的定义,1.1节几乎已经介绍得很充分了。具体来说,在公式
在本节,我们将要介绍的,是与朴素贝叶斯模型相关的一个机器学习算法:朴素贝叶斯法。它在文本分类中经常被使用(参见作者博文《python 中文文本分类》)。
1.2.1 基本方法
正如你在1.1节看到的公式
公式
考虑到分母对所有样本是相同的,因此,可以进一步规约为:
从常理上看,朴素贝叶斯分类器把样本实例分到后验概率最大的类别,是很自然的,也是符合我们的认知的(你可以在作者这篇博文中找到更详细的解释《深入浅出EM算法与实践(持续更新)》)。那么,除了从感性的角度认为这种分类策略有道理外,我们能不能从更严谨的角度去考察这种分类策略的合理性呢?答案是可以的,事实上,朴素贝叶斯的分类策略,等价于期望风险最小化(更多的论述,读者可以参考其他文献,例如李航博士的《统计学习方法》4.1.2,这里不再赘述)。
1.2.2 参数估计
从公式
由于这些概率事实上都是可以从样本集合中估计出来的,所以整个估计策略并不复杂。只是对样本做了一些基本的统计(极大似然估计)。例如:
其中
需要注意的是:公式
特别的,当
通过对分子分母加一个系数,我们实现了概率的平滑处理。事实上,在很多其他研究中,我们还有其他的办法让我们的概率“平滑”,一个最经典的例子就是将特征加权后,送入到logistic函数中。我们就可以很自然地得到一个人工构造的概率。更详细的内容,请参阅作者的博客《logistic回归》
1.2.3 python实现
从前几个小节的介绍来看,朴素贝叶斯分类器的实现,并不复杂。在scikit-learn库中,有直接的函数可以调用。只是这个库中的函数,为我们指定了公式
实例代码托管在GitHub上:
1.3 图与分布
1.3.1基本任务
贝叶斯网图的形式化语义是一系列的独立性断言(
A: 分布
B:
换言之,若
1.3.2基本定义
定义 1(贝叶斯网的语义)
贝叶斯网结构
因此
对每一个变量
话句话是说,局部独立性表明,在给定父节点的条件下,每个节点
定义 2(I-Map)
设
设
若
定义2 事实上描述了我们证明任务的前半部分,即:分布
定义3 (因子分解)
令
则称分布
定义3 事实上描述了我们证明任务的后半部分,即:
其中公式
由定义3,我们可以给出贝叶斯网络的定义:
定义4(贝叶斯网)
一个贝叶斯网是一个偶对
接下来,本文将对1.3.1节中的两个命题做等价性证明,这两个命题是:
A: 分布
B:
我们首先证明
1.3.3 A=>B
令
证明:
假定
X1,X2,⋯,Xn 的顺序就是图G 的一个拓扑序。由概率的链式法则有:
P(X1,⋯,Xn)=P(X1)P(X2|X1)P(X3|X1,X2)⋯P(Xn|X1,⋯,Xn−1)
由于G 为I-map,因此G 中蕴含了如下的独立性论断:Il(G)={(Xi⊥NonDescendantsXi|PaGXi):Xi∈X1:n} .且Il(G)⊆I(P) 。由于
X1,X2,⋯,Xn 是图G 的一个拓扑序,因此对于式子(11) 中的任意一项P(Xi|X1,⋯,Xi−1) ,Xi 的所有父节点都在集合{X1,⋯,Xi−1} 中,并且这个集合不存在任何Xi 的后代节点,即:{X1,⋯,Xi−1}=PaGXi∪Z,Z⊆NonDescendantsXi ,根据独立性论断Il(G) 和条件独立性分解性质,有:P(Xi|X1,⋯,Xi−1)=P(Xi|PaGXi) ,进而有公式(9) .得证
1.3.4 B=>A
令
证明:
为了证明命题成立,只需证明:
P(Xi|NonDescendantsXi,PaGXi)=P(Xi|PaGXi) 同样假定
X1,X2,⋯,Xn 是图G 的一个拓扑序.令NonDescendantsXi={Xn1,Xn2,⋯,Xnk} 其中,{Xn1,Xn2,⋯,Xnk} 是{X1,X2,⋯,Xi−1} 中的子集.令PaGXi={N1,⋯,Nm},Ni∈{X1,X2,⋯,Xn} 则:
P(Xi|NonDescendantsXi,PaGXi)=P(Xi,Xn1,Xn2,⋯,Xnk,N1,⋯,Nm)P(Xn1,Xn2,⋯,Xnk,N1,⋯,Nm)
上式的分子可以由因子分解的定义写成:
P(Xi|PaXi)P(Xn1|PaXn1)⋯P(Xnk|PaXnk)P(N1|PaN1)P(N2|PaN2)⋯P(Nm|PaNm)
其中,上式所有的PaM 都不含Xi 。式子
(12) 分母可以写成:
∑xiP(Xi,Xn1,Xn2,⋯,Xnk,N1,⋯,Nm)
进一步地,对式子(14) 写成式子(13) 的形式则为:
P(Xn1|PaXn1)⋯P(Xnk|PaXnk)P(N1|PaN1)P(N2|PaN2)⋯P(Nm|PaNm)∑xiP(Xi|PaXi)
其中∑xiP(Xi|PaXi)=1 ,因此式子(15) 变为:
P(Xn1|PaXn1)⋯P(Xnk|PaXnk)P(N1|PaN1)P(N2|PaN2)⋯P(Nm|PaNm)
公式(16) 是公式(12) 中的分母,公式(13) 是公式(12) 中的分子。故有:
(12)=P(Xi|PaXi)P(Xn1|PaXn1)⋯P(Xnk|PaXnk)P(N1|PaN1)P(N2|PaN2)⋯P(Nm|PaNm)P(Xn1|PaXn1)⋯P(Xnk|PaXnk)P(N1|PaN1)P(N2|PaN2)⋯P(Nm|PaNm)=P(Xi|PaXi)
得证。
1.4 图中的独立性
在1.3节中,我们解决了命题
接下来的问题是:在
这就是本节要解决的问题。
1.4.1 d-分离
本节要讨论的是在什么情况下,
当影响经过
因果迹
证据迹
共同的原因
共同的作用(V-结构)
定义5(有效迹)
令
若有一个V结构
迹上的其他节点都不在
那么迹
定义6(d-分离)
令
与d-分离相对应的独立性集合用
接下来我们直接给出一些有用的结论,对这些结论的直观理解,可以参考后面的示意图:
在示意图中,矩形代表图
结论1(可靠性)
如果分布
从图上来理解,可以看到
注意到
因此,结论1表明:如果给定某个
结论2(完备性)
令
这个命题的逆否命题为:在所有可以在
事实上,结论1描述的是可靠性,结论2描述的是完备性。综合结论1和结论2,我们可以得到结论3:
结论3(弱等价)
对于几乎所有在
结论3在示意图上的解释为:忽略掉了其他独立性1,2,3,4.
(在示意图中,矩形代表图的独立性集合。椭圆代表的是根据因子分解的分布。黑色圆形代表蕴含在各个组份中的独立性。)