机器学习---贝叶斯网络与朴素贝叶斯

1. 贝叶斯法则

如何判定一个人是好人还是坏人?

当你无法准确的熟悉一个事物的本质时,你可以依靠与事物特定本质相关的事件出现的次数来判断

其本质属性的概率如果你看到一个人总是做一些好事,那这个人就越可能是一个好人。

数学语言表达就是:支持某项属性的事件发生得越多,则该属性成立的可能性就越大。

贝叶斯法则来源于英国数学家贝叶斯(Thomas Bayes)在1763年发表的著作论有关机遇问题

的求解

贝叶斯法则最初是一种用于概率论基础理论的归纳推理方法,但随后被一些统计学学者发展为一种

系统的统计推断方法,运用到统计决策、统计推断、统计估算等诸多领域。

贝叶斯公式:定义一:假定某个过程有若干可能的前提条件,则表示人们事先对

前提条件Xi出现的可能性大小的估计,即先验概率。

定义二:假定某个过程得到了结果A,则表示在出现结果A的前提下,对前提条件Xi出现

的可能性大小的估计,即后验概率。

2. 贝叶斯法则算例

        全垄断市场条件下,只有一家企业M提供产品和服务。企业K考虑是否进入该市场。同时,企

业M为阻止K进入该市场采取了相应的投资行为,而K能否进入该市场完全取决于M为阻止其进入所

花费的成本大小。假设K并不知道原垄断者M是属于高阻挠成本类型还是低阻挠成本类型,但能确

定,如果M属于高阻挠成本类型,K进入市场时M进行阻挠的概率是20%;如果M属于低阻挠成本

类型,K进入市场时M进行阻挠的概率是100%。现设K认为M属于高阻挠成本企业的概率为70%

而在K进入市场后,M确实进行了商业阻挠。试以企业K角度,判断企业M为高阻挠成本类型概率。

利用贝叶斯公式建模:

前提条件:设M是高阻挠成本类型为X1,低阻挠成本类型为X2

结果:MK进行阻挠为A;

所求概率即为在已知结果 A的情况下,推断条件为X1的后验概率

已知 为0.2,为1,P(X1)0.7P(X2)0.3

根据贝叶斯公式可计算:

即,根据实际市场的运作情况,企业K可判断企业M为高阻挠成本类型的概率为0.32,换句话说,

企业M更可能属于低阻挠成本类型。

3. 贝叶斯网络

贝叶斯网络又称为信度网络,是基于概率推理的图形化网络。它是贝叶斯法则的扩展,而贝叶斯公

式则是这个概率网络的基础。贝叶斯网络适用于表达和分析不确定性和概率性事件,应用于有条件

地依赖多种控制因素的决策过程,可以从不完全、不精确或不确定的知识或信息中做出推理。

贝叶斯网络由Judea Pearl1988年提出,最初主要用于处理人工智能中的不确定信息。

符号B(D,G)表示一个贝叶斯网络,包括两个部分:

一个有向无环图(Directed Acyclic Graph, DAG)。它由代表变量的节点及连接这些节点的有向

边构成。其中,节点代表随机变量,可以是任何问题的抽象,如:测试值、观测现象、意见征询

等;节点间的有向边代表了节点间的互相关系(由父节点指向其后代节点)。

一个节点与节点之间的条件概率表(Conditional Probability Table, CPT)。如果节点没有任何

父节点,则该节点概率为先验概率。否则,该节点概率为其在父节点条件下的后验概率。

数学定义:贝叶斯网络B(D,P),D表示一个有向无环图,

是条件概率分布的集合,其中是D中节点Xi的父节点集合。在一个贝叶斯网络中,节点集合

,则其联合概率分布P(X)是此贝叶斯网络中所有条件分布的乘积:

这是一个最简单的包含3个节点的贝叶斯网络。其中,是节点A的概率分布(先验概率)

为节点B,C的概率分布(后验概率)。

贝叶斯网络的特性:

贝叶斯网络本身是一种不定性因果关联模型,它将多元知识图解可视化,贴切的蕴含了网络节点变

量之间的因果关系及条件相关关系;

贝叶斯网络具有强大的不确定性问题的处理能力,它用条件概率表达各个信息要素之间的相关关

系,能在有限的、不完整的、不确定的信息条件下进行知识学习和推理;

贝叶斯网络能有效的进行多源信息表达与融合,可将故障诊断与维修决策相关的各种信息纳入到网

络结构中,并按节点的方式统一进行处理与信息融合。

贝叶斯网络的缺陷:

研究如何根据数据和专家知识高效、准确的建立贝叶斯网络,是十多年来研究的热点之一,也是贝

叶斯网络更加广泛、有效地用于实际问题领域的关键和焦点之一。

目前对于这一类学习问题,主要有基于打分搜索的学习方法和基于依赖分析的学习方法,但前者

存在搜索空间巨大,可能收敛于局部最优解等问题,后者则存在节点之间的独立性或条件独立性判

断困难,高阶条件独立性检验的结果不够可靠等问题。

贝叶斯网络与马尔科夫链:

马尔科夫链蒙特卡罗(Markov Chain Monte CarloMCMC)方法是源于统计物理学和生物学的一

类重要的随机抽样方法,该方法广泛应用于机器学习、统计和决策分析等领域的高维问题的推理和

求积运算。

MHSMetropolis-Hasting Sampler)抽样算法作为MCMC方法中常用的抽样方法之一,通过构建

一条马尔科夫链,模拟一个收敛于Boltzmann分布的系统。将MHS抽样算法引入贝叶斯网络,能够

较好的解决进化学习方法中由于个体趋同而产生的早熟问题,保证算法的学习精度。

此外,针对其计算精度低、收敛速度较慢的不足,随机拟MCMC方法也具有一定的优越性。

不过,该算法存在的收敛速度慢和收敛性判断困难等问题仍未能得到有效解决。因此,如何更有效

地将MCMC方法用于贝叶斯网络的结构学习与推理学习成为近年来重要的研究方向之一。

4. 朴素贝叶斯

贝叶斯分类器是用于分类的贝叶斯网络。该网络中通常包含类节点C,其取值来自类集合               

;还包含一组节点表示用于进行分类的特征属性。对于贝叶斯网络分类器,若某一待分类的样本D,其分类特征值为,则样本D属于类别Ci的概

率 , 应满足:

由贝叶斯公式可以得到:

其中,可由领域专家的经验获得,而的计算较为困难。

贝叶斯网络分类器进行分类的两个阶段:

阶段一:贝叶斯网络分类器的学习(结构学习和CPT学习)

阶段二:贝叶斯网络分类器的推理(计算类节点的条件概率,对数据进行分类)

两个阶段的时间复杂度均取决于特征值间的依赖程度。

5. 贝叶斯分类器

根据对特征值间不同关联程度的假设,可以得出各种贝叶斯分类器,其中较典型、研究较深入的贝

叶斯分类器主要有四种,分别是:

NB Naïve BayesTAN Tree Augmented Naïve-Bayes

BAN BN Augmented Naïve-BayesGBNGlobal Bayesian Networks

朴素贝叶斯(Naïve Bayes)算法是贝叶斯分类器中研究较多,使用较广的一种,在许多场合,朴

素贝叶斯的分类算法可以与决策树和神经网络分类算法相媲美朴素贝叶斯分类器的基础假设一

个指定类别中各个属性的取值是相互独立的,在给定目标值的情况下,观察到联合的

的概率正好是对每个单独属性的概率乘积。

贝叶斯分类器: 

朴素贝叶斯简化:

考虑到是一个取max的过程,则对于结果不产生影响,故可以看作系数

a。则,原公式可以简化。

朴素贝叶斯分类器由DudaHart1937年提出,它是一个简单有效而且在实际使用中比较成功的

分类器。现在,被广泛的运用在数据挖掘、模式识别、故障诊断等众多领域。

朴素贝叶斯算法有很多优点:

应用范围广泛;可以很好的扩展到超大规模问题,并且不需要通过搜索来寻找最大后验概率的朴素

贝叶斯假设;可以轻松地应付有噪声的训练数据,并在适当的时候给出概率预测。

朴素贝叶斯分类器假设一个指定类别中各属性的取值是相互独立的。这一假设可以帮助有效减少在

构造贝叶斯分类器时所需要进行的计算量。不过,实际的应用领域中,各个属性相互独立的假设很

难成立,这也从很大程度上影响了朴素贝叶斯分类器的分类能力。当前,半朴素贝叶斯分类器、相

关属性删除、概率值条件、贝叶斯树以及懒惰贝叶斯规则方法,都是对朴素贝叶斯算法的改进与推

广,并在不同的领域取得了显著的成果。

6. 系统控制的应用

在信息技术迅速发展及其在军事领域广泛应用的条件下,防空作战环境变得愈加复杂,也给现代防

空作战中的空情探测带来了严峻的挑战。由于受到自身性能、电子干扰等因素的影响,不同的空情

雷达对同一空中目标的探测的准确度不同,从而影响了防控侦察预警信息的准确性,应用贝叶斯网

络算法探讨计算不同雷达在探测同一目标的可信度,通过数据融合推断出空中目标的类型,是贝叶

斯网络算法在系统可靠性领域的重要应用之一。

例子:假设两个空情雷达探测同一目标,目标可能的类型:A.大型战机、B.小型机密集编队、C.

小型战机、D.巡航导弹。在时刻t,一号空情雷达报告的条件概率表如表所示。

根据战前分析,假定权威人员预测战场中在某个作战阶段各种空袭兵器运用的概率为: 

那么在一号空情雷达报告信息中,报告目标类型大型战机、小型机密集编队、小型战机、巡航导弹

的概率分别为:P(A)P(B)P(C)P(D)

根据贝叶斯公式,则一号空情雷达报告目标类型为A的条件下,实际目标类型为ABCD的条

件概率分别为: 

表示传感器报告目标为类型A的条件下,实际目标为A的概率;  表示实际目标类

型为A的条件下,传感器报告目标类型为A的概率;P(A)表示存在类型为A的目标的先验概率;

表示所有传感器报告目标类型为A的概率之和,即

同样可以计算出一号空情雷达报告类型分别为BCD的条件下,实际目标类型的条件概率,如下

表所示:

于是,一号空情雷达报告假设目标类型为A的可信度为: 

同理可以得到第一号传感器报告假设目标类型为BCD的可信度,即  

为了提高探测的准确性,一般要设置一个可信度阈值,将计算出的可信度值与可信度阈值 比

较,看目标识别的可信度是否达到要求。假设,则以上的可信度值没有一个达到要求,因

此需要重新进行识别,将以上计算的可信度值作为下一次计算的先验概率。 

现略去计算步骤,可得到基于两个传感器报告的目标类型为ABC、D的可信度为:

 。同样假设,则可以知道B的可信度大

于阈值,则可判定,空中目标类型为B

7. 信息检索中的应用

贝叶斯网络检索模型可以计算术语与术语,术语与文档之间的条件概率。下图给出了一种贝叶斯网

络检索模型,利用同义词对查询术语进行扩展,用于信息检索领域。

假设有文档集合d表示为;这些文档的索引术语集合r表示为。右图即为贝叶斯网络模型扩展的拓扑结构,其中Q被定义为查询术语节点,定义为文档节点,定义为索引术语节点,有一条指向被它索引的文档的弧。 

用两个术语层来挖掘文档索引术语之间的关系,完全复制初始术语节点层r,得到另一个属于节点

t。对于查询术语Q,在索引术语层t查找他的同义词,则从Q 到有一条弧;从指向  

的弧,就是从指向 ,其中总有从指向的弧,是在一定衡量方法

下与最相关的术语集合。

在确定了贝叶斯网络模型之后,通过计算索引术语与术语之间、索引术语与文档之间的条件概率与

文档节点的后验概率,就能够获得全部文档节点的概率,并根据概率大小排序获得与查询节点最匹

配的检索结果。

考虑一种更简单的情况,即在查询节点和文档节点以外,只有一层术语节点的简单贝叶斯网络检索

模型,如下图所示。

假设查询节点为Q,术语节点集合为,文档节点集合为。根据图中

弧线所对应的关系,计算查询节点Q更接近于文档节点集合中的哪一个?

要求查询节点更接近哪一个文档节点,即分别求,选择其中概率值最大文档节点为所求。

根据朴素贝叶斯算法的原则,所有术语节点相互独立。且由图可知,除去查询节点层,所有术语节

点均为根节点。所以定义每一个术语相关的先验概率,则不相关的概率

其中M为集合中术语的数目(本例中M=6)。一般情况下,任意根术语节点相关的先验概率很小,

且与索引术语节点集合的规模成反比。

对于文档节点可知,任意文档节点的父节点集合由该文档的所有索引术语节点组成,即

。令中每个术语变量取值(相关或不相关)后的一个

组合,利用一般正则模型概率函数,定义文档相关的条件概率为

其中,为文档的索引术语的权重,,且。这意味

中相关术语越多, 的相关概率值就越大。关于权重的计算,给出相应数值如

下表:

T1

T2

T3

T4

T5

T6

D1

0.2

0.15

0.05

0.1

0.35

0.15

D2

0.3

0.05

0.15

0.2

0.15

0.15

D3

0.05

0.35

0.2

0.05

0.15

0.2

所以根据贝叶斯公式,可以得到下式:

 由于术语节点相互独立,根据条件独立性得:如果,则。否则,

。那么,上式可化简为:

则,代入数值得: 

同理: 

可见:即查询节点Q更接近文档节点 D3

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

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

相关文章

float和double(浮点型数据)在内存中的储存方法

作者:元清加油 主页:主页 编译环境:visual studio 2022 (x86) 相信大家都知道数据在内存中是以二进制储存的 整数的储存方法是首位是符号位,后面便是数值位 那么浮点数在内存中是怎么储存的呢?我们先来看一个例子&am…

Android WiFi的断开分析

1.wifi断开大体流程: 1.wifi断开 wlan-driver最先知道。 2.wlan-driver在与路由器连接的时候(未断开时), 会有周期性的beacon帧来维持连接,AP端一旦遇到突发事情,会立刻通过802.11协议的 deauth 帧/ reject 帧等 通知到 driver。 3. wlan-…

【Java程序员面试专栏 专业技能篇 】Java SE核心面试指引(四):Java新特性

关于Java SE部分的核心知识进行一网打尽,包括四部分:基础知识考察、面向对象思想、核心机制策略、Java新特性,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 本篇Blog为第四部分:Java新特性,子节点表示追问或同级提问 Java8新特性…

【部署运维】docker:入门到进阶

0 前言 部署运维博客系列一共有三篇: 拥抱开源,将工作中的经验分享出来,尽量避免新手踩坑。 【部署运维】docker:入门到进阶 【部署运维】kubernetes:容器集群管理掌握这些就够了 【部署运维】pythonredisceleryd…

快速、精确仿真高频电磁场的工具CST Studio Suite 2024版本下载与安装配置

目录 前言一、CST 2024 安装二、使用配置总结 前言 CST Studio Suite是一个集成的仿真工具套件,用于模拟和优化电子系统的性能。它包括多个工具和模块,如电磁仿真、结构仿真、热仿真、电路分析等,以支持从概念设计到生产部署的整个开发周期。…

Vue19 列表过滤

直接上代码 以下代码使用了两种实现方式&#xff0c;监视属性和计算属性 当能用计算属性实现时&#xff0c;推荐使用计算属性 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>列表过滤</title><script type&q…

阿里元境亮相第八届世界物联网大会,分享元计算对数字文旅的创新赋能

2023&#xff08;第八届&#xff09;世界物联网大会于11月20日在中国北京隆重开幕。联合国秘书长安东尼奥古特雷斯在开幕式发表书面致辞时特别提到&#xff1a;“在一个相互连接的世界&#xff0c;你们的主题‘新物联、新经济、新时代’是数字技术影响力的见证”。 11月21日上午…

Linux系统常用指令大全(图文详解)

目录 前言 一、UNIX的登录与退出 1、登录 &#xff08;1&#xff09;执行格式&#xff1a; &#xff08;2&#xff09;步骤 2、退出 二、UNIX命令格式 三、常用命令 1、目录操作 &#xff08;1&#xff09;显示目录文件 ls &#xff08;2&#xff09;建新目录 …

Android仿 美团 / 饿了么,店铺详情页功能

前言 UI有所不同&#xff0c;但功能差不多&#xff0c;商品添加购物车功能 正在写&#xff0c;写完会提交仓库。 页面主要由&#xff1a;MagicIndicator ViewPager2 Fragment CoordinatorLayout NestedScrollView RecyclerView实现。 效果图一&#xff1a;左右RecyclerV…

微机课设--汇编语言在51单片机上写一个四位十进制加法器

代码如下 KEYVAL EQU 30HKEYTM EQU 31HKEYSCAN EQU 32HDAT EQU 33HSCANLED EQU 37HS_DAT EQU 38HD_DAT EQU 39HR_DATL EQU 3AHR_DATH EQU 3BH CALFLAG EQU 3CHFLAG BIT 00HORG 0000HLJMP MAINORG 000BHLJMP T0ISRORG 0030HMAIN:MOV SP,#5FHMOV TMOD,#01HMOV TH0,#0D8HMOV TL0,…

java中BigDecimal的介绍及使用(二)

系列文章目录 java中BigDecimal的介绍及使用&#xff0c;BigDecimal格式化&#xff0c;BigDecimal常见问题java中BigDecimal的介绍及使用(二) 文章目录 系列文章目录一、前言二、BigDecimal提供的方法2.1、stripTrailingZeros() 去除小数尾部所有的02.2、int signum()2.3、int…

Linux网络——网络层

目录 一.IP协议&#xff08;IPv4&#xff09; 二.子网划分 三.特殊的IP地址 四.IP地址的数量限制 五.私有IP地址和公网IP地址 六.路由 七.分片 一.IP协议&#xff08;IPv4&#xff09; IP协议&#xff1a;提供一种能力使得数据从一个主机发送到另一个主机的能力。 TCP协…

深度学习第1天:深度学习入门-Keras与典型神经网络结构

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 文章目录 神经网络 介绍 结构 基本要素 Keras 介绍 导入 定义网络 模型训练 前馈神经网络 特点 常见类型 代码示例 反馈神经网络 特点 …

JDK、JRE、JVM的特点和关联

Java 的三个重要的概念是 JDK&#xff08;Java Development Kit&#xff09;、JRE&#xff08;Java Runtime Environment&#xff09;和 JVM&#xff08;Java Virtual Machine&#xff09;。它们之间有着密切的关联&#xff0c;同时又有不同的职责和特点。 JDK&#xff08;Java…

laravel实现发送邮件功能

Laravel提供了简单易用的邮件发送功能&#xff0c;使用SMTP、Mailgun、Sendmail等多种驱动程序&#xff0c;以及模板引擎将邮件内容进行渲染。 1.在项目目录.env配置email信息 MAIL_MAILERsmtp MAIL_HOSTsmtp.qq.com MAIL_PORT465 MAIL_FROM_ADDRESSuserqq.com MAIL_USERNAME…

【代码】基于量子粒子群算法(QPSO)优化LSTM的风电、负荷等时间序列预测算法matlab

程序名称&#xff1a;基于量子粒子群算法&#xff08;QPSO&#xff09;优化LSTM的风电、负荷等时间序列预测算法 实现平台&#xff1a;matlab 代码简介&#xff1a;代码是基于QPSO-LSTM的负荷、光伏、风电等时间序列预测&#xff0c;MATLAB编写。包含LSTM&#xff08;长短时记…

2、用命令行编译Qt程序生成可执行文件exe

一、创建源文件 1、新建一个文件夹&#xff0c;并创建一个txt文件 2、重命名为main.cpp 3、在main.cpp中添加如下代码 #include <QApplication> #include <QDialog> #include <QLabel> int main(int argc, char *argv[]) { QApplication a(argc, argv); QDi…

(附源码)SSM环卫人员管理平台 计算机毕设36412

目 录 摘要 1 绪论 1.1背景及意义 1.2国内外研究概况 1.3研究内容 1.4 ssm框架介绍 1.5论文结构与章节安排 2 环卫人员管理平台系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1 功能性…

C++二分查找:统计点对的数目

本题其它解法 C双指针算法&#xff1a;统计点对的数目 本周推荐阅读 C二分算法&#xff1a;得到子序列的最少操作次数 本文涉及的基础知识点 二分查找算法合集 题目 给你一个无向图&#xff0c;无向图由整数 n &#xff0c;表示图中节点的数目&#xff0c;和 edges 组成…

Proteus仿真--基于PG12864LCD设计的指针式电子钟

本文介绍基于PG12864LCD设计的指针式电子钟&#xff08;完整仿真源文件及代码见文末链接&#xff09; 仿真图如下 本设计中时间芯片选用DS1302芯片&#xff0c;液晶选用PG12864LCD模块&#xff0c;按键K1-K3&#xff0c;K1用于时分选择&#xff0c;K2用于调整功能&#xff0c…