贝叶斯分类器详解

news2025/1/20 3:51:28

 1 概率论知识

1.1 先验概率

先验概率是基于背景常识或者历史数据的统计得出的预判概率,一般只包含一个变量,例如P(A),P(B)。

1.2 联合概率

联合概率指的是事件同时发生的概率,例如现在A,B两个事件同时发生的概率,记为P(A,B)、P(A∩B)、P(AB)。

若事件A和事件B相互独立,则有:

P(A,B)=P(A)P(B)

例子:假设事件A为明天上班,事件B为明天中彩票,其中P(A)=0.5,P(B)=0.5,则明天既上班又中彩票的概率为P(A)P(B)=0.25

1.3 条件概率

其中一般条件概率中的A事件表示结果,B事件表示原因,即由因求果

其中,P (AB) 就是联合概率。在A与B相互独立的情况下,易得:

即B事件对A事件没有影响

1.4 后验概率

后验概率和条件概率的区别是:后验概率是由果求因:,例如,事件A是由事件B引起的,则P(A|B)是条件概率,P(B|A)是后验概率

举个通俗易懂的例子:

  • 条件概率:新闻说今天路上出现了交通事故,若想推算一下因此而堵车的概率,也就是 P(堵车|交通事故),这是由因推果。
  • 后验概率:出门后路上遇到了堵车,若想推算一下这次堵车是由发生了交通事故而引起的概率,也就是后验概率 P(交通事故|堵车),这是由果求因。

1.5 全概率公式

(1)样本空间

(2)全概率公式

1.6 贝叶斯公式

设样本空间为Ω,B为Ω中的事件,A_{1},A_{2},\cdots ,A_{n}为Ω的一个划分,且P(B) > 0, P(A_{i})>0,i = 1,2,\cdots,n,则有:

P(A_{i}|B)=\frac{P(B|A_{i})P(A_{i})}{\sum_{j=1}^{n} P(B|A_{j})P(A_{j})}, i=1,2,\cdots,n

称上式为贝叶斯公式,也称为逆概率公式

2 贝叶斯分类器理论知识

2.1 朴素贝叶斯发的学习与分类

2.1.1 基本方法

  • 输入空间:\chi \subseteq \mathbb{R}^{n}为n维集合的向量
  • 输出空间:类标记集合\Upsilon = \begin{Bmatrix} c_{1},c_{2},\cdots,c_{k} \end{Bmatrix}
  • 输入为特征向量:x \in \chi
  • 输出为类标记(class label):y \in \Upsilon

X是定义在输入空间\chi上的随机向量,Y是定义在输出空间\Upsilon上的随机变量。P(X,Y)是X和Y的联合概率分布。训练数据集

 T=\begin{Bmatrix} \begin{pmatrix} x_{1},y_{1} \end{pmatrix}, \begin{pmatrix} x_{2},y_{2} \end{pmatrix},\cdots,\begin{pmatrix} x_{N},y_{N} \end{pmatrix} \end{Bmatrix}

P(X,Y)独立同分布产生

朴素贝叶斯法通过训练数据集学习联合概率分布P(X,Y),学习过程如下:

(1)学习先验概率分布及条件概率分布

  • 先验概率分布:P(Y=c_{k}),k=1,2,\cdots,K
  • 条件概率分布:\mbox{$P(X=x|Y=c_{k})=P(X^{(1)}=x^{(1)},\cdots,X^{(n)}=x^{(n)}|Y=c_{k}), k=1,2,\cdots,K$}

假设x^{(j)}可取值有S_{j}个,j=1,2,\cdots,n,Y的可能取值有K个,那么参数的个数有K\prod_{j=1}^{n}S_{j},因此条件概率分布P(X=x|Y=c_{k})有指数级别数量的参数,其估计实际是不可行的

朴素贝叶斯法对条件概率分布作了条件独立性的假设。由于这是一个较强的假设,朴素贝叶斯法也由此得名。朴素贝叶斯法的条件独立性假设为

\mbox{$P(X=x|Y=c_{k})=P(X^{(1)}=x^{(1)},\cdots,X^{(n)}=x^{(n)}|Y=c_{k})=\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_{k}) ~~~(1)$}

朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。条件独立假设等于是说用于分类的特征在类确定的条件下都是条件独立的。这一假设使朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。

朴素贝叶斯分类时,对给定的输入x,通过学习到的模型计算后验概率分布P(X=x|Y=c_{k}),将后验概率最大的类作为x的类输出,后验概率计算根据贝叶斯定理进行:

\mbox{$P(Y=c_{k}|X=x) = \frac{P(X=x|Y=c_{k})P(Y=c_{k})}{\sum_{k}P(X=x|Y=c_{k})P(Y=c_{k})}~~~(2)$}

将公式(1)代入到公式(2)可得:

\mbox{$P(Y=c_{k}|X=x) = \frac{P(Y=c_{k})\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_{k})}{\sum_{k}P(Y=c_{k})\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_{k})}~k=1,2,\cdots,K~~~(3)$}

于是, 朴素贝叶斯分类器可表示为:

\mbox{$y=f(x)=argmax_{c_{k}}P(Y=c_{k}|X=x) = \frac{P(Y=c_{k})\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_{k})}{\sum_{k}P(Y=c_{k})\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_{k})}~~~(4)$}

由于分母是一样的,所以可以简化为:

\mbox{$y=f(x)=argmax_{c_{k}}P(Y=c_{k})\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_{k})~~~(5)$}

2.1.2 后验概率最大化含义

朴素贝叶斯会将实例分到后验概率最大的类中,即等价于期望风险最小化,假设选择0-1损失函数:

L(Y,f(X))=\left\{\begin{matrix} 1,Y \neq f(X)& \\ 0,Y=f(X)& \end{matrix}\right.

其中f(X)是分类决策函数。这时,期望风险函数为

R_{exp}(f)=E[L(Y,f(X))]

期望是对联合分布P(X,Y)取的。所以取条件期望

R_{exp}(f)=E_{X}\sum_{k=1}^{K}[L(c_{k},f(X))]P(c_{k}|X)

为了使期望风险最小化,只需对X=x逐个最小化,因此有

最终可知后验概率最大的类=期望风险最小的类,即朴素贝叶斯采用的原理:

f(x)=argmax_{c_{k}}P(c_{k}|X=x)

2.2 朴素贝叶斯法的参数估计

2.2.1 极大似然估计

2.2.2 学习与分类算法

1 算法流程

2 例子

2.2.3 贝叶斯估计

1 理论

2 例子

取λ=1,之后如下所示:

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

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

相关文章

next水和错误

产生原因 应该是和预渲染有关,官方也有谈到 水和错误主要原因 这个主要事服务器端渲染和客户端渲染结果不一致,客户端再渲染导致的错误,主要结果就是耗费性能,当然也可以关闭提示错误 具体解决措施可以看看官方文档参考 相关的…

Vagrant + docker搭建Jenkins 部署环境

有人问,为什么要用Jenkins?我说下我以前开发的痛点,在一些中小型企业,每次开发一个项目完成后,需要打包部署,可能没有专门的运维人员,只能开发人员去把项目打成一个war包,可能这个项…

2024年5月10日有感复盘

2024年5月10日有感复盘 时间 今天是一个很美好的一天,原因是很平凡,读书很平凡,玩游戏很平凡,然后生活很平凡,未来可期,听歌很舒服,很喜欢一个人呆在图书馆的感觉,很喜欢发呆&…

VLM与基础分割模型的联合使用

最近做的项目里有涉及大模型,里面有一部分的功能是: 将图片输入VLM(视觉语言模型,我使用的是llava),询问图中最显著的物体,将其给出的答案作为基础分割模型(我使用的是Grounded-SAM)的text prom…

SEMI启动SiC专有技术项目

公司郑重声明,其正致力于筛选那些能够稳定输出、且可重复使用的关键参数性能。SEMI,这家SiC领域的佼佼者,已经启动了一项独具匠心的专有技术(KGD)筛选程序。该程序旨在为客户提供高品质的、经过严格电气分类与光学检验…

重写muduo之Buffer

1、 Buffer.h Buffer封装 是一个缓冲区 prependable bytesreadable byteswritable bytes8字节长度(解决粘包问题)读数据写数据 根据下标进行读或者写 3个成员变量:数组,数据可读的下标,数据可写的下标 #pragma once#…

打印图案(金字塔)头歌作业

题目: 任务描述 本关任务:编写一个程序,输出堆叠式的金字塔图案。 输入n个字符,按以下原则输出:【参考样例】 1)第1个字符为一层金字塔图案,第2个字符为两层金字塔图案,第3个字符为三层金字塔图案&#x…

C语言——文件缓冲区

一、用户缓冲区和系统缓冲区 缓冲区的概念确实可以分为多个层次,其中最常见的两个层次是用户缓冲区和系统缓冲区。 这里的用户缓冲区和系统缓冲区都包括输入输出缓冲区。 1、用户缓冲区(User-space Buffer) 用户缓冲区是指由用户程序&…

使用 Spring Boot 配合策略模式增强系统接口扩展能力

使用 Spring Boot 配合策略模式增强系统接口扩展能力 在软件开发中,系统的可扩展性是一个至关重要的方面。而策略模式是一种常见的设计模式,它可以帮助我们实现灵活的算法选择和系统功能扩展。结合 Spring Boot 框架,我们可以更加方便地利用策…

AVL 树的理解和简单实现

目录 1. AVL 树 1.1. AVL 树的概念 1.2. AVL 树的性质 2. AVL 树的框架如下 2. AVL树的 插入 2.1. 平衡因子的更新 2.2.1. 平衡因子更新的第一种情况 2.2.2. 平衡因子更新的第二种情况 2.2.3. 平衡因子更新的第三种情况 2.2.4. 平衡因子更新的代码框架如下 2.2. AV…

十一、Redis持久化-RDB、AOF

Redis提供了两种持久化数据的方式。一种是RDB快照,另一种是AOF日志。RDB快照是一次全量备份,AOF日志是连续的增量备份。RDB快照是以二进制的方式存放Redis中的数据,在存储上比较紧凑;AOF日志记录的是对内存数据修改的指令文本记录…

Run ‘conda init‘ before ‘conda activate‘

使用conda activate 虚拟环境名称的时候提示:Run conda init before conda activate 解决办法: 首先需要确保是管理员身份运行这个cmd窗口。 然后,现在执行一下:conda init 命令,最后再执行:conda activate…

React 第二十七章 Hook useCallback

useCallback 是 React 提供的一个 Hook 函数,用于优化性能。它的作用是返回一个记忆化的函数,当依赖发生变化时,才会重新创建并返回新的函数。 在 React 中,当一个组件重新渲染时,所有的函数都会被重新创建。这可能会…

Qt---事件

一、Qt中的事件 鼠标事件 鼠标进入事件enterEvent 鼠标离开事件leaveEvent 鼠标按下mousePressEvent ( QMouseEvent ev) 鼠标释放mouseReleaseEvent 鼠标移动mouseMoveEvent ev->x():坐标 ev->y():y坐标 ev->bu…

day11-IO流

IO流 1 IO流的概述和分类 1.1学习IO流的目的? 1,将数据写到文件中,实现数据永久化存储 2,读取文件中已经存在的数据 1.2 IO流概述 其中:I表示intput,是数据从硬盘进内存的过程,称之为读。…

远程调用feign的使用

在orderservice子工程中 <!--feign的远程--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>启动类加上这个注解 EnableFeignClients //自动装配…

Python+PySpark数据计算

1、map算子 对RDD内的元素进行逐个处理&#xff0c;并返回一个新的RDD&#xff0c;可以使用lambda以及链式编程&#xff0c;简化代码。 注意&#xff1a;再python中的lambda只能有行&#xff0c;如果有多行&#xff0c;要写成外部函数&#xff1b;&#xff08;T&#xff09;-&…

考研操作系统-1.计算机系统概述

王道考研操作系统-1.计算机系统概述 操作系统 是指控制和管理整个计算机系统的硬件和软件资源&#xff0c;合理地组织调度计算机的工作和资源的分配&#xff1b;提供给用户和软件方便的接口和环境&#xff1b;是计算机系统中最基本的系统软件。 应包括&#xff1a; 1&#xf…

阿里云 物联网平台 MQTT连接、数据传输

阿里云 物联网平台 MQTT连接、数据传输 1、设备连接阿里云 2、多设备之前的通信、数据流转 3、设备数据来源的读取。 基于C# winform 开发上位机&#xff0c;读取设备、仪器、MES或者电子元器件的数据&#xff0c;MQTT传输至阿里云平台&#xff0c;可视化界面构建界面&#…