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

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

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

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

image.png

若使用枚举法,参数个数为:K N

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


image.png

贝叶斯网络


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

image.png


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

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

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

image.png

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

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

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

  算一个实际的例子:

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

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


image.png

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

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


image.png

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

概率影响的流动性

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

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

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

概率影响的流动性

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

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

贝叶斯网链式法则

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

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

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

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

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

我的微信公众号名称:深度学习与先进智能决策

微信公众号ID:MultiAgent1024

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

相关文章
|
25天前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
62 3
|
7天前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
23 3
|
6天前
|
消息中间件 编解码 网络协议
Netty从入门到精通:高性能网络编程的进阶之路
【11月更文挑战第17天】Netty是一个基于Java NIO(Non-blocking I/O)的高性能、异步事件驱动的网络应用框架。使用Netty,开发者可以快速、高效地开发可扩展的网络服务器和客户端程序。本文将带您从Netty的背景、业务场景、功能点、解决问题的关键、底层原理实现,到编写一个详细的Java示例,全面了解Netty,帮助您从入门到精通。
24 0
|
11天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
18天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
23天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
23天前
|
Java
[Java]Socket套接字(网络编程入门)
本文介绍了基于Java Socket实现的一对一和多对多聊天模式。一对一模式通过Server和Client类实现简单的消息收发;多对多模式则通过Server类维护客户端集合,并使用多线程实现实时消息广播。文章旨在帮助读者理解Socket的基本原理和应用。
19 1
|
29天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
82 1
|
1月前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【10月更文挑战第10天】网络协议定义了机器间通信的标准格式,确保信息准确无损地传输。主要分为两种模型:OSI七层模型与TCP/IP模型。
|
1月前
|
存储 安全 自动驾驶
探索未来网络:量子互联网的原理与应用
【10月更文挑战第2天】 本文旨在探讨量子互联网的基本原理、技术实现及其在通讯领域的革命性应用前景。量子互联网利用量子力学原理,如量子叠加和量子纠缠,来传输信息,有望大幅提升通信的安全性和速度。通过详细阐述量子密钥分发(QKD)、量子纠缠交换和量子中继等关键技术,本文揭示了量子互联网对未来信息社会的潜在影响。

热门文章

最新文章