什么是贝叶斯网络?原理入门

您所在的位置:网站首页 神经网络控制的基本原理是什么 什么是贝叶斯网络?原理入门

什么是贝叶斯网络?原理入门

2024-07-14 17:45| 来源: 网络整理| 查看: 265

  现实生活中的很多问题都是概率问题,由多个变量(因素,要素)相互影响。而想要用贝叶斯网络对其建模,我们需要考虑三个问题:1. 如何定义节点;2.如何定义节点之间的概率依赖关系;3. 如何表示联合概率分布。

  假设我们现在有 N N N个变量,每个变量有 K K K个取值,则可建模为如下形式:

p ( X ) = p ( X 1 , X 2 , … , X N ) , X i ∈ { 1 , 2 , … K } p(\mathbf{X})=p\left(X_{1}, X_{2}, \ldots, X_{N}\right), X_{i} \in\{1,2, \ldots K\} p(X)=p(X1​,X2​,…,XN​),Xi​∈{1,2,…K}

  若使用枚举法,参数个数为: K N K^{N} KN。

  假设变量之间相互独立,则联合概率分布大大简化为如下形式:

p ( X ) = p ( X 1 ) p ( X 2 ) ⋯ p ( X N ) p(\mathbf{X}) = p(X_{1})p(X_{2})\cdots p(X_{N}) p(X)=p(X1​)p(X2​)⋯p(XN​)

  但是变量之间相互独立的这个假设太强了,那我们如何来利用图的结构优势降低模型的复杂度?

贝叶斯网络

  贝叶斯网络是一个有向无圈图(Directed Acyclic Graph, DAG)(有向边并不会形成一个圈),由代表变量节点及连接 这些节点有向边构成。节点代表随机变量,节点间的有向边代表了节点间的互相关系(由父节点指向其子节点),用条件概率表达变量间依赖关系,没有父节点的用先验概率进行信息表达。

  令 G G G为定义在 { X 1 , X 2 , ⋯   , X N } \{X_{1},X_{2},\cdots,X_{N}\} {X1​,X2​,⋯,XN​}上的一个贝叶斯网络,则其联合概率分布可以表示为各个节点的条件概率分布的乘积:

p ( X ) = ∏ i p i ( X i ∣ Par ⁡ G ( X i ) ) p(X)=\prod_{i} p_{i}\left(X_{i} | \operatorname{Par}_{G}\left(X_{i}\right)\right) p(X)=i∏​pi​(Xi​∣ParG​(Xi​))

  其中 P a r G ( X i ) Par_{G}(\mathbf{X}_{i}) ParG​(Xi​)为节点 X i \mathbf{X}_{i} Xi​的父节点, p i ( X i ∣ P a r G ( X i ) ) p_{i}(\mathbf{X}_{i}|Par_{G}(X_{i})) pi​(Xi​∣ParG​(Xi​))为节点条件概率表。

  我们以一个例子来对其进行实例化建模:

  实际生活中的一个例子:对一个学生能否拿到老师的推荐信这一问题进行建模研究。假设与该问题相关的变量有以下五个:试题难度、学生智力、考试成绩、高考成绩、是否 得到老师推荐信。那么其节点可定义为如下形式:

定义节点

  可以看到Grade有两个父节点,SAT有一个父节点(有父子节点的表示为条件概率分布的形式)。所以其联合概率分布可表示为如下形式:

p ( D , I , G , S , L ) = P ( D ) P ( I ) P ( G ∣ I , D ) P ( S ∣ I ) P ( L ∣ G ) \begin{array}{l} p(D, I, G, S, L) \\ =P(D) P(I) P(G | I, D) P(S | I) P(L | G) \end{array} p(D,I,G,S,L)=P(D)P(I)P(G∣I,D)P(S∣I)P(L∣G)​

  那写成这这种联合概率分布的情况有什么好处呢?我们可以看一下其参数形式:

枚举法:2 * 2 * 3 * 2 * 2 - 1 = 47 个参数(减去1的原因是联合概率分布求和需要等于1)。结构化分解:1 + 1 + 8 + 3 + 2 = 15个参数 (每一行的参数求和需要等于1)。

  更一般地,假设 n n n个二元随机变量的联合概率分布,表示该分布需要 2 n − 1 2^{n}-1 2n−1 个参数。如果用贝叶斯网络建模,假设每个节点最多有 k k k 个父节点,所需要 的参数最多为 n ∗ 2 k n*2^{k} n∗2k,一般每个变量局部依赖于少数变量。

  算一个实际的例子:

实际算数举例

  那为什么联合概率为什么可以表示为局部条件 概率表的乘积?

随机变量 X X X, Y Y Y 相互独立, 则会满足以下三个等式:

P ( X , Y ) = P ( X ) P ( Y ) P(X,Y)=P(X)P(Y) P(X,Y)=P(X)P(Y)

P ( X ∣ Y ) = P ( X ) P(X|Y)=P(X) P(X∣Y)=P(X)

P ( Y ∣ X ) = P ( Y ) P(Y|X)=P(Y) P(Y∣X)=P(Y)

  或者说上面三个等式中的任意一个等式成立,则随机变量 X X X, Y Y Y是相互独立的。下图是其举例:

随机变量相互独立

随机变量 X X X, Y Y Y 在给定 Z Z Z 条件下条件独立, 如果满足:

P ( X , Y ∣ Z ) = P ( X ∣ Z ) P ( Y ∣ Z ) P(X,Y|Z)=P(X|Z)P(Y|Z) P(X,Y∣Z)=P(X∣Z)P(Y∣Z)

P ( X ∣ Y , Z ) = P ( X ∣ Z ) P(X|Y,Z)=P(X|Z) P(X∣Y,Z)=P(X∣Z)

P ( Y ∣ X , Z ) = P ( Y ∣ Z ) P(Y|X,Z)=P(Y|Z) P(Y∣X,Z)=P(Y∣Z)

  我们可以将下图中具体的数值代进去,其将会成立:

随机变量在给定条件下的独立性

概率影响的流动性

  为了更好地去介绍贝叶斯网里面的条件独立性,我们引入新的概念,概率影响的流动性。概率影响的流动性说地是:在一定的观测条件下,变量间的取值概率是否会相互影响。所谓的观测条件是这个系统是否有观测变量,或者观测变量的取值是否确定。当变量取值未知,通常根据观测变量取值,对隐变量的取值概率进行推理。

  比如:判断 W W W 是否为观测变量, X X X与 Y Y Y的概率影响的流动性。

概率流动性举例

  这里要注意第3和第4中情况,第3种情况:当 W W W未知的时候你才可以对 X X X和 Y Y Y进行推断。第4种情况:当 W W W已知的时候, X X X和 Y Y Y才可以进行概率之间的推断。

概率影响的流动性

概率影响的流动性

  在贝叶斯网络里面有一个概率独立性定理:父节点已知时,该节点与其所有非后代的节点(non-descendants)条件独立。

举例

  如上图所示,当SAT的父节点Intelligence已知时,Difficulty、Grade、Letter都与SAT条件独立。

贝叶斯网链式法则

  依据上述定理我们可以得到贝叶斯网络因子分解的形式:

贝叶斯网链式法则

贝叶斯网络推理的直观理解

  因果推断(Causal Reasoning):顺着箭头方向推断。得到贝叶斯网络之后我们就可以进行推理计算。这种因果推理是顺着箭头方向进行的推理。

贝叶斯网络推理

  贝叶斯网络的第二种推断叫做证据推断(Evidential Reasoning):是逆着箭头推断的。

证据推断

  交叉因果推断(Intercausal Reasoning):双向箭头推断。

交叉因果推断

我的微信公众号名称:小小何先生 公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3