Chapter 12 贝叶斯网络

article/2025/10/2 17:52:28

1 概率公式

条件概率:P(A|B)=\frac{P(AB)}{P(B)}

全概率公式:P(A)=\sum_{i}P(A|B_{i})P(B_{i})

贝叶斯公式(Bayes):P(B_{i}|A) =\frac{P(A|B_{i})P(B_{i})}{\sum_{j}P(A|B_{j})P(B_{j})}

2 贝叶斯公式

2.1  贝叶斯公式带来的思考

给定某些样本D,在这些样本中计算某结论A_{1},A_{2},...,A_{n}出现的概率,即P(A_{i}|D)

maxP(A_{i}|D)=max\frac{P(D|A_{i})P(A_{i})}{P(D)}贝叶斯公式

max\frac{P(D|A_{i})P(A_{i})}{P(D)}=max(P(D|A_{i})P(A_{i}))样本给定,则对于任何A_{i},P(D)是常数,仅为归一化因子。

max(P(D|A_{i})P(A_{i})) -> maxP(D|A_{i}:忽略P(A_{i})

maxP(A_{i}|D) -> maxP(D|A_{i}):若这些结论A_{1},A_{2},...,A_{n}的先验概率相等(或近似),则可以由此推导。

2.2 贝叶斯公式的应用

金条问题:

设这三个箱子为B=1,B=2,B=3, 两块贵金属为M=G(金条),M=S(银条)

所以已知:P(B=1)=P(B=2)=P(B=3)=\frac{1}{3}

P(M=G|B=1)=1,P(M=S|B=1)=0

P(M=G|B=2)=0,P(M=S|B=2)=1

P(M=G|B=3)=\frac{1}{2},P(M=S|B=3)=\frac{1}{2}

问题就转化为求P(B=1|M=G)=?

解答:P(B=1|M=G)=\frac{P(B=1,M=G)}{P(M=G)}=\frac{\frac{1}{3}}{\frac{1}{3}+0+\frac{1}{3}\cdot \frac{1}{2}}=\frac{2}{3}

 2.3 贝叶斯网络

  • 把某个研究系统中涉及到的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。
  • 贝叶斯网络(Bayesian Network),又称有向无环图模型,是一种概率图模型之一,根据概率图的拓扑结构,考察一组随机变量\left \{ X_{1},X_{2},...,X_{n} \right \}及其n组条件概率分布。
  •  概率图模型分为马尔可夫网络模型(无向图)和贝叶斯网络模型(有向图)。
  • 一般而言,贝叶斯网络的有向无环图中的节点表示随机变量,它们可以是可观察到的变量,或隐变量、未知参数等。连接两个节点的箭头代表此两个随机变量是具有因果关系(或非条件独立)。若两个节点间以一个单箭头连接在一起,表示其中一个节点是“因(parents)”,另一个是‘果(children)”,两节点就会产生一个条件概率值。
  • 一个简单的贝叶斯网络

2.4 全贝叶斯网络

每一对结点之间都有边连接

p(x_{1},...,x_{K})=p(x_{K}|x_{1},...,x_{K-1})...p(x_{2}|x_{1})p(x_{1})

P(X_{1}=x_{1},...,X_{n}=x_{n})=\prod_{i=1}^{n}P(X_{i}=x_{i}|X_{i+1}=x_{i+1},...,X_{n}=x_{n})

举例说明:当K=5时p(x_{1},...,x_{5})=p(x_{5}|x_{1}...x_{4})p(x_{4}|x_{1}...x_{3})p(x_{3}|x_{2}x_{1})p(x_{1})

 2.5 "正常"的贝叶斯网络

  • 有些边缺失
  • 如下图所示:直观上x_{1},x_{2}独立,x_{6},x_{7}x_{4}给定条件下独立
  •  x_{1},x_{2},...,x_{7}的联合分布为:p(x_{1})p(x_{2})p(x_{3})p(x_{4}|x_{1},x_{2},x_{3})p(x_{5}|x_{1},x_{3})p(x_{6}|x_{4})p(x_{7}|x_{4},x_{5})

 

举例说明:

例一:

由于呼吸困难(D)所造成的原因有肺癌(C)和支气管炎(B),所以才有上表(CPD)。

 例二:

 全部随机变量的联合分布为:
P(j,m,a,\overline{b},\overline{e})=P(j|a)P(m|a)P(a|\overline{b},\overline{e})P(\overline{b})P(\overline{e})=0.9\times 0.7\times 0.001\times 0.999\times 0.998\approx 0.00063

实际上,如果需要求联合分布,仅需给出拓扑图,以及各个随机变量之间的概率分布表即可。

2.6 “特殊”的贝叶斯网络

 通过贝叶斯网络判定条件独立:

(1)情况一:tail-to-tail

由图可看出:P(a,b,c)=P(c)\cdot P(a|c)\cdot P(b|c)

所以:P(a,b,c)/P(c)=P(a|c)P(b|c)

又因为:P(a,b|c)=P(a,b,c)/P(c)

所以:P(a,b|c)=P(a|c)P(b|c)

即在c给定条件下,a和b被阻断,是独立的。

 (2)情况二:head-to-tail

由于P(a,b,c)=P(a)\cdot P(c|a)\cdot P(b|c)

所以有:

P(a,b|c)=P(a,b,c)/P(c)=[P(a)\cdot P(c|a)\cdot P(b|c)] /P(c)=[P(a,c)\cdot P(b|c)]/P(c)=P(a|c)\cdot P(b|c)

即在c给定条件下,a和b被阻断,是独立的。

 (3)情况三:head-to-head

由于P(a,b,c)=P(a)\cdot P(b)\cdot P(c|a,b)

 所以有:\sum_{c}P(a,b,c)=\sum_{c}P(a)\cdot P(b)\cdot P(c|a,b)

从而:P(a,b)=P(a)\cdot P(b)

即在c未知的条件下,a和b被阻断,是独立的。

2.7  将上述结点推广至结点集

 ps:有D-separation可知,在x_{i}给定的条件下,x_{i+1}的分布和x_{1},x_{2}...x_{i-1}条件独立。即:x_{i+1}的分布状态只和x_{i}有关,和其他变量条件独立,这种顺次演变的随机过程模型,叫做马尔科夫模型。

P(X_{n+1}=x|X_{0},X_{1},X_{2},...,X_{n})=P(X_{n+1}=x|X_{n})

  • 隐马尔科夫模型(HMM,Hidden Markov Model)可用标注问题,在语音识别、NLP、生物信息、模式识别等领域被实践证明是有效的算法。
  • HMM是关于时序的概率模型,描述由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。
  • 隐马尔科夫模型随机生成的状态的序列,称为状态序列;每个状态生成一个观测,由此产生的观测随机序列,称为观测序列。序列的每个位置可看做是一个时刻。空间序列也可使用该模型,如分析DNA。

2.8 贝叶斯网络的用途

 

 


http://chatgpt.dhexx.cn/article/SmgGBx5H.shtml

相关文章

静态贝叶斯网络

一、什么是静态贝叶斯网络? 研究和应用BN时,不考虑时间因素对系统和数据的影响。二、研究内容 计算复杂性 网络结构的确定问题 已知结构的参数确定问题 最大后验分布估计和条件期望估计。 在给定结构上的概率计算 贝叶斯网络推理算法&#xff1a…

【机器学习】11、贝叶斯网络

文章目录 一、贝叶斯网络是什么二、朴素贝叶斯三、贝叶斯网络的建立 一、贝叶斯网络是什么 贝叶斯网络的思考: 原本的问题: 给定一组样本D,求得在这些样本中出现某个结论 A 1 , A 2 , . . . , A n A_1,A_2,...,A_n A1​,A2​,...,An​出现的…

机器学习:贝叶斯网络

一、什么是贝叶斯网络? 贝叶斯网络是一种用于进行概率推理的模型。(比如说下面这个图,箭头表示因果关系,也就是强盗抢劫和地震都会引起房子铃响,如果房子铃响,那么这个人的两个邻居John和mary会打电话给他…

人工智能学习(十):什么是贝叶斯网络——伯克利版

目录 10.1 概率建模 10.1.1 独立性 10.1.2 条件独立 10.1.2.1 条件独立和链式法则 10.2 贝叶斯网络 10.2.1 图形化的模型符号 10.2.2 贝叶斯网络的构建 10.2.3 贝叶斯网络的语义 10.2.3 贝叶斯网络中的概率 10.2.4 因果关系 10.1 概率建模 模型描述了世界的&#xff…

贝叶斯网络详解

0x01 贝叶斯网络概述 有时我们需要计算一个不确定原因的概率给出一些观察到的证据,在这些情况下可以使用贝叶斯方法。 贝叶斯网络(bayesian network) 是一种概率图形模型,它在图形模型中显式捕获已知的有向边的条件依赖性&#x…

【数据挖掘】贝叶斯网络理论及Python实现

1.理论知识 1.1贝叶斯网络概述 贝叶斯网络(Bayesian Network,BN)作为一种概率图模型(Probabilistic Graphical Model,PGD),可以通过有向无环图(Directed Acyclic Graph,DAG)来表现。…

Android init.rc中vold socket语法简介

一、 前言 本篇文章以Android4.4代码为例,简单说明init.rc中vold里面socket语法的使用。 二、语法简介 2.1 init.rc位置 init.rc文件位置:/system/core/rootdir/init.rc 2.2 vold代码块位置 service vold /system/bin/voldclass coresocket vold s…

Android 7.0 Vold工作流程

一、Vold工作机制 Vold是Volume Daemon的缩写,它是Android平台中外部存储系统的管控中心,是管理和控制Android平台外部存储设备的后台进程。其功能主要包括:SD卡的插拔事件检测、SD卡挂载、卸载、格式化等。 如上图所示,Vold中的…

1.9 深入理解Vold和Rild

第9章 深入理解Vold和Rild 9.1 概述 本章将分析Android系统中两个比较重要的程序,它们分别是: Vold:Volume Daemon,用于管理和控制Android平台外部存储设备的后台进程,这些管理和控制,包括SD卡的插拔事件…

Android之vold进程启动源码分析

1.Vold (Volume Daemon)介绍 vold进程接收来自内核的外部设备消息,用于管理和控制Android平台外部存储设备,包括SD插拨、挂载、卸载、格式化等;当外部设备发生变化时,内核通过Netlink发送uEvent格式的消息给…

<Android开发> Android vold - 第四篇 vold 的NetlinkHandler类简介

本系列主要介绍 Android vold,分为以下篇章 <Android开发> Android vold - 第一篇 vold前言简介 <Android开发> Android vold - 第二篇 vold 的main()函数简介 <Android开发> Android vold - 第…

<Android开发> Android vold - 第二篇 vold 的main()函数简介

本系列主要介绍 Android vold,分为以下篇章 <Android开发> Android vold - 第一篇 vold前言简介 <Android开发> Android vold - 第二篇 vold 的main()函数简介 <Android开发> Android vold - 第…

Android外部存储设备管理——vold挂载大容量存储设备

一、简介 Vold(volume Daemon),即Volume守护进程,用来管理Android中存储类(USB-Storage,包含U盘和SD卡)的热拔插事件,处于Kernel和Framework之间,是两个层级连接的桥梁。Vold在系统中以守护进程存在&#x…

Android Vold 架构简析

这篇文章中主要是分析一下,android系统里面的Vold——Vold是andorid系统的设备管理器,扮演着linux里面的udev的角色。它通过监听uevent的端口,取得 uevent事件,dispatch到 相应的Listener,执行相应的动作。 UEvent 在…

Android Vold架构

1. 总体架构 2. 流程概览 2.1 开启Vold 2.2 引导Uevent 2.3 处理事件 Vold - Volume Daemon存储类的守护进程,作为Android的一个本地服务,负责处理诸如SD、USB等存储类设备的插拔等事件。 1. 总体架构 Vold服务由volumeManager统一管控&#xff0c…

Vold 流程介绍

文章目录 前言框架MountService 流程Vold 流程 前言 印象中是参考 《深入理解 Android 卷 1 》 追的流程,差不多供参考吧 基于安卓 4.4 框架 MountService 流程 /*【初始化流程总结】: SystemServerinitAndLoop()// 创建 MountService 服务对象mountS…

ANDROID中的VOLD分析

现在可能很少有人会用mknod这个命令了,也很少有使用它的机会,但就在几年前,这还是一项linux工程师的必备技能,在制作文件系统前或加载新的驱动前,我们必须小心翼翼的创建设备节点。 不需要使用mknod并不是他消失了&am…

Android -- Vold机制简要分析

Android -- Vold机制简要分析 Vold是用于管理和控制Android外部存储介质的后台进程,这里说的管控,主要包括SD卡的插拔、挂载/卸载和格式化等;它是Android平台外部存储系统的管控枢纽。 Vold的整个控制模块主要由三个类模块构成:Ne…

Android Vold简介(一)

Vold(volume Daemon),即Volume守护进程,用来管理Android中存储类的热拔插事件,处于Kernel和Framework之间,是两个层级连接的桥梁。先来看一下Vold在Android系统的整体架构。 该图主要包含了Framework和Vold进程的,Ke…

vold

一、Vold工作机制 Vold是Volume Daemon的缩写,它是Android平台中外部存储系统的管控中心,是管理和控制Android平台外部存储设备的后台进程。其功能主要包括:SD卡的插拔事件检测、SD卡挂载、卸载、格式化等。 如上图所示,Vold中的…