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

article/2025/10/6 6:15:44

贝叶斯分类器是一类分类算法的总称,均以贝叶斯定理为理论基础

一、预备知识—贝叶斯决策论

1.公式

\qquad 贝叶斯决策论是概率框架下的实施决策的基本方法。对于分类任务来说,在所有相关概率都已知的理想情况下,贝叶斯决策论考虑如何基于概率和误判损失来选择最优的类别标记。

\qquad 假设有N种输出类别,表示为 y y y={ c 1 , c 2 , c 3 . . . . . c N c_1,c_2,c_3.....c_N c1,c2,c3.....cN}
\qquad λ i j \lambda_{ij} λij表示为将一个真实属于 c j c_j cj的样本误分类为 c i c_i ci产生的损失。
\qquad 则将样本 x x x分类为 c i c_i ci所产生的期望损失,即在样本 x x x上的“条件风险”为:
在这里插入图片描述
上述公式可以理解为:
在这里插入图片描述

要想实现正确的分类,则需要最小化期望损失,上述是单个样本的期望损失,则整体的损失期望为:
在这里插入图片描述
\qquad 根据上式可以得知,若对每个样本最小化条件风险,则整体的风险 R ( h ) R(h) R(h),也将被最小化。这就产生了贝叶斯判定准则:为最小化总体风险,只需在每个样本上选择那个能使条件风险 R ( c ∣ x ) R(c|x) R(cx)最小的类别标记。
在这里插入图片描述
h ∗ h^* h称为贝叶斯最优分类器。

2.最小化分类错误率

误判损失 λ i j \lambda_{ij} λij,设置为0/1损失函数:

在这里插入图片描述
此时条件风险:

在这里插入图片描述

上式由来:
在这里插入图片描述

于是最小化分类错误率的贝叶斯最优分类器为:
在这里插入图片描述

即对每个样本 x x x,选择能使后验概率 P ( c ∣ x ) P(c|x) P(cx)最大的类别标记

3.后验概率

\qquad 由以上讲解可知,要求得最小化决策风险,首先要获得后验概率 P ( c ∣ x ) 。 P(c|x)。 P(cx)
\qquad 从这个角度来说,机器学习的所要完成的任务是基于有限的训练样本集尽可能准确的估计出后验概率 P ( c ∣ x ) P(c|x) P(cx),根据生成策略不同,分成了两大模型:

判别式模型
生成式模型
所谓的判别式模型,直接建模后验概率 P ( c ∣ x ) 。 P(c|x)。 P(cx)
所谓的生成式模型,:对联合概率分布 P ( c , x ) P(c,x) P(c,x)建模,再得到后验概率 P ( c ∣ x ) 。 P(c|x)。 P(cx)

生成式的模型:
在这里插入图片描述
基于贝叶斯定理可写成:
在这里插入图片描述
其中: P ( c ∣ x ) : 后 验 概 率 P(c|x):后验概率 P(cx)
P ( c ) : 先 验 概 率 P(c):先验概率 P(c)
P ( x ∣ c ) : 似 然 概 率 P(x|c):似然概率 P(xc)

二、极大似然估计

根据贝叶斯定理:
在这里插入图片描述
求最大后验概率 P ( c ∣ x ) P(c|x) P(cx)转化为求最大似然 P ( x ∣ c ) P(x|c) P(xc)

\qquad 设训练集为 D D D
\qquad c c c类的标签记为 θ c \theta_c θc
\qquad 记由第c类的标签组成的集合为 D c D_c Dc个人理解 D c : D_c: Dc就是指集合中哪些特征组合起来可以得到 θ c \theta_c θc类样本
\qquad 假设这些样本都是独立同分布的,则参数 θ c \theta_c θc对于数据集 D c D_c Dc的似然是:
在这里插入图片描述
上式是连乘操作,容易造成下溢,通常使用对数似然:
在这里插入图片描述

三、朴素贝叶斯分类器

1.定义

朴素贝叶斯分类器采用了“属性条件独立性假设”:对已知类别,假设所有的属性相互独立。

根据属性条件独立性假设,可重写贝叶斯法则:
在这里插入图片描述
即求最大化:
在这里插入图片描述

D c D_c Dc 表示训练集 D D D中第c类样本组成的集合,根据独立同分布的性质可计算出先验概率 P ( c ) P(c) P(c)
在这里插入图片描述
D c , x i D_{c,x_i} Dc,xi 表示 D c D_c Dc中在第 i i i个属性上取值为 x i x_i xi的样本组成的集合,则条件概率 P ( x i ∣ c ) P(x_i|c) P(xic)
在这里插入图片描述

2.计算案例

参考博文

为了避免其他属性携带的信息被训练集中未出现的属性值抹去,在估计概率时通常要进行“平滑“,常用”拉普拉多修正“。

四、半朴素贝叶斯分类器

在现实任务中,满足不了朴素贝叶斯所假设的属性条件独立,即很难成立。
由此半朴素贝叶斯分类器由此产生

\qquad 半朴素贝叶斯分类器的基本想法:适当考虑一部分属性间的相互依赖信息,从而既不需要进行完全概率联合计算,又不至于彻底忽略了比较强的属性依赖关系。
\qquad ”独依赖估计“(One-Dependent Estimation ,ODE)是半朴素贝叶斯分类器最常用的一种策略,也就是指假设每个属性在类别之外最多仅依赖于一个其他属性,即
在这里插入图片描述

不同的做法,可以产生不同的独依赖分类器:

SPORT
TAN
AODE

五、贝叶斯网
贝叶斯网刻画了所有属性之间所存在的依赖关系。
贝叶斯网,有称为“信念网”;
在现实任务中,贝叶斯网是未知的,需要我们根据训练集找出结构最恰当的贝叶斯网。
“评分搜索”是求解这个问题的常用方法。

\qquad 但是现实,是从训练集中搜索找到最优贝叶斯网结构是一个NP难问题,难以快速求解。
\qquad 有两种常用的策略能在有限的时间内求解近似解:
\qquad 第一种:贪心法,例如从某个网络结构出发,每次调整一条边,直到评分函数值不再降低为止;
\qquad 第二种:通过给网络结构施加约束来削减搜索空间,例如将网络结构限定为树形结构。

五、EM算法

\qquad 在前面的讨论中,我们一直假设训练样本所有属性变量的值都已被观测到,即训练样本是“完整”的。
\qquad 但在实际应用中往往会遇到“不完整”的训练样本,例如由于西瓜的根蒂已经脱落,无法看出是“蜷缩”还是“硬挺”,则训练样本的“根蒂”属性变量值未知,在这种存在”未观测“变量的情形下,是否仍然能对模型参数进行估计呢?
针对存在未知属性变量的现象,我们可以采用EM算法
EM算法是常用的估计参数隐变量的利器。

这里是引用
相比于之前的公式,多了 Z Z Z(隐变量集)

EM算法的基本思想:若参数 θ \theta θ已知,则可根据训练数据推断出最优隐变量 Z Z Z的值(E步);反之,若 Z Z Z已知,则可方便的对参数 θ \theta θ做极大似然估计。

六、学习资料

周志华——《机器学习》
博文1
博文2


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

相关文章

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

这里写目录标题 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…

SVM入门(九)将SVM用于多类分类

从 SVM的那几张图可以看出来,SVM是一种典型的两类分类器,即它只回答属于正类还是负类的问题。而现实中要解决的问题,往往是多类的问题(少部分例外,例如垃圾邮件过滤,就只需要确定“是”还是“不是”垃圾邮件…