贝叶斯网络 (人工智能期末复习)

慈云数据 2024-03-12 技术支持 121 0

文章目录

  • 贝叶斯网络(概率图模型)
    • 定义
    • 主要考点
    • 例题
      • - 要求画出贝叶斯网络图
      • - 计算各节点的条件概率表
      • - 计算概率
      • - 分析独立性

        贝叶斯网络(概率图模型)

        定义

        一种简单的用于表示变量之间条件独立性的有向无环图(DAG)。

        主要考点

        • 给出一定表述,要求画出贝叶斯网络图;
        • 给出每个节点的条件概率表;
        • 使用贝叶斯网络计算概率;
        • 分析贝叶斯网络的独立性;

          例题

          - 要求画出贝叶斯网络图

          (20年期末)臭鸡蛋(E)或灾难后动物的尸体(M)都会发出一种奇怪的臭味(S),灾难也可能导致海水沸腾(B)。


          STEP1 先找出原因变量

          E、M能导致S,所以E和M是原因变量,M也能导致B;因此由题目可以总结出E和M为原因变量,考虑首先把它们加入图中;

          STEP2 依次把变量加入图中

          首先加入E,然后加入M,E、M之间没有交互关系,无连接;

          再加入S,E和M都能导致S,因此E和M都是S的父节点;

          最后加入B,只有M能导致B,因此M作为B的父节点;

          最后得出的贝叶斯网络图如下:

          在这里插入图片描述

          - 计算各节点的条件概率表

          给定一定的数据集以及对应的贝叶斯网络,求各节点对应的条件概率表。

          在这里插入图片描述

          在这里插入图片描述


          STEP1 首先处理无父节点的结点

          • 记录数一共为41,对于行车里程,有高、低两种情况,有20个记录的行车里程为高
            P(里程=高)
            20/41
            • 对于空调,有25个记录空调可用
              P(空调=可用)
              25/41

              STEP2 再处理有父节点的结点

              • 对于引擎,有一个父节点“行车里程”,
                里程P(空调=可用)
                0.5
                15/21
                • 对于车的价值,有两个父节点,引擎和空调,因此有八行
                  引擎空调P(车价=高)
                  可用0.75
                  不可用2/3
                  可用2/9
                  不可用0

                  - 计算概率

                  在上一题的基础上计算P(引擎=差,空调=不可用)

                  未给定车的价值,引擎和空调是独立的,因此P(引擎=差,空调=不可用)=P(引擎=差)P(空调=不可用)

                  引擎与行车里程有关

                  P(引擎=差)= P(引擎=差 | 行车里程=高)P(行车里程=高)+P(引擎=差 | 行车里程=低)P(行车里程=低) = 0.5×(20/41) + (6/21) ×(21/41)

                  P(引擎=差,空调=不可用) = P(引擎=差)P(空调=不可用) = 0.5×(20/41) + (6/21) ×(21/41) × (16/41)=0.1522

                  (20年期末)臭鸡蛋(E)或灾难后动物的尸体(M)都会发出一种奇怪的臭味(S),灾难也可能导致海水沸腾(B)。

                  假定该表述的各条件概率表由下表所示,请计算出以下概率

                  在这里插入图片描述


                  1、联合概率 P(-e,-s,-m,-b)

                  P(-e,-s,-m,-b) = P(-e)P(-m)P(-s|-e,-m)P(-b|-m) = 0.6×0.9×0.9×0.9 = 0.44

                  2、海水沸腾的概率 P(+b)

                  P(+b) = P(+b|+m)P(-m) + P(+b|-m)P(-m) = 1×0.1+0.1×0.9 = 0.19

                  3、在海水沸腾的条件下,动物尸体出现的概率 P(+m|+b)

                  P(+m|+b) = P(+b|+m)P(+m) / P(+b) = (1×0.1) / 0.19 = 0.53

                  4、在奇怪的臭味,海水沸腾与臭鸡蛋出现的条件下,动物尸体出现的概率 P(+m|+s,+b,+e)

                  可以根据贝叶斯网络写出联合概率在这里插入图片描述分子部分:

                  P(+e,+s,+m,+b) = P(+e)P(+m)P(+s|+e,+m)P(+b|+m) = 0.4×0.1×1.0×1.0 = 0.04

                  分母部分

                  P(+s,+b,+e) = P(+e)P(+m)P(+s|+e,+m)P(+b|+m) + P(+e)P(-m)P(+s|+e,-m)P(+b|-m) = 0.4×0.1×1.0×1.0 + 0.4×0.9×0.8×0.1 = 0.0688

                  所以P(+m|+s,+b,+e) = 0.04/0.0688 = 0.58

                  - 分析独立性

                  (20年期末)考虑下图所示的贝叶斯网络,判断以下表述是否正确

                  在这里插入图片描述


                  判断独立性可以用道德图,有以下五个步骤

                  • 根据原始概率图,构建包括表达式中包含的变量以及这些变量的祖先节点的图;(这一步通常可以省略,看题目给出的图即可)
                  • 若两个节点有同一个子节点,连接这两个节点;(若一个变量的节点有多个父节点,则分别链接每一对父节点)
                  • 去掉图中所有的路径方向,将有向图变成无向图;
                  • 从图中删除需要判断的概率表达式中作为条件的变量,以及和它们相连的路径;
                  • 最后一步判断:若变量之间没有连接则独立,若有路径连接则不独立,若其中一个变量在上一步中被删掉了则独立。

                    具体怎么用这种方法写这道题我就不详细写了(因为有点麻烦,还比较容易出错),可以参考这篇文章https://zhuanlan.zhihu.com/p/436214290

                    另一种比较简单的方法是D-分离法,是参考https://wmathor.com/index.php/archives/1521/这篇文章总结出来的

                    记住这三个图:

                    • 同父结构和顺序结构

                      在这里插入图片描述在这里插入图片描述

                      当c给定时,a和b独立,可以理解为a到b的路径没有被阻断

                    • V型结构

                      在这里插入图片描述

                      与上面两种情况相反,当c没有给定时,a和b独立

                      所以如果我们要判断两个节点AB是否独立,就需要判断是不是所有从A到B的路径都被阻断,如果是则AB独立,反之,存在一条路径未被阻断,则AB不独立。

                      考虑所有从A到B的路径,如果路径上的节点存在以下两种情况,路径被阻断,AB独立:

                      • 该节点给定,且是顺序结构或同父结构
                      • 该节点未给定,是V型结构

                        注:在寻找A到B的路径时视为无向图,判断结点属于什么结构时视为有向图

                        下面根据该题详细解释一下步骤

                        1、A ⊥  ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp ⊥⊥B

                        A与B直接相连,显然A和B是不独立的(存在A到B的一条通路)

                        在这里插入图片描述

                        2、A ⊥  ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp ⊥⊥D | {B , H}

                        判断AD是否独立,我们需要找出所有从A到D的路径

                        • A-B-D

                          可以看出这条路径上B节点是属于顺序结构的,而B已经给定,符合第一点,说明该路径被阻断;

                        • A-F-G-D

                          该路径中F结点属于顺序结构,未给定,所以没有阻断;

                          G结点属于V型结构,未给定,符合第二点,所以该路径也被阻断;

                        • A-F-G-H-E-B-D

                          这条路径中F和G都属于未给定的顺序结构,不存在阻断;

                          H属于给定的V型结构,也不存在阻断;

                          E属于未给定的同父结构,不阻断;

                          B属于给定的顺序结构,符合第一点,这条路径也被阻断

                          所以所有A到D的路径都被阻断了,因此A和D是独立的

                          3、G ⊥  ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp ⊥⊥E | B

                          在这里插入图片描述

                          同理,寻找G到E的路径

                          • G-H-E

                            H属于未给定的V型结构,符合第二点,该路径被阻断;

                          • G-D-B-E

                            D属于未给定的顺序结构,不阻断;B属于给定的顺序结构,符合第一点,该路径被阻断;

                          • G-F-A-B-E

                            F属于未给定的顺序,不阻断;A属于未给定的同父,不阻断;B属于给定的V,不阻断;

                            所以该路径可以连通G和E

                            故G和E是不独立的

                            4、F ⊥  ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp ⊥⊥C | D

                            在这里插入图片描述

                            寻找F到C的路径

                            • F-A-B-C

                              A属于未给定的同父,不阻断;B属于未给定的V型结构,符合第二点,该路径被阻断;

                            • F-G-D-B-C

                              G属于未给定的V型,符合第二点,该路径被阻断;

                            • F-G-H-E-B-C

                              G属于未给定的顺序,不阻断;H属于未给定的V型,符合第二点,被阻断;

                              所以F和C是独立的

                              5、C ⊥  ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp ⊥⊥H | G

                              在这里插入图片描述

                              寻找C到H的路径

                              • C-B-E-H

                                B属于未给定的V型,被阻断;

                              • C-B-D-G-H

                                B和D都属于未给定的顺序,不阻断;G属于给定的顺序,被阻断;

                              • C-B-A-F-G-H

                                B属于未给定的V型,被阻断;

                                因此C和H是独立的

                                (22年春期末)判断下列变量之间的独立性(B,E l C),(A,D),(A,D I B),(A,D I B,C)在这里插入图片描述

                                • (B,E l C)

                                  BE之间存在C是给定的顺序,所以被阻断(两条路径都是),所以 (B,E | C)独立;

                                • (A,D)

                                  AD之间存在B是未给定的顺序结构,存在A-B-D这条通路,所以 (A,D)不独立,即使A-B-C-D被B阻断;

                                • (A,D I B)

                                  给定了B,则A-B-D这条路被阻断,但A-B-C-D这条路是通的,所以 (A,D I B)不独立;

                                • (A,D I B,C)

                                  给定了BC,很显然两条路都被阻断了,所以 (A,D I B)独立;

                                  大概就是这么个判断方式,只要找到满足那两个条件的结点,这条路径就被阻断,如果所有路径都被阻断,那么两个结点就是独立的。


                                  参考文章:

                                  https://zhuanlan.zhihu.com/p/436214290

                                  https://zhuanlan.zhihu.com/p/274314301

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon