Bayes Belief Networks详解(附带详细公式推导)

Bayes Belief Networks详解

第十次写博客,本人数学基础不是太好,如果有幸能得到读者指正,感激不尽,希望能借此机会向大家学习。这篇文章主要分为一下三部分来介绍贝叶斯信念网(Bayes   Belief   Networks):BNN的简要介绍、如何构建BNN、如何基于BNN进行估计以及BNN的特点。

贝叶斯信念网

这一部分主要是讲贝叶斯网的基本结构、条件独立性与边界独立性以及条件独立性分析。

基本结构

  “贝叶斯信念网络”(Bayes   Belief   Networks,BBN),简称贝叶斯网,用图形表示一组随机变量(属性)之间的依赖关系。有两个重要的组成部分:
  (1)一个有向无环图(Directed   Acyclic   Graph,简称DAG),来刻画变量之间的依赖关系。
  (2)一个概率表(Conditional   Probability   Table,简称CDT),来描述随机变量之间(子结点与父结点之间)的联合概率分布。
  具体来说,一个贝叶斯网 B 由有向无环结构 G 和概率参数表 θ 组成,即 B =< G , θ > 。有向无环结构 G 中的每个结点代表了一个随机变量,如果两个变量之间有直接的依赖关系,那么就将他们通过一条有向边连接起来。概率参数表 θ 则是定量的描述这种依赖关系,例如,假设属性 x G 中只有一个父结点 y ,那么 θ x | y 描述了这俩变量所组成的条件概率分布,即 θ x | y = P B ( x | y ) ;假设属性 x G 中有多个父结点 y i ( i = 1 , 2 , . . . , n ) ,那么 θ x | y 描述了这 n + 1 个变量所组成的条件概率分布,即 θ x | y = P B ( x | y 1 , y 2 , . . . , y n ) ;假设属性 x 没有父结点,那么 θ x | y 描描述了这个变量的先验概率分布,即 θ x | y = P B ( x ) 。基于上述几种情况,贝叶斯网中各个属性的联合概率分布可以表示为

  下面举一个简单的例子,下图给出了西瓜问题的一种贝叶斯网络表示。可以从图中看出,“敲声”依赖于“好瓜”,“色泽”依赖于“好瓜”和“甜度”,而“根蒂”依赖于“甜度”,从“甜度->根蒂”的概率参数表中,可以得知这两个属性之间的定量的依赖信息,如 P ( = | = ) = 0.1

条件独立性与边际独立性

  贝叶斯网络中有如下图所示的三种典型依赖关系:同父结构、V型结构、顺序结构。

  这三种结构存在以下几种不同的依赖关系:
  (1) 在同父结构中,如果给定父结点 x 1 的取值,那么子结点 x 3 x 4 条件独立。
  (2) 在顺序结构中,如果给定结点 x 的取值,那么结点 y z 条件独立。
  (3) 在V型结构中,如果给定子结点 x 4 的取值,那么父结点 x 1 x 2 必不独立;反之,子结点 x 4 的取值未知,那么结点 x 1 x 2 满足边际独立性。
  前两种结构可以统称为“满足条件独立性”,即贝叶斯网络中的某个结点,如果他的所有父结点已知,那么它条件独立于它的所有非后代结点。如下图中,如果给定结点 C 的取值,那么结点 A 条件独立于结点 B D

条件独立性分析

  为了分析有向图 G 中变量间的条件独立性,可以使用“有向分离”(Directed   Separation),将一个有向图转换为无向图。具体步骤如下:
  (1)找出有向图中的所有V型结构,在V型结构的两个父结点之间加上一条无向边;
  (2)将所有的有向边改为无向边。
由此产生的无向图称为“道德图”(Moral   Graph),令父结点相连的过程称为“道德化”(Moralization)。通过道德图可以快速、有效的找到变量间的条件独立性,具体的步骤是,假设道德图中有变量 x , y 和变量集合 z = { z i } ,如果变量 x y 能在图上被 z 分开,即将集合 z 从道德图中去掉后, x y 分属于两个不同的连通分支,则称变量 x y 被集合 z “有向分离”,即 x y | z 成立。例如,下图是图1所对应的道德图,由于“甜度”与“敲声”可以被集合{“好瓜”,“色泽”}有向分离,所以有如下结论 | { , }

贝叶斯信念网的构建

这一部分主要是讲贝叶斯网构建时遵循的MDL准则、评分函数以及如何寻找最优的网络结构。

“最小描述长度”(Minimal Description Length)

  由贝叶斯网的基本结构可知,当网络结构 G 确定下来后,参数概率表 θ 的值可以通过对训练样本的简单计数进行估计,因此贝叶斯网构建的过程首先是确定网络结构。在这里我们采用的是“评分搜索”,即设置一个“评分函数”(Score   Function),来评估贝叶斯网的复杂度和他与训练集的契合程度,之后基于这个评分函数来对结构进行选择。
  评分函数通常基于信息论原则,即将学习过程看做是一个数据压缩过程,寻找最短的编码长度来描述训练数据的模型。“编码长度”包括描述模型自身所需的字节大小和使用该模型来描述训练数据所需的字节大小,我们选择编码长度最短的贝叶斯网,这就是“最小描述长度”(Minimal   Description   Length,简称MDL准则)。

贝叶斯网的评分函数

  贝叶斯信念网中,“模型”就是贝叶斯网的网络结构 G ,“描述训练数据所需的字节大小”可以通过贝叶斯网所对应的概率分布 P B 对训练数据描述好坏的程度来评判。因此,给定训练集 D = { x i | i = 1 , 2 , 4 , . . . } ,则贝叶斯网 B =< G , θ > D 上的评分函数可以表示为

其中, f ( θ ) 是描述每个参数 θ 所需的长度, | B | 是贝叶斯网的参数个数,而

是贝叶斯网 B 的对数似然。由此可见,式(2)中的第一部分表示的是编码贝叶斯网 B 所需的字节长度,即贝叶斯网的复杂度,第二部分表示的是贝叶斯网 B 所对应的概率分布 P B 对训练集 D 描述的有多好,即贝叶斯网与训练数据的契合程度。这时,贝叶斯网的构建过程就转化为寻找一个使得评分函数最小的贝叶斯网的优化问题。
  根据 f ( θ ) 的不同,评分函数可以有以下几种形式:
  (1)当 f ( θ ) = 1 时,即每个参数的长度为一个字节,则得到AIC评分函数

  (2)当 f ( θ ) = 1 2 l o g m 时,即每个参数的长度为 1 2 l o g m 个字节,则得到BIC评分函数

  (3)当 f ( θ ) = 0 时,即忽略贝叶斯网的复杂程度影响,则评分函数退化为负的对数似然,学习任务退化为最大似然估计。

寻找最优的网络结构

  由式(2)可知,当网络结构 G 确定下来后,式子中的第一部分就成为一个常数,这时最小化评分函数 s ( B | D ) 就等价于对参数 θ 的最大似然估计。由式(1)和式(3)可知,式(2)中的第二部分可以通过经验估计得到,因此,为了最小化评分函数 s ( B | D ) ,只需要对网络结构进行搜索,而候选结构的最优参数可以直接在训练集上获得。
  然而,从所有的网络结构空间中寻找到最优的网络结构是一个NP难问题,因此有两种可以在有限时间内得到近似解的策略,其一,是贪心法,即从某一个网络结构出发,每次调整一条边(增加、删除或调整方向),直到评分函数不再降低;其二,是利用先验知识,通过给网络结构增加约束来削减搜索空间,例如将网络结构限定为树形结构等。
  下面简单介绍一种利用先验知识确定网络结构的方法,

由于该算法不允许从低序结点向高序接结点画弧,因此该算法所产生的网络结构中不存在环。如果我们对变量采用不同的排序方案,得到的网络结构可能会有所变化,某些拓扑结构的质量可能会很差,因为他们在不同的节点对之间产生了很多条弧。从理论上讲,需要检查所有的 d ! 种排序方案才能确定最优的网络结构,这种计算开销是巨大的。替代的方法是利用先验知识,将变量划分为原因变量和结果变量,然后从各原因变量向结果变量画弧,这种方法简化了网络结构的建立。

基于贝叶斯信念网的估计

当贝叶斯信念网搭建好之后,就需要根据BNN来对输入样本进行估计了,下面根据BNN的结构不同,分为两部分来介绍估计方法。

网络结点较少、连接较稀疏

  这种情况下,可以直接通过贝叶斯网进行估计,下面举个例子说明不同情况下如何对一个人是否患有心脏病进行估计。

(1)没有先验信息
  在没有任何先验信息的情况选,可以直接通过计算现概率 P ( H D = Y e s ) P ( H D = N o ) 来确定一个人是否可能患心脏病。为了表述方便,设 α { Y e s , N o } 表示锻炼的两个值, β { , } 表示饮食的两个值。

(2)高血压
  如果一个人有高血压,可以通过比较后验概率 P ( H D = Y e s | B P = ) P ( H D = N o | B P = ) 来诊断他是否患有心脏病,为此没我们必须先计算 P ( B P = )

其中 γ { Y e s , N o } ,因此,此人患心脏病的后验概率是:

因此,当一个人患有高血压时,他患心脏病的概率增加了。
(3)高血压、饮食健康、经常锻炼身体
  假设得知此人经常锻炼身体并且饮食健康,加上这些新信息后,此人患心脏病的后验概率为:

因此,当一个人经常锻炼身体并且饮食健康,可以大大减少患心脏病的概率。

网络结点较多、连接较稠密

  当网络结点较少、连接较稀疏时,可以直接根据贝叶斯网络精准计算后验概率,但是当网络节点增多、连接稠密时,这种计算方法是NP难的,这时需要借助“近似推断”,通过降低精度要求,以便在有限时间内求得近似解。贝叶斯网的近似推断一般采用的是“吉布斯采样”(Gibbs   Sampling)来完成,这是一种随机采样方法,详细步骤如下图所示:

  从上图中可以看出,吉布斯采样是在贝叶斯网所有变量的联合状态空间与证据 E = e 一致的子空间中进行“随机漫步”(random   walk)。每一步仅依赖于前一步的状态,这是一个“马尔科夫链”(Markov   Chain)。在一定条件下,无论从什么初始状态开始,马尔科夫链第 t 步的状态分布在 t 时必收敛于一个平稳分布,对于吉布斯采样来说,这个分布恰好是 P ( Q | E = e ) 。因此,在 T 很大时,吉布斯采样相当于根据 P ( Q | E = e ) 采样,从而保证了算法最终收敛于 P ( Q = q | E = e )
  但是吉布斯采样算法一般收敛速度较慢,而且,若贝叶斯网中存在0或1,则不能保证马尔科夫链的平稳分布,此时吉布斯采样会给出错误的估计结果。

贝叶斯信念网的特点

1.BNN提供了一种用图形模型来捕获特定领域的先验知识的方法,网络还可以用来对变量间的因果依赖关系进行编码,具有很高的可解释度;
2.BNN的构建费时费力,不过,一旦网络结构确定下来,添加新变量就十分容易;
3.BNN很适合处理不完整的数据,对于有属性遗漏的实例可以对该属性的所有可能值的概率求和或求积分来加以处理,对于有属性值未知的实例(隐变量问题),可以采用EM算法结合网络结构来推测该属性值;
因为数据和先验知识依概率的方式结合起来了,所以该方法的过拟合风险大大减小。

猜你喜欢

转载自blog.csdn.net/qq_40793975/article/details/81416462
今日推荐