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

本文探讨了概率图模型的基本概念,包括贝叶斯网络和无向图网络,并详细解析了朴素贝叶斯模型及其应用。文章还介绍了如何通过条件独立性减少参数数量,提高模型效率。
815

被折叠的 条评论
为什么被折叠?



