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

文章目录

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

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

定义

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

主要考点

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

例题

- 要求画出贝叶斯网络图

臭鸡蛋(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 首先处理无父节点的结点

  • 对于行车里程,有高、低两种情况,概率各为0.5和0.5
    在这里插入图片描述
  • 对于空调,有可用和不可用两种情况,概率都为0.5
    在这里插入图片描述

STEP2 再处理有父节点的结点

  • 对于引擎,有一个父节点“行车里程”,因此条件概率表有四行
    在这里插入图片描述
  • 对于车的价值,有两个父节点,引擎和空调,因此有八行
    在这里插入图片描述

- 计算概率

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

P(引擎=差,空调=不可用)=∑αβ P(引擎=差,空调=不可用,行车里程=α,车价=β)
=∑αβ P(车价=β│引擎=差,空调=不可用)P(引擎=差 | 行车里程=α)P(行车里程=α)P(空调=不可用)=0.1453

臭鸡蛋(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

- 分析独立性

考虑下图所示的贝叶斯网络,判断以下表述是否正确
在这里插入图片描述


在做题之前讲一下如何判断独立性,有以下五个步骤

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

下面我们结合五个表述来解释:
首先执行第二步,连接拥有同一个子节点的两个节点,然后第三步将有向图变为无向图(这一步因为懒就不画了)
在这里插入图片描述

1、A ⊥ ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp B
由于该表述没有条件变量,所以第四步不用删除,我们只需判断A和B之间是否有连接,显然A和B是不独立的
在这里插入图片描述

2、A ⊥ ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp D | {B , H}
这个表述有两个条件变量,所以我们需要删除B和H两个节点以及与它们相连的路径,变成下图
在这里插入图片描述

A和D之间没有连接,所以是独立的

3、G ⊥ ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp E | B
同理,删掉节点B和与B相连的路径,可以看到G和E之间是有连接的,所以G和E不独立
在这里插入图片描述

4、F ⊥ ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp C | D
删掉D,F和C之间没有连接,所以F和C是独立的
在这里插入图片描述

5、C ⊥ ⁣ ⁣ ⁣ ⊥ \perp \!\!\! \perp H | G
删掉G,C和H之间没有连接,所以C和H是独立的
在这里插入图片描述

PS:但是这种方法好像有点问题,等我考完另一门试再来研究一下另一种方法

参考文章:
https://zhuanlan.zhihu.com/p/436214290
https://zhuanlan.zhihu.com/p/274314301

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/196672.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python和Pygame绘制自动驾驶和移动机器本地规划器算法

可视化自动驾驶车辆路径规划和移动机器人中使用的众多不同的本地规划器算法。 该应用程序提供可定制的参数,以更好地了解每种算法的内部工作原理并探索它们的优点和缺点。 它是用 Python 编写的,并使用 Pygame 来渲染可视化。 基类 import sys import …

从0到1 手把手搭建spring cloud alibaba(二十二)neo4j 优势,原理,使用场景以及案例介绍

1 什么是图数据库 1.1 图关系数据库的背景,为什么会出现图数据库 上世纪80年代,随着关系型数据库的发展,越来越多的应用程序应运而生,项目的增多也伴随着需求场景的增多 应用的数据库关联都只能靠表与表的外键定义,当关系复杂度达到一定数量的时候,关联某些表的某些属性…

tanstack/react-query使用手册

1. useQuery useQuery的使用一、data是后端成功返回的数据, 第一次的值为undefined 二、isLoading是指数据是否正在加载的状态,通常用于判断请求是否还在进行中。当isLoading为true时,表示数据正在加载中,当isLoading为false时&a…

BGP基本配置

一、知识补充 1、BGP BGP是Border Gateway Protocol(边界网关协议)的缩写。它是用于在互联网中交换路由信息的一种协议。BGP被广泛应用于大规模的自治系统(AS)之间,用于实现跨网络的路由选择和交换。 BGP的主要功能…

基于Cocos2D-X框架闯关游戏的设计

摘 要 随着智能设备平台的普及、用户数量的增多,智能平台的应用,尤其是游戏异常火爆,从植物大战僵尸到愤怒的小鸟,移动平台游戏的开发进入了新的阶段。但是另一方面,平台的多样性也给开发者带来诸多不便,怎…

单片机第三季-第四课:STM32下载、MDK和调试器

目录 1,扩展板使用的STM32芯片类型 2,使用普中科技软件下载程序 3,keil介绍 4,JLINK调试器介绍 5,使用普中的调试器进行debug 6,使用Simulator仿真 1,扩展板使用的STM32芯片类型 扩展版…

什么是网络可视化?网络可视化工具有用吗

网络可视化定义是自我描述的,因为它在单个屏幕上重新创建网络布局,以图形和图表的形式显示有关网络设备、网络指标和数据流的信息,为 IT 运营团队提供一目了然的理解和决策。 网络是复杂的实体,倾向于持续进化,随着业…

应急电源控制系统的研究与设计

摘要 本设计基于STC89C52单片机设计得应急电源,以应急电源为研究对象,单片机设计为控制集成IC,ADC为模数转换控制模块,无源蜂鸣器作为报警电路。系统分为单片机设计最小系统,AD转换控制模块,电源电路&#…

【LeeCode】242.有效的字母异位词

给定两个字符串 *s* 和 *t* ,编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 注意:若 *s* 和 *t* 中每个字符出现的次数都相同,则称 *s* 和 *t* 互为字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输出:…

【C++】异常处理 ⑧ ( 标准异常类 | 标准异常类继承结构 | 常用的标准异常类 | 自定义异常类继承 std::exception 基类 )

文章目录 一、抛出 / 捕获 多个类型异常对象1、标准异常类2、标准异常类继承结构3、常用的标准异常类 二、自定义异常类继承 std::exception 基类1、自定义异常类继承 std::exception 基类2、完整代码示例 - 自定义异常类继承 std::exception 基类 一、抛出 / 捕获 多个类型异常…

java常用知识点记忆

类的继承与多态 类的继承不支持多重继承非private 方法才可以被覆盖覆盖的方法要求,子类中的方法的名字,参数列表,返回类型与父类相同方法的重载是在一个类中定义方法名字相同,但是参数列表不同的方法要是在子类中定义了与父类名字…

【Windows】使用SeaFile搭建本地私有云盘并结合内网穿透实现远程访问

1. 前言 现在我们身边的只能设备越来越多,各种智能手机、平板、智能手表和数码相机充斥身边,需要存储的数据也越来越大,一张手机拍摄的照片都可能有十多M,电影和视频更是按G计算。而智能设备的存储空间也用的捉襟见肘。能存储大量…

Google Protocol Buffers (proto3) 中的 DoubleValue 类型用法总结

文章目录 前言DoubleValue 的作用如何使用 DoubleValue1. 定义 .proto 文件2. 设置 DoubleValue 字段的值3. 检查字段值是否为空,并获取值3. demo示例 前言 这两天在做相关工作的时候,遇到了一个需要定义optional double 类型的proto字段,因…

JDBC常见的几种连接池使用(C3P0、Druid、HikariCP 、DBCP)(附上代码详细讲解)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍JDBC常见的几种连接池使用(C3P0、Druid、HikariCP 、DBCP)以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学…

基于Java SSM酒店客房管理系统

酒店需要一个客房信息管理系统对旅客住宿情况进行管理。系统需要维护所有客房的详细信息,登记入住旅客信息,并实现各种相关的查询、统计功能。系统涉及的数据及操作有: 客房:房号、面积、类型(单人间、标准间、高级标间、三人间、…

开启全新消费革命——消费增值,让每一笔消费变成财富!

你是否厌倦了仅仅购买物品或享受服务后便一无所有的消费方式?现在,消费增值的概念将彻底改变你的消费观念!通过参与消费增值,你的每一笔消费都将变得更有价值! 消费增值是一种全新的消费理念,它让你在购物的…

最新搭建彩虹易支付平台

1、购买服务器并解析域名 Cloudflare域名解析:【点击进入】 2、SSH连接服务器并放行端口 SSH连接工具Finalshell:【点击进入】 放行端口(根据实际情况来放行,大部分的云平台都可以在控制台操作,Vultr需要单独放行&…

tex中的边框

文章目录 利用tcolorbox宏包给公式加框 利用tcolorbox宏包 tcolorbox可以创建一个盒子的环境,例如: \documentclass{article} \usepackage{tcolorbox} \begin{document}\begin{tcolorbox}[left1cm, right1cm, top0.5cm, bottom0.5cm,colbackblue!10!wh…

Schedu,Quartz,Timer 三种定时任务

1. Schedu(基于ScheduledExecutorService的定时任务) 特点: 基于线程池: ScheduledExecutorService 是基于线程池的定时任务调度器。这使得它能够有效地管理和重用线程,减少了线程创建和销毁的开销。 可调度多个任务…

CSRF之pikachu靶场DW

1,登录皮卡丘靶场,get请求; 2,抓包并修改标记后的个人信息 最后放通一下,发现账号信息被修改 2,post请求 1提交post数据并使用bp抓包 2.利用工具改包,并生成url 3,点击提交后&#…