贝叶斯分类算法

article/2025/8/25 14:30:54

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。这篇文章我尽可能用直白的话语总结一下我们学习会上讲到的朴素贝叶斯分类算法,希望有利于他人理解。

 

1  分类问题综述

 对于分类问题,其实谁都不会陌生,日常生活中我们每天都进行着分类过程。例如,当你看到一个人,你的脑子下意识判断他是学生还是社会上的人;你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱”之类的话,其实这就是一种分类操作。

 

既然是贝叶斯分类算法,那么分类的数学描述又是什么呢?

 

从数学角度来说,分类问题可做如下定义:已知集合,确定映射规则y = f(x),使得任意有且仅有一个,使得成立。

 

其中C叫做类别集合,其中每一个元素是一个类别,而I叫做项集合(特征集合),其中每一个元素是一个待分类项,f叫做分类器。分类算法的任务就是构造分类器f。

 

分类算法的内容是要求给定特征,让我们得出类别,这也是所有分类问题的关键。那么如何由指定特征,得到我们最终的类别,也是我们下面要讲的,每一个不同的分类算法,对应着不同的核心思想。

 

本篇文章,我会用一个具体实例,对朴素贝叶斯算法几乎所有的重要知识点进行讲解。

 

2  朴素贝叶斯分类

那么既然是朴素贝叶斯分类算法,它的核心算法又是什么呢?

是下面这个贝叶斯公式:

 

 

换个表达形式就会明朗很多,如下:

 

 

我们最终求的p(类别|特征)即可!就相当于完成了我们的任务。

 

3  例题分析

下面我先给出例子问题。

 

给定数据如下:

 

 

现在给我们的问题是,如果一对男女朋友,男生想女生求婚,男生的四个特点分别是不帅,性格不好,身高矮,不上进,请你判断一下女生是嫁还是不嫁?

 

这是一个典型的分类问题,转为数学问题就是比较p(嫁|(不帅、性格不好、身高矮、不上进))与p(不嫁|(不帅、性格不好、身高矮、不上进))的概率,谁的概率大,我就能给出嫁或者不嫁的答案!

这里我们联系到朴素贝叶斯公式:

 

 

我们需要求p(嫁|(不帅、性格不好、身高矮、不上进),这是我们不知道的,但是通过朴素贝叶斯公式可以转化为好求的三个量.

 

p(不帅、性格不好、身高矮、不上进|嫁)、p(不帅、性格不好、身高矮、不上进)、p(嫁)(至于为什么能求,后面会讲,那么就太好了,将待求的量转化为其它可求的值,这就相当于解决了我们的问题!)

 

4  朴素贝叶斯算法的朴素一词解释

那么这三个量是如何求得?

 

是根据已知训练数据统计得来,下面详细给出该例子的求解过程。

回忆一下我们要求的公式如下:

 

 

那么我只要求得p(不帅、性格不好、身高矮、不上进|嫁)、p(不帅、性格不好、身高矮、不上进)、p(嫁)即可,好的,下面我分别求出这几个概率,最后一比,就得到最终结果。

 

p(不帅、性格不好、身高矮、不上进|嫁) = p(不帅|嫁)*p(性格不好|嫁)*p(身高矮|嫁)*p(不上进|嫁),那么我就要分别统计后面几个概率,也就得到了左边的概率!

 

等等,为什么这个成立呢?学过概率论的同学可能有感觉了,这个等式成立的条件需要特征之间相互独立吧!

 

对的!这也就是为什么朴素贝叶斯分类有朴素一词的来源,朴素贝叶斯算法是假设各个特征之间相互独立,那么这个等式就成立了!

 

但是为什么需要假设特征之间相互独立呢?

 

 

1、我们这么想,假如没有这个假设,那么我们对右边这些概率的估计其实是不可做的,这么说,我们这个例子有4个特征,其中帅包括{帅,不帅},性格包括{不好,好,爆好},身高包括{高,矮,中},上进包括{不上进,上进},那么四个特征的联合概率分布总共是4维空间,总个数为2*3*3*2=36个。

 

36个,计算机扫描统计还可以,但是现实生活中,往往有非常多的特征,每一个特征的取值也是非常之多,那么通过统计来估计后面概率的值,变得几乎不可做,这也是为什么需要假设特征之间独立的原因。

 

2、假如我们没有假设特征之间相互独立,那么我们统计的时候,就需要在整个特征空间中去找,比如统计p(不帅、性格不好、身高矮、不上进|嫁),

 

我们就需要在嫁的条件下,去找四种特征全满足分别是不帅,性格不好,身高矮,不上进的人的个数,这样的话,由于数据的稀疏性,很容易统计到0的情况。 这样是不合适的。

 

根据上面俩个原因,朴素贝叶斯法对条件概率分布做了条件独立性的假设,由于这是一个较强的假设,朴素贝叶斯也由此得名!这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。

 

好的,上面我解释了为什么可以拆成分开连乘形式。那么下面我们就开始求解!

 

我们将上面公式整理一下如下:

 

 

下面我将一个一个的进行统计计算(在数据量很大的时候,根据中心极限定理,频率是等于概率的,这里只是一个例子,所以我就进行统计即可)。

 

p(嫁)=?

首先我们整理训练数据中,嫁的样本数如下:

 

则 p(嫁) = 6/12(总样本数) = 1/2

 

p(不帅|嫁)=?统计满足样本数如下:

 

则p(不帅|嫁) = 3/6 = 1/2 在嫁的条件下,看不帅有多少

 

p(性格不好|嫁)= ?统计满足样本数如下:

 

则p(性格不好|嫁)= 1/6

 

p(矮|嫁) = ?统计满足样本数如下:

 

则p(矮|嫁) = 1/6

 

p(不上进|嫁) = ?统计满足样本数如下:

 

则p(不上进|嫁) = 1/6

 

下面开始求分母,p(不帅),p(性格不好),p(矮),p(不上进)

统计样本如下:

 

 

不帅统计如上红色所示,占4个,那么p(不帅) = 4/12 = 1/3

 

 

性格不好统计如上红色所示,占4个,那么p(性格不好) = 4/12 = 1/3

 

 

身高矮统计如上红色所示,占7个,那么p(身高矮) = 7/12

 

 

不上进统计如上红色所示,占4个,那么p(不上进) = 4/12 = 1/3

 

到这里,要求p(不帅、性格不好、身高矮、不上进|嫁)的所需项全部求出来了,下面我带入进去即可,

 

= (1/2*1/6*1/6*1/6*1/2)/(1/3*1/3*7/12*1/3)

 

下面我们根据同样的方法来求p(不嫁|不帅,性格不好,身高矮,不上进),完全一样的做法,为了方便理解,我这里也走一遍帮助理解。首先公式如下:

 

 

下面我也一个一个来进行统计计算,这里与上面公式中,分母是一样的,于是我们分母不需要重新统计计算!

 

p(不嫁)=?根据统计计算如下(红色为满足条件):

 

 

则p(不嫁)=6/12 = 1/2

 

p(不帅|不嫁) = ?统计满足条件的样本如下(红色为满足条件):

 

 

则p(不帅|不嫁) = 1/6

 

p(性格不好|不嫁) = ?据统计计算如下(红色为满足条件):


则p(性格不好|不嫁) =3/6 = 1/2

 

p(矮|不嫁) = ?据统计计算如下(红色为满足条件):

 

则p(矮|不嫁) = 6/6 = 1

 

p(不上进|不嫁) = ?据统计计算如下(红色为满足条件):

则p(不上进|不嫁) = 3/6 = 1/2

 

那么根据公式:

 

p (不嫁|不帅、性格不好、身高矮、不上进) = ((1/6*1/2*1*1/2)*1/2)/(1/3*1/3*7/12*1/3)

很显然(1/6*1/2*1*1/2) > (1/2*1/6*1/6*1/6*1/2)

 

于是有p (不嫁|不帅、性格不好、身高矮、不上进)>p (嫁|不帅、性格不好、身高矮、不上进)

 

所以我们根据朴素贝叶斯算法可以给这个女生答案,是不嫁!!!!

 

5  朴素贝叶斯分类的优缺点

优点:

(1) 算法逻辑简单,易于实现(算法思路很简单,只要使用贝叶斯公式转化医学即可!)

(2)分类过程中时空开销小(假设特征相互独立,只会涉及到二维存储)

 

缺点:

 

理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。

 

而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。

 

整个例子详细的讲解了朴素贝叶斯算法的分类过程,希望对大家的理解有帮助~

 

参考:李航博士《统计学习方法》

算法杂货铺--分类算法之朴素贝叶斯分类(Naive Bayesian classification)

 

致谢:德川,皓宇,继豪,施琦

原文地址:https://blog.csdn.net/amds123/article/details/70173402


http://chatgpt.dhexx.cn/article/LQH63hqr.shtml

相关文章

基于Python实现五大常用分类算法(原理+代码)

读: 在机器学习和统计中,分类算法通过对已知类别训练集的计算和分析,从中发现类别规则并预测新数据的类别。分类被认为是监督学习的一个实例,即学习可以获得正确识别的观察的训练集的情况。 实现分类的算法,特别是在具…

EIGRP综合实验解析

实验要求 1.R1为ISP,只能配置IP地址 2.R1与R2之间为PPP封装,使用CHAP认证,R1为主认证方 3.R2-R8地址为172.16.0.0/16 4.R4的S1/1口带宽为800K。R4到R2环回为非等开销负载均衡 5.保证更新安全,减少路由条目数量 6.R6到达R8环回通过R7进行 7.R2…

EIGRP协议

EIGRP是距离矢量路由协议,但又非距离矢量那样路由完全是别人告诉,而是通过维护3张表自己对比计算后放入路由表。同样会受水平分割影响。 EIGRP建邻居过程 第一步:路由器R1和R2接口配置EIGRP后,在相应接口上向外组播发送Hello包…

EIGRP总结

EIGRP 增强内部网关路由协议 无类别距离矢量IGP协议; 增量更新—仅触发更新,无周期更新----更新量小(DV),可靠性高(RTP),保活机制(hello) 复合度量—多个参数…

EIGRP

EIGRP增强型网关路由协议 基本内容: Cisco私有;无类别距离矢量协议;跨层封装协议,封装于网络层–协议号88;组播更新:224.0.0.10 ;支持非等开销负载均衡;增量更新(部分更…

思科EIGRP配置及基本讲解

思科EIGRP配置及基本讲解 什么是EIGRP EIGRP全称 [增强型内部网关路由选择协议] 是思科自主研发的动态路由选择协议,按类型划分是一款IGP协议,距离矢量协议,是一款基于传闻的协议。 EIGRP是思科的私有协议,直到13年,此…

EIGRP协议的配置

EIGRP(Enhanced Interior Gateway Routing Protocol,增强型内部网关路由协议)是Cisco公司开发的一个平衡混合型路由协议,它融合了距离向量和链路状态两种路由协议的优点,支持IP,IPX和ApplleTalk等多种网络层协议。由于TCP/IP是当今…

网络篇 EIGRP协议-27

目录 一、EIGRP的基本概述 二、EIGRP的特点 三、EIGRP的四种重要技术 四、EIGRP的相关术语 五、EIGRP的三张表 1.路由表 2.邻居表 3.拓扑表 六、EIGRP的五个分组 1.Hello分组: 2.Update更新分组: 3.Query查询分组: 4.Reply应答分…

EIGRP(Enhanced Interior Gateway Routing Protocol,增加型内部网关路由协议)

EIGRP是Cisco公司于1992年开发的一个无类别距离矢量路由协议,它融合了距离矢量和链路状态两种路由协议的优点。EIGRP是Cisco的专有路由协议, 是Cisco的IGRP协议的增加版。IGRP是一种有类距离矢量协议,Cisco IOS 12.3版以后不再支持该协议。 E…

EIGRP理论详解及基础实验

EIGRP:( Enhanced Interior Gateway Routing Protocol )增强型内部网关路由协议 EIGRP 是一种Cisco专用协议,同时具备链路状态和距离矢量路由协议的优点.只发送变化后的信息(这类似于链路状态协议),同时只将这些信息发送给邻接路由器(这类似于距离矢量协议). 距离矢量路由协议…

CSMA协议

介质访问控制 CSMA协议 1-坚持CSMA 非坚持CSMA p-坚持CSMA 三种CSMA对比总结

3.4.2 CSMA/CD协议

为了解决各站点争用总线的问题,共享总线使用了一种专用协议CSMA/CD,它是载波监听多址接入/碰撞检测(Carrier Sence Multiple Access Collision Detection)的英文缩写。 假设站点C要发送帧,它首先进行载波监听&#xff…

关于CSMA/CA和CSMA/CD的区别

转载自:https://www.cnblogs.com/aixin0813/p/3289183.html 1.1 载波侦听多路访问 根据具体的监听/发送策略,可将CSMA分为: 非持续CSMA(英语:non-persistent CSMA) 当要发送帧的设备侦听到线路忙或发生冲…

计算机网络:随机访问介质访问控制之CSMA/CA协议

CSMA/CD协议已成功应用于使用有线连接的局域网,但在无线局域网环境下,却不能简单地搬用CSMA/CD协议,特别是碰撞检测部分。主要有两个原因: 1)接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号强度的动态…

CSMA/CD协议详解

一、协议背景 最早的以太网是总线网络,当一台计算机发送数据时,总线上所有计算机都能检测到这个数据(广 播通讯方式)。为了通讯的简便,传统总线型以太网采取了以下措施: 1.提供的服务为不可靠的交付: (1.采用较为灵活…

CSMA/CD

carrier sense multi-access/collision detect,载波监听多路访问/冲突检测 工作原理: 发送数据前进行载波监听判断信道是否空闲,若信道忙则等待一段随机时间;若信道空闲则立即发送数据,发送数据过程中同时检测是否产…

CSMA/CD和拥塞控制AIMD其实是一回事!

今天下班的班车上,撸论文,找到一篇关于CSMA/CD性能分析的,然而下载需要钱,作罢。我讨厌知识付费,因为我崇尚知识免费共享。 正好我上周末也写了一篇与此相关的: 谈谈CSMA/CD,TCP中的二进制指数…

CSMA/CD和CSMA/CA的区别(最全知识点总结)

在最后有总结,中间对CSMA/CD和CSMA/CA的描述也很详尽 一.CSMA/CD(载波监听多点接入/碰撞检测) 为什么要使用CSMA/CD: 因为总线上只要有数据,传输资源时就会被占用,又因为传统总线型以太网采用半双工的通讯…

CSMA/CA精辟总结

1. CSMA/CA https://blog.csdn.net/qq894040717/article/details/82426965 https://blog.csdn.net/LMM_5201/article/details/81673371 参考了以上链接的内容,然后进行了整理补充 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)协议只能用于有明确目标地…

CSMA/CD协议

CSMA/CD协议 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) CSMA/CD用于以太网中, 以太网是最常见的有线局域网,那么有哪些类型以太网使用呢? 经典以太网(3~10Mbps)&…