贝叶斯分类器详解

article/2025/10/6 6:16:53

文章目录

  • 一、贝叶斯简介
  • 二、贝叶斯决策论
  • 三、极大似然估计
    • 例题解析
  • 四、朴素贝叶斯分类器
    • 例题解析
  • 五、半朴素贝叶斯分类器


一、贝叶斯简介

简介:贝叶斯分类器是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类器。而朴素贝叶斯分类器是贝叶斯分类器中最简单,也是最常见的一种分类方法。并且,朴素贝叶斯算法仍然是流行的十大挖掘算法之一,该算法是有监督的学习算法,解决的是分类问题。该算法的优点在于简单易懂、学习效率高、在某些领域的分类问题中能够与决策树、神经网络相媲美。但由于该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提,就会导致算法精度在某种程度上受影响。

基础:以下是掌握贝叶斯分类器必须要掌握的知识。

先验概率:是指根据以往经验和分析得到的概率。
例:如果我们对西瓜的色泽、根蒂和纹理等特征一无所知,按照常理来说,西瓜是好瓜的概率是60%。那么这个概率P(好瓜)就被称为先验概率。

后验概率:事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小。
例:假如我们了解到判断西瓜是否好瓜的一个指标是纹理。一般来说,纹理清晰的西瓜是好瓜的概率大一些,大概是75%。如果把纹理清晰当作一种结果,然后去推测好瓜的概率,那么这个概率P(好瓜|纹理清晰)就被称为后验概率。后验概率类似于条件概率。

**联合概率:设二维离散型随机变量(X,Y)所有可能取得值为,记则称 为随机变量X和Y的联合概率。**计算如下:
在这里插入图片描述
例:在买西瓜的案例中,P(好瓜,纹理清晰)称为联合分布,它表示纹理清晰且是好瓜的概率。关于它的联合概率,满足以下乘法等式:
在这里插入图片描述
其中,P(好瓜|纹理清晰)就是后验概率,表示在“纹理清晰”的条件下,是“好瓜”的概率。P(纹理清晰|好瓜)表示在“好瓜”的情况下,是“纹理清晰”的概率。

全概率:如果事件组 B 1 B1 B1, B 2 B2 B2满足:
在这里插入图片描述
全概率公式的意义在于:当直接计算 P ( A ) P(A) PA较为困难时,而 在这里插入图片描述
的计算较为简单时,可以利用全概率公式进行计算P(A)。

例:上面联合概率概念买西瓜的例子中,我们要计算 P ( 好 瓜 , 纹 理 清 晰 ) P(好瓜,纹理清晰) P联合概率时,需要知道 P ( 纹 理 清 晰 ) P(纹理清晰) P的概率。那么,如何计算纹理清晰的概率呢?实际上可以分为两种情况:一种是好瓜状态下纹理清晰的概率,另一类是坏瓜状态下纹理清晰的概率。纹理清晰的概率就是这两种情况之和。因此,我们可以推导出全概率公式:在这里插入图片描述
**贝叶斯定理:**贝叶斯公式是建立在条件概率的基础上寻找事件发生的原因(即大事件A已经发生的条件下,分割中的小事件 B i B_i Bi的概率),设 B 1 , B 2 , … B_1,B_2,… B1,B2,是样本空间Ω的一个划分,则对任一事件A(P(A)>0),有贝叶斯定理:
在这里插入图片描述
对于每个特征x,我们想要知道样本在这个特性x下属于哪个类别,即求后验概率P(c|x)最大的类标记。这样基于贝叶斯公式,可以得到:
在这里插入图片描述

二、贝叶斯决策论

贝叶斯决策论(Bayesian decision theory)是概率框架下实施决策的基本方法,以多分类任务为例来解释其基本原理。

假设有N种可能的类别标记,即 y = { c 1 , c 2 , … , c N } y=\{c_1,c_2,…,c_N\} y={c1,c2,,cN} λ i j λ_{ij} λij是将一个真实标记为 c j c_j cj的样本误分类为 c i c_i ci所产生的损失。基于后验概率 P ( c i ∣ x ) P(c_i |x) P(cix)可获得将样本 x x x分类为 c i c_i ci所产生的期望损失,即在样本x上的“条件风险” 。
在这里插入图片描述
我们的任务是寻找一个判定准则h: χ → y χ→y χy以最小化总体风险。
在这里插入图片描述
显然,对每个样本 x x x,若h能最小化条件风险 R ( h ( x ) ∣ x ) R(h(x) | x) R(h(x)x),则总体风险 R ( h ) R(h) R(h)也将被最小化.贝叶斯判定准则(Bayes decision rule):为最小化总体风险,只需在每个样本上选择那个能使条件风险 R ( c ∣ x ) R(c | x) R(cx)最小的类别标记,即
在这里插入图片描述
h ∗ h^* h 称为贝叶斯最优分类器, R ( h ∗ ) R(h^*) R(h)称为贝叶斯风险。 $1-R(h^*)反映了分类器所能达到的最好性能,即通过机器学习所能产生的模型精度的理论上限.

具体来说,若目标是最小化分类错误率,则误判损失 λ i j λ_{ij} λij可写为:
在这里插入图片描述
即对每个样本 x x x,选择能使后验概率 P ( c ∣ x ) P(c | x) P(cx)最大的类别标记。

获得后验概率 P ( c ∣ x ) P(c|x) P(cx),在现实任务中通常难以直接获得.所要实现的是基于有限的训练样本集尽可能准确地估计出后验概率 P ( c │ x ) P(c│x) P(cx).

有两种策略:
直接建模 P ( c ∣ x ) P(c|x) P(cx)来预测 c c c,“判别式模型”;
对联合概率分布 P ( x , c ) P(x,c) P(x,c)建模,然后再由此获得P(c|x),“生成式模型”。
Fisher判别式、支持向量机等,都可归入判别式模型的范畴.

对生成式模型:
在这里插入图片描述
基于贝叶斯定理, P(c| x)可写为:
在这里插入图片描述

$P(c)$:是类“先验”概率;
$P(x│c)$:是样本x相对于类标记c的类条件概率,或称为“似然”; 
$P(x)$:是用于归一化的“证据”子.

证据因子 P ( x ) P(x) P(x)与类标记无关,因此估计 P ( c ∣ x ) P(c|x) P(cx)的问题就转化为如何基于训练数据D来估计先验 P ( c ) P(c) P(c)和似然 P ( x ∣ c ) P(x|c) P(xc).。 P ( c ) P(c) P(c)可通过各类样本出现的频率来进行估计。

对类条件概率 P ( x ∣ c ) P(x|c) P(xc)来说,直接根据样本出现的频率来估计将会遇到严重的困难。很多样本取值在训练集中根本没有出现,“未被观测到”与“出现概率为零”通常是不同的。

三、极大似然估计

估计类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。

假设 P ( x ∣ c ) P(x|c) P(xc)具有确定的形式并且被参数向量 θ c θ_c θc唯一确定,则我们的任务就是利用训练集 D D D估计参数 θ c θ_c θc.我们将P(x|c)记为 P ( x ∣ θ c ) P(x|θ_c) P(xθc)

参数估计 两个学派:
频率主义学派认为参数虽然未知,但却是客观存在的固定值,可通过优化似然函数等准则来确定参数值;

经典的方法:极大似然估计

贝叶斯学派则认为参数是未观察到的随机变量, 可假定参数服从一个先验分布,然后基于观测到的数据来计算参数的后验分布.

D c D_c Dc表示训练集 D D D中第 c c c类样本组成的集合,假设这些样本是独立同分布的,则参数 θ c θ_c θc对于数据集 D c D_c Dc的似然是:
在这里插入图片描述
同时发生,因此连乘

θ c θ_c θc进行极大似然估计,就是去寻找能最大化似然 P ( D c ∣ θ c ) P(D_c | θ_c) P(Dcθc)的参数值 θ c ^ \hat{\theta _c} θc^.直观上看,极大似然估计是试图在 θ c θ_c θc所有可能的取值中,找到一个能使数据出现的“可能性”最大的值。

对数似然
在这里插入图片描述
连乘转换为连加,更好处理

此时参数 θ c θ_c θc的极大似然估计 θ c ^ \hat{\theta _c} θc^
在这里插入图片描述
后面是求偏导等于0,求方程组

例题解析

例1, 假设概率密度函数 p ( x │ c ) N ( μ c , σ c 2 ) p(x │ c) ~ N(μ_c,σ_c^2 ) p(xc) N(μc,σc2),求参数 μ c μ_c μc σ c 2 σ_c^2 σc2的极大似然估计:
在这里插入图片描述
一维正态的情况,设 θ 1 = μ , θ 2 = σ 2 \theta _{1}=\mu ,\theta _{2}=\sigma ^2 θ1=μθ2=σ2 则:
在这里插入图片描述
则有:
在这里插入图片描述
可见,正态分布中的协方差阵Σ的最大似然估计量等于N个矩阵的算术平均值。

这种参数化的方法相对简单,但估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布.

四、朴素贝叶斯分类器

基于贝叶斯公式来估计后验概率 P ( c ∣ x ) P(c|x) P(cx)的主要困难:类条件概率 P ( x ∣ c ) P(x|c) P(xc)是所有属性上的联合概率,难以从有限的训练样本直接估计而得。

朴素贝叶斯分类器采用了“属性条件独立性假设”: 假设所有属性相互独立.

基于属性条件独立性假设,贝叶斯公式可重写为:
在这里插入图片描述
其中 d d d为属性数目, x i x_i xi x x x在第 i i i个属性上的取值.
在这里插入图片描述
这就是朴素贝叶斯分类器的表达式.

朴素贝叶斯分类器的训练过程就是基于训练集 D D D来估计类先验概率 P ( c ) P(c) P(c),并为每个属性估计条件概率 P ( x i ∣ c ) P(x_i |c) P(xic).

类先验概率:
在这里插入图片描述
对离散属性而言,则条件概率 P ( x i ∣ c ) P(x_i |c) P(xic)可估计为:
在这里插入图片描述
c c c类第 i i i个属性上取值为 x i x_i xi的样本

*比如*:在下边西瓜分类的例题中, c c c表示好瓜坏瓜 x i x_i xi表示属性 D c D_c Dc表示某一类的数量,如果用 c 1 c_1 c1表示好瓜,则 D c 1 D_{c1} Dc1表示好瓜的数量,在下表中可以数出来, D c 1 = 8 D_{c1}=8 Dc1=8,同理,用 x 1 x_1 x1表示青绿色,则 D c , x 1 D_{c,x_1} Dcx1表示既是好瓜,又是青绿色的瓜的数目,显然, D c , x 1 = 3 D_{c,x_1}=3 Dcx1=3。所以,条件概率好瓜的情况下是青绿色的瓜的概率是 P ( 青 绿 色 ∣ 好 瓜 ) = 3 / 8 = 0.375 P(青绿色 |好瓜)=3/8=0.375 P(绿)=3/8=0.375

对连续属性可考虑概率密度函数,假定 p ( x i ∣ c ) ∼ N ( μ c , i , σ c , i 2 ) p(x_i | c) \sim N(μ_{c,i},σ_{c,i}^2) p(xic)N(μc,i,σc,i2),其中 μ c , i μ_{c,i} μc,i σ c , i 2 σ_{c,i}^2 σc,i2分别是第 c c c类样本在第 i i i个属性上取值的均值和方差,则有:
在这里插入图片描述
如,下面例题中的密度,含糖量是属于连续属性。生活中,还有身高,体重等长度、重量是连续属性。而离散属性如例题中的色泽,根蒂等属性,每个属性的种类有限,属于离散型的。

例题解析

下面我们用西瓜数据集3.0训练一个朴素贝叶斯分类器,进行分类:
首先估计类先验概率 P ( c ) P(c) Pc,然后,为每个属性估计条件概率 P ( x i ∣ c ) P(x_i | c) P(xic)
在这里插入图片描述
在这里插入图片描述
于是,有:
在这里插入图片描述
在这里插入图片描述
由于 0.038 > 6.80 × 1 0 − 5 0.038>6.80×10^{-5} 0.038>6.80×105,因此,朴素贝叶斯分类器将测试样本“测1”判别为“好瓜”。


需注意,若某个属性值在训练集中没有与某个类同时出现过,对一个“敲声=清脆”的测试例,
在这里插入图片描述
为了避免,通常要进行“平滑”,拉普拉斯修正
在这里插入图片描述
例如,在本节的例子中,类先验概率可估计为 :
在这里插入图片描述
类似地, P 青 绿 ∣ 是 P_{青绿|是} P绿 P 青 绿 ∣ 否 P_{青绿|否} P绿 可估计为:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190701213523855.png
同时,上文提到地概率 P 青 脆 ∣ 是 P_{青脆|是} P 可估计为:
在这里插入图片描述
显然,拉普拉斯修正避免了因训练集样本不充分而导致概率估值为零的问题,并且在训练集变大时,修正过程所引入的先验的影响也会逐渐变得可忽略,使得估值渐趋向于实际概率值.

朴素贝叶斯分类器有多种使用方式:
1.可将朴素贝叶斯分类器涉及的所有概率估值事先计算好存储起来,这样在进行预测时只需“查表”即可进行判别;
2.“懒惰学习”(lazy learning)方式;在现有估值基础上,先不预先计算,
3.数据增加是,仅对新增样本的属性值所涉及的概率估值进行计数修正即可实现增量学习.

五、半朴素贝叶斯分类器

朴素贝叶斯分类器采用了属性条件独立性假设,但在现实任务中这个假设往往很难成立.
进行一定程度的放松,称为“半朴素贝叶斯分类器”。适当考虑一部分属性间的相互依赖信息。
独依赖估计(One-Dependent Estimator,简称ODE)是半朴素贝叶斯分类器最常用的一种策略.顾名思议,所谓“独依赖”就是假设每个属性在:类别之外最多仅依赖于一个其他属性,即
在这里插入图片描述
其中 p a i pa_i pai为属性 x i x_i xi所依赖的属性,称为 x i x_i xi的父属性.此时,对每个属性 x i x_i xi,若父属性 p a i pa_i pai已知,则可采用类似下面的公式来估计概率值 P ( x i │ c , p a i ) P(x_{i│c},pa_i ) P(xic,pai).
在这里插入图片描述
于是,问题的关键就转化为如何确定每个属性的父属性,不同的做法产生不同的独依赖分类器。

最直接的做法是假设所有属性都依赖于同-一个属性,称为“超父”(super-parent),由此形成了 SPODE(Super-Parent ODE)方法.
在这里插入图片描述
TAN (Tree Augmented naive Bayes)则是在最大带权生成树算法的基础上,通过以下步骤将属性间依赖关系约简为如图7.1©所示的树形结构:

(1)计算任意两个属性之间的条件互信息:
在这里插入图片描述
(2) 以属性为结点构建完全图,任意两个结点之间边的权重设为 I ( x i , x j ∣ y ) I(x_i,x_j |y) I(xi,xjy);
(3)构建此完全图的最大带权生成树,挑选根变量,将边置为有向;
(4)加入类别结点y,增加从y到每个属性的有向边.

条件互信息 I ( x i , x j ∣ y ) I(x_i,x_j |y) I(xi,xjy)刻画了属性 x i x_i xi x j x_j xj在已知类别情况下的相关性,通过最大生成树算法,TAN实际上仅保留了强相关属性之间的依赖性.

与SPODE通过模型选择确定超父属性不同,AODE尝试将每个属性作为超父来构建SPODE,然后将那些具有足够训练数据支撑的SPODE集成起来作为最终结果,即:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190701215118378.png
在这里插入图片描述
例如:

在这里插入图片描述
与朴素贝叶斯分类器类似,AODE的训练过程也是“计数”,即,在训练数据集上对符合条件的样本进行计数的过程、与朴素贝叶斯分类器相似,AODE无需模型选择,既能通过预计算节省预测时间,也能采取懒惰学习方式在预测时再进行计数,并且易于实现增量学习.

[下一篇]:贝叶斯网络、EM算法推导


http://chatgpt.dhexx.cn/article/4CEJ9R4i.shtml

相关文章

机器学习(六)——贝叶斯分类器

贝叶斯分类器是一类分类算法的总称,均以贝叶斯定理为理论基础 一、预备知识—贝叶斯决策论 1.公式 \qquad 贝叶斯决策论是概率框架下的实施决策的基本方法。对于分类任务来说,在所有相关概率都已知的理想情况下,贝叶斯决策论考虑如何基于概率…

机器学习——贝叶斯分类器

这里写目录标题 1.贝叶斯分类器属于生成式模型2.贝叶斯定理3.朴素贝叶斯分类器3.1朴素贝叶斯分类器中的数学模型3.2分类器的分类准则 1.贝叶斯分类器属于生成式模型 对于数据的判别分类有两种策略模型:判别式模型和生成式模型 判别式模型 : 逻辑回归、决策树、支持…

贝叶斯分类器原理——学习笔记

贝叶斯分类器原理 简介一、逆概率推理与贝叶斯公式1、确定性推理与概率推理2、贝叶斯公式 二、贝叶斯分类的原理三、概率估计1、先验概率的估计2、类条件概率的估计 四、贝叶斯分类的错误率五、常用贝叶斯分类器1、最小错误率贝叶斯分类器2、最小风险贝叶斯分类器3、朴素贝叶斯…

机器学习-贝叶斯分类器(附Python代码)

1. 贝叶斯原理 Naive Bayes 官方网址: https://scikit-learn.org/stable/modules/naive_bayes.html GitHub地址:https://github.com/gao7025/naive_bayes.git 贝叶斯分类是以贝叶斯定理为基础的一种分类算法,其主要思想为:先验…

chrome插件开发入门实战——CSDN免登陆拷贝、免关注查看

官方资料 docextensions官方chrome-extensions-samples 实战CSDN插件(V3) 功能 CSDN: 复制代码免登陆;CSDN: 免关注博主看文章;CSDN: 替换CSDN代码拷贝按钮,登陆也不用CSDN复制按…

Github实用浏览器插件推荐

文章目录 1. github树形目录插件-octotree(有付费功能)2. 快速下载github项目——GitHub加速3. 下载github中指定文件——GitZip for github4. github代码定义跳转浏览插件-Sourcegraph 某天看直播课程的时候看到这样一个界面: 然后就搜了一下…

IDEA必备插件

一、插件入口 二、IDEA必备插件 插件安装目录:C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2021.3\plugins 1.Alibaba Java Coding Guidelines 推荐指数:★★★ 介绍:阿里巴巴Java编码指南 安装之后右键菜单会多出两个选项&a…

Visual Studio 2017,C++MFC免注册调用大漠插件图文教程,详细版

Visual Studio 2017,CMFC免注册调用大漠插件图文教程,详细版 前言 提示:这里可以添加本文要记录的大概内容: 有很多人都在问CMFC怎么免注册调用?其实这些都有参考但是对于新手来说,编译器对新手的不友好&#xff0c…

PHPstorm必备插件推荐

1、.env files support 对.env 文件的支持 2、 .ignore 对.ignore 文件的支持 3、 Ideolog 对 .log 文件的支持 4、 Chinese (Simplified) Language Pack / 中文语言包 官方版中文语言包 | 汉化语言包 5、 Git 对Git的支持 6、 GitToolBox 支持在文件中展示当前代码最后的…

【BurpSuite】插件之自用插件

自用burpsuite插件汇总 前言 自用的一些burpsute插件,有的是自己改着写的,有的是用别人写的,备份记录为主要目的。万一哪天环境崩了也能快速记起来要用什么插件。 重写右键执行 自己重写的一些代码,核心点是处理http请求&…

插件的使用

1、插件写法:插件通常会为 Vue 添加全局功能,添加全局方法或者属性; 添加全局资源:指令/过滤器/过渡等;通过全局 mixin 方法添加一些组件选项; 添加 Vue 实例方法,通过把它们添加到 Vue.proto…

TypechoCMS通用发布插件-【免登录版本】

Typecho是一个操作简单快速的轻量博客平台。 轻量高效:不足 400KB 的代码,就实现了完整的插件与模板机制。超低的 CPU 和内存使用率,足以发挥主机的最高性能。 先进稳定:支持 BAE/GAE/SAE 等各类云主机,即使面对突如…

【Unity插件】最多的插件合集

一、前言 ? 最近整理了一下文章,发现我分享了很多的插件,但是如果要查找某一款插件,还需要去搜索才能找到,很不方面,就想要将写过的所有的插件分享也好,教程也好,做一个汇总,然后这…

AS常用插件

1.​​adb-idea​​ 支持直接在AS面板中进行ADB操作 2.Android Code Generator 根据布局文件快速生成对应的Activity,Fragment,Adapter,Menu。 http://plugins.jetbrains.com/files/7595/screenshot_14834.png 3.CodeGlance 右边实现代…

油猴插件免费下载

安利一个黑科技,名叫"油猴子"。点击下载 Tampermonkey中文名俗称油猴,是一款免费的浏览器插件,目前最为流行的用户脚本管理器,用户可以通过油猴添加和使用脚本,而脚本是一种可以修改网页JavaScript的程序。…

超实用的浏览器插件:CSDN全站去广告

文章目录 1先下载安装为快2功能分析评测1浏览界面清爽便捷2永久免费去站内广告3神奇的C键搜索功能4 json格式化 3改进建议 最近CSDN官方出了一个插件,一起来see see有啥好玩的地方 hello,我是北京某不知名211大学计算机专业的一名大三学生(哈…

超实用的浏览器插件永久免费!!!

能让工作效率翻N倍 ,是不是心动了主要功能 个性化标签、自动换肤、自定义常用网站,同时可选择多种搜索引擎 永久免费去站内广告 一键万能框搜索 实用快捷工具(日期格式化、时间戳自动转换、在线翻译) 新增一键json转换 占内存…

【Chrome必备插件,一键提升10倍效率】新用户永久免广告,好用!

CSDN 官方出品的浏览器插件–CSDN开发者助手 终于正式更新啦!更多好玩功能等你发现,现在登录⭕️官网即可下载 CSDN浏览器助手,风格简约清爽,体积不到1M,一键极简操作万能工具,让你在工作、学习和技术开发场…

如何用WordPress免插件实现MarkDown语法支持

WordPress默认不支持MarkDown标记(不知道最新版实现没有),虽然提供了很多第三方MarkDown插件,但都无法达到满意的效果。xiaoz一直以来都是用HTML标签来写文章,虽然排版效果好,但是写起来真的很费劲&#xf…

sklearn.svm 多分类

>>> from sklearn import svmX [[0,0], [1,1],[2,2],[3,3]] Y [0, 1,2,3] clf SVC( probabilityTrue) clf.fit(X,Y) print(clf.predict([[0,0], [1,1],[2,2],[3,3]])) print(clf.predict_proba([[0,0], [1,1],[2,2],[3,3]]))打印如下: [0 1 2 3] [[ 0.1…