贝叶斯分类器详解

 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,之后如下所示:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hotcoin Research | 市场洞察:2024年5月6日-5月12日

加密货幣市场表现 加密货幣总市值为1.24万亿,BTC占比53.35%。 本周行情呈现先涨后跌的一种態势,5月6日-9日大盘持续下跌,周末为震荡行情。本周的比特幣现货ETF凈流入:1.1262亿美元,其中:美国ETF流入&…

Google与哈佛大学的科学家团队共同创造了一张人脑中一个极小部分的精细地图

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Linux重定向及缓冲区理解

重定向: 在上一期虚拟文件系统中讲到了每个进程在打开后,都会默认打开3个文件,如下: stdin 标准输入(键盘) 文件描述符:0 stdout 标准输出(显示器)文件描述符&a…

C++组合类

类的数据成员不但可以是基本类型,也可以是其它类的对象。 组合类就是指一个类包含其他类的对象作为该类的数据成员。 当组合类创建对象时,其中包含的各个数据成员对象应首先被创建。因此,在创建类的对象时,既要对本类的基本…

贪吃蛇(c实现)

目录 游戏说明: 第一个是又是封面,第二个为提示信息,第三个是游戏运行界面 游戏效果展示: 游戏代码展示: snack.c test.c snack.h 控制台程序的准备: 控制台程序名字修改: 参考&#xff1a…

DELL T630服务器iDRAC分辨率调整办法

对于Dell T630服务器的iDRAC分辨率调整,您需要登录到iDRAC的Web界面。以下是详细的步骤: 登录iDRAC:在浏览器中输入iDRAC的IP地址,然后使用用户名(通常是“root”)和密码登录。 导航到虚拟控制台&#xff…

(Java)心得:LeetCode——19.删除链表的倒数第 N 个节点

一、原题 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&…

IEEE 802.11标准

在IEEE 802.11标准中使用了扩频通信技术,主要作用是使得抗干扰性更强。 IEEE 802.11在MAC层采用了CSMA/CA协议。 IEEE 802.1x是一种基于端口认证协议。

报表-接口类型的数据源

1、配置 在数据中进行如下配置 配置格式,换行的方式 #API $.data[0].children http://192.168.1.1:9200/apis/getInfo 行1:固定写法,标识这是一个接口类型的数据集 行2:JSONPath格式字符串,对接口的数据进行取值。…

【半个月我拿下了软考证】软件设计师高频考点--系统化教学-关系模式

👨‍💻 收录于专栏:软件设计师考点暴击 ⭐🅰️进入狂砍分⭐ ⭐软件设计师高频考点文档, ⭐软件设计师高频考点专栏 ⭐软件设计师高频考点⭐ 🎶(A) 考点1,关系模式 考点: 三个模式相…

kettle经验篇:MongoDB-delete插件问题

目录 项目场景 问题分析 解决方案 MongoDB Delete插件使用总结 项目场景 项目使用的ODS层数据库是MongoDB;在数据中心从DB层向ODS层同步数据过程中,发现有张ODS表在同步过程中,数据突然发生锐减,甚至于该ODS表数据清0。 同步…

Zabbix6.0容器化部署(Docker-Composed)

Zabbix 为每个 Zabbix 组件提供 Docker image 作为可移植和自给自足的容器,以加快部署和更新过程。 Zabbix 组件在 Ubuntu、Alpine Linux 和 CentOS 基础 image 上提供:Zabbix 组件支持 MySQL 和 PostgreSQL 数据库、Apache2 和 Nginx Web 服务器。 1. Zabbix 组件…

17 SPI FLASH读写

SPI 协议简介 SPI 即 Serial Periphera linterface 的缩写,顾名思义就是串行外围设备接口,主要用于与FLASH、实时时钟、AD 转换器等外设模块的通信,它是一种高速的全双工同步的通信总线。 SPI 设备分为主设备和从设备,SPI 通信必…

Pikachu 靶场 RCE 通关解析

前言 Pikachu靶场是一种常见的网络安全训练平台,用于模拟真实世界中的网络攻击和防御场景。它提供了一系列的实验室环境,供安全专业人士、学生和爱好者练习和测试他们的技能。 Pikachu靶场的目的是帮助用户了解和掌握网络攻击的原理和技术,…

mybatis-plus使用指南(1)

快速开始 首先 我们 在创建了一个基本的springboot的基础框架以后&#xff0c;在 pom文件中 引入 mybatisplus的相关依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5…

sumif的求和区域是文本格式怎么办?

sumif函数的求和区域是文本型数字&#xff0c;不更改源数据的情况下怎么求和呢&#xff1f; 一、不能使用SUMIF、SUMIFS函数 这两个函数的求和区域只能是引用&#xff0c;不能是公式运算的内存数组&#xff0c;因此不能用公式或运算符将求和区转换成数值。当引用来的数据是文本…

【C/C++】C/C++ 校园失物招领系统设计与实现(源码+报告)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

一套MySQL读写分离分库分表的架构,被秀到了!

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、My…

算法设计与分析 例题 绘制Huffman树、循环赛、分治、最短路与动态规划

1.考虑用哈夫曼算法来找字符a,b,c,d,e,f 的最优编码。这些字符出现在文件中 的频数之比为 20:10:6:4:44:16。要求&#xff1a; &#xff08;1&#xff09;&#xff08;4 分&#xff09;简述使用哈夫曼算法构造最优编码的基本步骤&#xff1b; &#xff08;2&#xff09;&…

Java数据结构---栈和队列

目录 栈&#xff08;Stack&#xff09; 队列&#xff08;Queue&#xff09; 循环队列 栈&#xff08;Stack&#xff09; 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除操作元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一…