1. 前言
主要参考书籍《深度学习导论及案例分析》、维基百科“贝叶斯网络”、老笨妞的博客、PRML中文翻译,重点还是概念的掌握和几个小理论的推导,比较枯燥。加入了自己的一些简单理解。
个人感觉概率有向图模型最大的意义在于:一个特定的有向图表示将联合概率分布分解为条件概率分布乘积的形式。
2. 概念
2.1 等价概念
概率有向图模型、贝叶斯网络(Bayesian network)、信念网络(belief network)、有向无环图模型(directed acyclic graphical model)
2.2 一般结构
图由节点和边构成。节点一般是指随机变量,可以是观察到的,也可以是因变量或者未知参数等,边就标明了节点之间的条件概率关系,比如常说的P(X|Y)就说明在节点X出发有一条有向边连接到节点Y。
【更新日志2018-11-14】上述加横线的描述感觉有点反人类,正常是因连到果,即Y连到X,不过我记得是哪本书说是X连到Y,所以可以暂时把上面那句话当做“常说的P(X|Y)就说明在节点Y出发有一条有向边连接到节点X”,以后如果再找到这句话的引用之处会贴出来,咳咳。
“因”与“果”:箭头出发的节点为“因”,被箭头指向的节点为“果”
所有节点的联合概率分布可以表示为:
这里面条件概率中的条件指的是xi节点的因,也就是直接相邻的出发节点。注意中间跨度一个节点再连接到xi的不算。
拿书中的例子来说:
图好大啊,就这样吧,懒。如上图所示的这个贝叶斯网络所有节点的联合概率分布就是
其实写下来简单:①对于节点X1,没有节点连接到它,就单独放;②对于节点X2,只有X1连接到它,那就是第二项;③对于X3,只有X2连到它,那就是第三项;.......;⑥对于X6,有两个直接连接到它的“因”节点,表达出来就是第六项;⑦对于X7,只有X6连到它,那就是最后一项。最后都乘起来就是联合概率了
【注意】这里的“因果”是一个单箭头连接起来的两个节点,对于经过多个节点的多个箭头连接起来的两个节点不是“因果”节点。
2.3 条件局部独立性
概念:任意节点与其非后代节点都条件独立于其父节点。
从三中拓扑结构来证明:
(1)串行连接或链
其联合分布为:
根据“条件局部独立性”可以得出这样一个结论:给定节点k时,节点 j 和其非后代节点 i 关于节点 j 的父节点 k 条件独立。
证明如下:
(2)发散连接
其联合分布为:
根据“条件局部独立性”可以得出这样一个结论:给定节点k时,节点 j 和其非后代节点 i 关于节点 j 的父节点 k 条件独立。
(3)收敛连接(书中图可能错了)
其联合分布为:
根据“条件局部独立性”可以得出这样一个结论:节点 i 和节点 j 是先验独立的
主要是因为
带入联合分布中就得到了
【结论】通过上面三个结构和证明可以得到这样一个结论(个人总结,对错可在评论区指出)
①对于串行连接和发散连接,在观察到中心变量k 时,节点 i 和节点 j 条件独立
②对于收敛连接,在没有观察到中心变量k时,节点 i 和节点 j ,先验独立,但是条件独立不确定。
2.4 d-划分
假设A、B、C是任意无交集的结点的集合,考虑从A中任意结点到B中任意结点所有可能的路径(此路径忽视箭头方向),如果满足下列任何一种条件:
①路径上的箭头从头到尾(串行连接)或者尾到尾(发散连接)的方式交汇于一个结点,且此结点在集合C中
②箭头从头到头(收敛连接)的方式交汇于一点,且这个结点和它所有的后继都不在集合C中
就说所有的路径被“阻隔”,即C把A从B中d-划分。
左图:交汇节点是e和f,对于aec和bfec串行连接,中间节点e没有被观察到,说明不独立。而aef虽然属于收敛连接,且独立,但是e的后继c被观察到了。对于f节点,发散连接,f 没被观察到,不独立。所以从a到b的路径并未被节点f阻隔。
右图:f节点是发散连接且被观察到了,条件独立,因而从a到b的路径被节点f阻隔。对于e节点,收敛连接,未被观察到,独立,且其后继节点c不被观察的变量内,所以路径也被e节点阻隔。
2.5 朴素贝叶斯图结构
朴素贝叶斯(naive Bayes)模型是一种分类方法,可以用图结构表示,使用条件独立性假设来简化模型结构。
假设观测变量是D维的,即
目标:将x的观测值分配到K个类别中的一个。
生成模型定义:引入类别标签上的多项式先验概率分布P(z|μ),其中μ的第k个元素表示类别Ck的先验概率,再引入观测向量x的条件概率分布P(x|z)。举个例子,给你一堆不同颜色的带有编号的球,每种编号的数目不同,而且在同一种颜色中,可能某个编号占据多数,先验分布P(z|μ)意思就是随便拿一个球,不观察颜色的时候瞎猜,猜对的概率是多少,其实也就是(某个编号的球的个数/球总数),而观测向量x就是颜色,条件概率分布P(x|z)意思就看了颜色以后,你心里有个谱,知道这个颜色的那个编号多,然后猜对的概率。
关键:朴素贝叶斯的关键假设就是,以类别z为条件,输入变量x的分布是独立的,原因看图。
发散连接,观测到z的时候,每个变量条件独立。但是无法对z求和或积分(意思就是z不是可观测变量了),那么z就不在阻隔x之间了,它们就不条件独立了。这就告诉我们,通常边缘概率密度P(x)是不可以关于x的元素进行分解。意思应该是,只能计算联合概率密度,即P(x1,x2,...,xD)但是无法拆开计算P(x1)、P(x2)....
再举一例:
假设每个类别的概率密度分布为高斯分布,根据朴素贝叶斯的假设,表明每个高斯分布的协方差为对角矩阵(因为各个观测变量独立了),且每个类别中常数密度的轮廓线是与坐标轴对其的椭球。边缘概率密度由对角高斯叠加组成(权系数由类别先验给出),因此不能对各个分量再进行分解。
2.6 全局马尔科夫独立性
几个概念:
① 在贝叶斯网络中,如果两个节点能够通过一条路径产生有效的相互影响(也就是说两个节点不独立),那么这条路径就称为有效路径(有效迹)
② 如果给定观察变量Z的时候,两个节点相互独立(通过2.3中的三种拓扑结构判断独立与否),就称为这就是所谓的全局独立性
判断有效路径小技巧:
对于串行连接和发散连接,只要两个节点之间可通过观测变量连接起来,那么这条路径就不是有效路径。
对于收敛连接,如果中间节点属于观测变量,而且路径上的其他节点都不属于观测变量,那么它就是有效路径。
例如在第一幅图的网络中,如果令(这里书上可能错了,因为书中的X和Z都包含第二个节点了,而Z是可观测变量,它的节点不可能出现在有效路径中)
显然在给定Z的时候,X和Y是相互独立的:节点1和3给定2独立;节点5和7给定节点6独立。(好像都是串行连接下的独立。PS个人认为书中有问题,如有疑问请评论区标注)
2.7马尔科夫随机毯(Markov blanket)
考虑联合概率分布,考虑第i个结点以其它所有节点为条件的条件概率分布
式子的分子分母中,所有与xi无关的因子都能提出来消去,唯一剩余的因子是第i个结点自身的条件概率以及以xi为父节点的节点xk,即第k个结点有两个父节点,其中一个父节点就是i,而此节点的条件概率分布的条件就是两个父节点。这样的由父节点、子节点、同父节点构成的节点集合称为马尔科夫毯。如下图所示:
此图就是节点xi的马尔科夫毯,由父节点、子节点、同父节点的集合构成。特点是以图中所有剩余节点为条件,xi的条件概率分布值依赖于马尔科夫毯中的变量。
马尔科夫毯是节点xi与图中剩余部分隔开的最小节点的集合,需要注意的是只有子节点和父节点是不够的,因为子节点的观测不会阻隔某个节点到同父节点的路径,因而也需要观测同父节点,按照上面的三个拓扑结构分析此图就能清晰。
3. 解释消除(explaining away)
概念:原本相互独立的多个原因在给定观察结果时,可能不再相互独立,而是变得相互依赖、相互影响。
书中的例子非常好,这里直接拿过来作为实例了:(我又感觉书画错了,书中箭头是反的)
B代表电池(battery)节点,1代表电池有电,0代表电池没电
F代表燃料(fuel)节点,1代表油箱还有有,0代表油箱没油了
G代表油表指针(ggauge)节点,1代表指针说油箱还有油,0代表指针说油箱没油了
这个有向图这样画的原因是根据常识:油表指针是由电量和实际燃料量决定的。也就是说电量和燃料的变动情况是油表指针变动情况的“因”,指针是“果”
这里要分析的是:①直接猜测F=0(没油)的概率,② 观察油表,猜测油箱没油的概率,③ 电池没电时候观察油表,猜测油箱没油的概率
形象点用条件概率表达,依次为:
先说一下已知条件:
根据贝叶斯网络结构,得到联合概率分布
然后就能计算得到知道油表指针空(G=0)的时候,油箱真的空(F=0)的概率为
对于分子
对于分母
注意求分母的这个式子中,第二个等号变换到第二个等号说明B和F是独立的,而独立原因在于我们并不知道收敛连接中心节点G的状态(参考拓扑结构3).
带入原式就能得到
这比不观察任何东西,瞎猜油箱满不满的概率(P(F=0)=0.1)高是必然的
再来计算一下观察到油表和电池都为0的时候,没油的概率
对比着三个计算油箱状态的方法:①瞎猜②看油表③看油表和电池。发现看油表猜油箱的油比较靠谱,但是当我们发现油表的电池快没电了,那么油表的可靠度就在下降。
这个例子就是所谓的解释消除(explaining away),本来相互独立的多个原因在给定观察结果时,可能不再独立,而是相互依赖,相互影响。根据收敛连接,没给定油表观察结果的时候,电池和燃料是相互独立(先验独立)的,但是给定油表的观察结果时,它俩又不独立了。