机器学习_15_贝叶斯算法

文章目录

  • 1 贝叶斯定理相关公式
  • 2 朴素贝叶斯算法
    • 2.1 朴素贝叶斯算法推导
    • 2.2 朴素贝叶斯算法流程
  • 3 高斯朴素贝叶斯
  • 4 伯努利朴素贝叶斯
  • 5 多项式朴素贝叶斯
  • 6 贝叶斯网络
    • 6.1 最简单的一个贝叶斯网络
    • 6.2 全连接贝叶斯网络
    • 6.3 “正常”贝叶斯网络
    • 6.4 实际贝叶斯网络:判断是否下雨
    • 6.5 贝叶斯网络判定条件独立-01
    • 6.6 贝叶斯网络判定条件独立-02
    • 6.7 贝叶斯网络判定条件独立-03

1 贝叶斯定理相关公式

  • **先验概率P(A):**在不考虑任何情况下,A事件发生的概率。

  • **条件概率P(B|A):**A事件发生的情况下,B事件发生的概率。

在这里插入图片描述

  • **后验概率P(A|B):**在B事件发生之后,对A事件发生的概率的重新评估。

  • **全概率:**如果A和A’构成样本空间的一个划分,那么事件B的概率为:A和A’的概率分别乘以B对这两个事件的概率之和。
    在这里插入图片描述

  • 基于条件概率的贝叶斯定律数学公式

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

2 朴素贝叶斯算法

  • 朴素贝叶斯(Naive Bayes, NB)是基于“特征之间是独立的”这一朴素假设,应用贝叶斯定理的监督学习算法
  • 对应给定的 样本X 的特征向量x1 ,x2 ,…,xm;该 样本X 的 类别y 的概率可以由贝叶斯公式得到:

在这里插入图片描述

2.1 朴素贝叶斯算法推导

在这里插入图片描述

2.2 朴素贝叶斯算法流程

朴素贝叶斯算法流程/定义如下:

  • 设x={x1 ,x2 ,…,xm}为待分类项,其中xi为x的一个特征属性。
  • 类别集合为C={y1 ,y2 ,…,yn }。
  • 分别计算P(y1 |x),P(y2 |x),…,P(yn |x)的值(贝叶斯公式)。
  • 如果P(yk |x)=max{P(y1 |x),P(y2 |x),…,P(yn |x)},那么认为x为yk类型。

在这里插入图片描述

3 高斯朴素贝叶斯

  • Gaussian Naive Bayes是指当特征属性为连续值时,而且分布服从高斯分布,那么在计算P(x|y)的时候可以直接使用高斯分布的概率公式:

在这里插入图片描述

  • 因此只需要计算出各个类别中此特征项划分的各个均值和标准差

4 伯努利朴素贝叶斯

  • Bernoulli Naive Bayes是指当特征属性为连续值时,而且分布服从伯努利分布,那么在计算P(x|y)的时候可以直接使用伯努利分布的概率公式:
    在这里插入图片描述

伯努利分布是一种离散分布,只有两种可能的结果。1表示成功,出现的概率为p; 0表示失败,出现的概率为q=1-p;其中均值为E(x)=p,方差为Var(X)=p(1-p)。

在这里插入图片描述

5 多项式朴素贝叶斯

  • Multinomial Naive Bayes是指当特征属性服从多项分布(特征是离散的形式的时候),从而,对于每个类别y,参数为θy=(θy1y2,…,θyn),其中n为特征属性数目,那么P(xi|y)的概率为θyi

在这里插入图片描述

Ny是总样本个数,n是总的类别个数,Nyi是类别为θyi的样本个数,α为平滑值。

当α=1时,称为Laplace平滑,当0<α<1时,称为Lidstone平滑,α=0时不做平滑;平滑的主要作用是可以克服条件概率为0的问题。

6 贝叶斯网络

  • 把某个研究系统中涉及到的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。
  • 贝叶斯网络(Bayesian Network),又称有向无环图模型(directed acyclic graphical model, DAG),是一种概率图模型,根据概率图的拓扑结构,考察一组随机变量{X1 ,X2 ,…,Xn}及其N组条件概率分布(Conditional Probabililty Distributions, CPD)的性质。
  • 当多个特征属性之间存在着某种相关关系的时候,使用朴素贝叶斯算法就没法解决这类问题,那么贝叶斯网络就是解决这类应用场景的一个非常好的算法。
  • 一般而言,贝叶斯网络的有向无环图中的节点表示随机变量,可以是可观察到的变量,或隐变量,未知参数等等。连接两个节点之间的箭头代表两个随机变量之间的因果关系(也就是这两个随机变量之间非条件独立),如果两个节点间以一个单箭头连接在一起,表示其中一个节点是“因” ,另外一个是“果” ,从而两节点之间就会产生一个条件概率值。
  • 注意:每个节点在给定其直接前驱的时候,条件独立于其后继
  • 贝叶斯网络的关键方法是图模型,构建一个图模型我们需要把具有因果联系的各 个变量用箭头连在一起。贝叶斯网络的有向无环图中的节点表示随机变量。连接 两个节点的箭头代表此两个随机变量是具有因果关系的。
  • 贝叶斯网络是模拟人的认知思维推理模式的,用一组条件概率以及有向无环图对 不确定性因果推理关系建模。

6.1 最简单的一个贝叶斯网络

在这里插入图片描述

6.2 全连接贝叶斯网络

每一对节点之间都有边连接:

在这里插入图片描述

6.3 “正常”贝叶斯网络

在这里插入图片描述

6.4 实际贝叶斯网络:判断是否下雨

有一天早晨,Bruce离开他的房子的时候发现他家花园中的草地是湿的,有两种可能,第一:昨天晚上下雨了,第二:他昨天晚上忘记关掉花园中的喷水器,接下来,他观察他的邻居Joe,发现他家花园中的草地也是湿的,因此,他推断,他家的草地湿了是因为昨天晚上下雨的缘故。

在这里插入图片描述

6.5 贝叶斯网络判定条件独立-01

在这里插入图片描述

6.6 贝叶斯网络判定条件独立-02

在这里插入图片描述

6.7 贝叶斯网络判定条件独立-03

在这里插入图片描述

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

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

相关文章

算法学习——华为机考题库5(HJ31 - HJ35)

算法学习——华为机考题库5&#xff08;HJ31 - HJ35&#xff09; HJ31 单词倒排 描述 对字符串中的所有单词进行倒排。 说明&#xff1a; 1、构成单词的字符只有26个大写或小写英文字母&#xff1b; 2、非构成单词的字符均视为单词间隔符&#xff1b; 3、要求倒排后的单…

LeAPI 后端接口开发 - 发布、下线接口

一、上线接口&#xff08;仅管理员&#xff09; 1. 校验请求参数 2. 判断&#xff08;测试&#xff09;接口是否可以调用 引入调用接口的客户端&#xff08;自己写的 SDK&#xff09;注入客户端实例调用接口 3. 修改数据库中接口的状态 /*** 上线&#xff08;发布&#xff…

爬虫(二)

1.同步获取短视频 1.只要播放地址对Json数据解析&#xff0c;先把列表找出&#xff1a; 2.只想要所有的播放地址&#xff0c;通过列表表达式循环遍历这个列表拿到每个对象&#xff0c;再从一个个对象里面找到Video,再从Video里面找到播放地址(play_addr),再从播放地址找到播放…

动态内存管理 智能指针 shared_ptr、unique_ptr、weak_ptr + 定制删除器

动态内存管理常出现的两种问题&#xff1a; 1.忘记释放内存,造成内存泄漏 2.这块内存还有其他指针指向的情况下&#xff0c;就释放了它&#xff0c;会产生引用非法内存的指针&#xff0c;例如 如果类中有属性指向堆区&#xff0c;做赋值操作时会出现浅拷贝的问题 内存泄漏分…

在jetbrains IDEA/Pycharm/Android Studio中安装官方rust插件,开始rust编程

在idea插件市场搜索rust&#xff1a;JetBrains Marketplace &#xff0c;就可以找到rust插件&#xff1a; jetbrains官方rust插件地址&#xff1a;[Deprecated] Rust - IntelliJ IDEs Plugin | Marketplace 直接在idea中搜索rust好像是搜不到的&#xff1a; 需要在这个插件市场…

【数据结构】二叉树链式结构的实现

简单不先于复杂&#xff0c;而是在复杂之后。 文章目录 1. 二叉树链式结构的实现1.1 前置说明1.2 二叉树的遍历1.2.1 前序、中序以及后序遍历1.2.2 层序遍历 1.3 节点个数以及高度等1.4 二叉树基础oj练习1.5 二叉树的创建和销毁 1. 二叉树链式结构的实现 1.1 前置说明 在学习二…

Cambalache in Ubuntu

文章目录 前言apt install flatpak这很ok后记 前言 gtkmm4相比gtkmm3有很多改革, 代码也干净了许多, 但在windows上开发 有ui设计器那自然方便很多, 但glade又不支持gtkmm4, windows上装Cambalache很是困难. 各种问题都找不到答案.于是 我用VMware虚拟机Ubuntu20.xx安装Cambal…

macOS虚拟机安装全过程的详细教程

macOS虚拟机安装全过程的详细教程 一、安装虚拟机软件 选择软件&#xff1a;首先&#xff0c;你需要选择一个适合macOS的虚拟机软件。在本教程中&#xff0c;我们以VirtualBox为例。下载与安装&#xff1a;访问VirtualBox的官网&#xff0c;下载适用于macOS的安装包。运行安装…

高校建设AI算力平台方案探索

近年来&#xff0c;人工智能行业发展迅速&#xff0c;在自动驾驶、金融、医疗、教育等行业广泛应用。尤其是ChatGPT发布以后更是掀起了生成式AI的热潮&#xff0c;国内各大互联网厂商也相继发布自己的AI大模型。这也造成了大量的AI人才缺口&#xff0c;同时促进了高校的AI专业建…

CSP-202305-2-矩阵运算

CSP-202305-2-矩阵运算&#xff1a;题目链接 知识点一&#xff1a;申请矩阵 1.动态分配 // 申请 int** dynamicArray new int*[rows]; for (int i 0; i < rows; i) {dynamicArray[i] new int[cols]; }// 释放 for (int i 0; i < rows; i) {delete[] dynamicArray[…

解决浏览器端 globalThis is not defined 报错

解决浏览器端 globalThis is not defined 报错 前言解决办法&#xff1a; 前言 在使用低版本火狐浏览器出现报错globalThis is not defined 解决办法&#xff1a; 在vue的index.html 中添加 this.globalThis || (this.globalThis this) <head><script>this.g…

Lambda表达式(匿名函数)

C11中引入了lambda表达式&#xff0c;定义匿名的内联函数。 我们可以直接原地定义函数而不用再跑到外面去定义函数跳来跳去。 同时在stl的排序上也有作用。 [capture] (parameters) mutable ->return-type {statement}下面逐一介绍各个参数的含义. [capture] : 捕获&#…

Java语法学习线程基础

Java语法学习线程基础 大纲 概念创建线程线程终止常用方法用户线程和守护线程线程的七大状态线程的同步互斥锁线程死锁释放锁 具体案例 1.概念 2. 创建线程 第一种&#xff1a; class Cat extends Thread {int time 0;Overridepublic void run() {while (true) {System.o…

重写Sylar基于协程的服务器(5、IO协程调度模块的设计)

重写Sylar基于协程的服务器&#xff08;5、IO协程调度模块的设计&#xff09; 重写Sylar基于协程的服务器系列&#xff1a; 重写Sylar基于协程的服务器&#xff08;0、搭建开发环境以及项目框架 || 下载编译简化版Sylar&#xff09; 重写Sylar基于协程的服务器&#xff08;1、…

红日靶场1搭建渗透

环境搭建 下载好镜像文件并解压&#xff0c;启动vmware 这里我用自己的win7 sp1虚拟机作为攻击机&#xff0c;设置为双网卡NAT&#xff0c;vm2 其中用ipconfig查看攻击机ip地址 设置win7 x64为双网卡&#xff0c;vm1&#xff0c;vm2 设置win08单网卡vm1&#xff0c;win2k3为单…

jupyter notebook更改工作目录的2个细节

详细步骤参考知乎原文&#xff1a; 如何更改Jupyter Notebook的默认工作路径&#xff1f; - 知乎 (zhihu.com​​​​​​) 步骤4中需要删除 #符号和后面的空格&#xff01;一定要删除空格&#xff0c;否则会出现语法错误的报错 步骤5中&#xff0c;经过评论区提醒后&#xf…

蓝桥杯备战——12.PCF8591芯片的使用

目录 1.芯片简介2.读写时序3.控制字4.代码封装库5.原理图分析6.使用示例 1.芯片简介 截取自NXP的PCF8591芯片数据手册&#xff0c;我把重点关注部分划出来了&#xff0c;请务必自行阅读一遍数据手册&#xff01; 2.读写时序 ①器件地址&#xff1a; Bit0决定是读还是写操作&…

Python 数据分析(PYDA)第三版(七)

原文&#xff1a;wesmckinney.com/book/ 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 附录 附录 A&#xff1a;高级 NumPy 原文&#xff1a;wesmckinney.com/book/advanced-numpy 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 此开放访问网络版本的《Pyt…

ctfshow web-77

开启环境: 先直接用伪协议获取 flag 位置。 c?><?php $anew DirectoryIterator("glob:///*"); foreach($a as $f) {echo($f->__toString(). );} exit(0); ?> 发现 flag36x.txt 文件。同时根目录下还有 readflag&#xff0c;估计需要调用 readflag 获…

魔改冰蝎 —— 绕过检测,自动生成免杀后门

为什么要魔改工具&#xff1f; 生成的代码很容易被监测 生成的后门很容易被杀软杀掉 了解冰蝎流量特征 开启http代理&#xff0c;数据经过BP抓包进行分析数据 冰蝎数据包分析&#xff1a; 1、三个请求头固定 AcceptAccept-LanguageUser-Agent&#xff08;内部有十个&a…