前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >简述朴素贝叶斯算法的基本原理_贝叶斯分析例题

简述朴素贝叶斯算法的基本原理_贝叶斯分析例题

作者头像
全栈程序员站长
发布于 2022-11-17 03:18:08
发布于 2022-11-17 03:18:08
6040
举报

大家好,又见面了,我是你们的朋友全栈君。

朴素贝叶斯算法(Naive Bayesian algorithm) 是应用最为广泛的分类算法之一,在垃圾邮件分类等场景展露出了非常优秀的性能。

朴素贝叶斯公式来历

朴素贝叶斯,名字中的朴素二字就代表着该算法对概率事件做了很大的简化,简化内容就是各个要素之间是相互独立的。 比如今天刮风和气温低,两个要素导致了不下雨的结果。实际上刮风可能导致气温低,而且刮风对于天晴的影响会更大,朴素贝叶斯认为刮风和气温之间相互独立,且对于是否下雨这个结果的影响没有轻重之分。用公式来表示这种独立性就是:

在介绍朴素贝叶斯公式前,先介绍一下条件概率公式。条件概率表示在B已经发生的条件下,A发生概率。

朴素贝叶斯公式就是条件概率的变形。 假设已有数据为

其中x为属性值,y为分类结果,共有n个已有数据。每个x有多种属性,以第一组数据为例,上标表示第几个属性值,x的具体表示如下

假设y的可取值为(c1,c2,…,ck) 则贝叶斯公式表示为

由公式可以看出,贝叶斯公式就是条件概率的公式。贝叶斯公式的解释很简单:在已有数据的基础上,出现了一个新数据,只有X=(a1,a2,…,am),来预测y的取值。贝叶斯公式就是求在目前X发生的情况下,y取不同值的概率大小进行排序,取最大概率的y值。 其中X有多个属性,朴素贝叶斯假设各个属性之间是独立的,因此

因此朴素贝叶斯公式可以写成

此公式的含义就是在目前已知历史数据数据的前提下,出现了一个新的X,求在X已经发生的条件下,y取不同值的概率,然后取使得条件概率最大的y作为预测结果。也就是说寻找y的取值Cn,使得上式最大,用公式表示就是

这里可以看出,不论求y取任何值Ci的概率,分母都不变,为P(x=X),因此该公式可以简化为:(正因为将P(x=X)省略了,所以我就没有将P(x=X)写成全概率公式的样子)

其中P(y=Cn)是指y取Cn的值的数量占所有y值数量的百分比;P(xi=ai|y=Cn)表示在y取值为Cn的条件下,xi=ai的条件概率。公式表示如下:(I()函数表示当括号内的条件成立时,记为1。)

到这里,朴素贝叶斯的基础原理就完了。顺便提一下生成模型和判别模型吧。大家可以看到,朴素贝叶斯算法在进行判断时,每次都要用到历史数据,在求得概率分布的情况下再对新数据预测,这就是生成模型。什么是判别模型呢,简单的说就是像神经网络算法那种,训练完将各种权重保存起来,有了新数据直接使用权重带入进行计算,最后得出判别结果。这只是顺带提了一句,让读着有个大概的认识,语言并不是很严谨,如果读着想了解更多,请寻找相关的专业介绍生成和判别模型的文章。

举例1

这里使用了《统计学习方法-李航》里的例子。 历史数据为

x是二维向量,第一维度可取值(1,2,3),第二维度可取值(S,M,L),y可取值(-1,1)。目前有一个新数据x(2,S),使用朴素贝叶斯算法确定y的取值。 解: 目标是比较在数据x(2,S)下,不同y值的条件概率,也就是求P(y=1|x=(2,S))和P(y=-1|x=(2,S))的大小。

由此公式可知,分母相同,只需要对比分子的大小。

注意: P(x1=2|y=1)=3/9数错了,不好意思。图片不方便改,望知悉。

所以y的取值是-1

原始朴素贝叶斯公式的问题

大家在解例子的时候有没有发现一个问题,假如

标红框的连乘中有一项为0,也就是说在y取值为Cn的条件下,ai的值没有出现过,所以P(x=X|y=Cn)=0,也就是说y取Cn的可能性为0,与实际不符。很明显这种情况产生了严重的偏差。 为了纠正这种情况产生的偏差,对等式右边的概率计算进行了改进

  1. 先验概率改进计算公式:

式中λ>=0,K是y可取值的总数。当λ=0时,和原来的公式一样,当λ=1时称为拉普拉斯平滑(这个名词的背后历史就不提了,λ尝取的值就是1)。 不难看出有如下规律

说明Pλ也是一种概率分布,既解决了某些值概率可能为0的问题,又基本符合原来的概率分布。 2. 条件概率改进计算公式

同样的,λ>=0,Sj表示x第j个维度可取值的总数。同样的对于Pλ(xj=aj|y=Cn)也是一种概率分布,近似代表着改进之前的概率分布。 有了改进后的先验概率和条件概率的公式,便可以解决了单一条件概率为0时,判断不准确的问题。

举例2

对于例子1,使用拉普拉斯平滑后的概率计算公式来预测。我把题目复制一下,虽然看着累赘,省的回去一直翻着看。 历史数据为

x是二维向量,第一维度可取值(1,2,3),第二维度可取值(S,M,L),y可取值(-1,1)。目前有一个新数据x(2,S),使用朴素贝叶斯算法确定y的取值。 解:

因此可以看出y=-1的概率更大,因此预测结果为-1。这个结果与例子1的结果相同。 本文主要参考了《统计学习方法》这本书,只希望把学习结果能分享给对的人,总结的内容比较浅显简单。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/215536.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
朴素贝叶斯算法文本分类原理
贝叶斯方法把计算“具有某特征的条件下属于某类”的概率转换成需要计算“属于某类的条件下具有某特征”的概率,属于有监督学习。
code4it
2018/09/17
1.6K0
【机器学习】朴素贝叶斯算法
链接:https://cloud.tencent.com/developer/article/2472727
摆烂小白敲代码
2024/11/24
5190
【机器学习】朴素贝叶斯算法
数据挖掘面试题之:朴素贝叶斯
关于作者:DD-Kylin,一名喜欢编程与机器学习的统计学学生,勤学好问,乐于钻研,期待跟大家多多探讨机器学习的相关内容~
木东居士
2019/07/30
3K0
图解机器学习 | 朴素贝叶斯算法详解
教程地址:http://www.showmeai.tech/tutorials/34
ShowMeAI
2022/03/10
2.8K0
图解机器学习 | 朴素贝叶斯算法详解
机器学习算法--朴素贝叶斯(Naive Bayes)
朴素贝叶斯算法(Naive Bayes, NB) 是应用最为广泛的分类算法之一。它是基于贝叶斯定义和特征条件独立假设的分类器方法。NB模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。当年的垃圾邮件分类都是基于朴素贝叶斯分类器识别的。
@小森
2024/03/15
3110
机器学习算法--朴素贝叶斯(Naive Bayes)
朴素贝叶斯算法详解(1)
1. 引言   朴素贝叶斯算法(Naive Bayes)是机器学习中常见的基本算法之一,主要用来做分类任务的。它是基于贝叶斯定理与条件独立性假设的分类方法。对于给定的训练数据集,首先基于特征条件独立性假设学习输入/输出的联合概率分布,然后基于此模型,对于给定的输入 x 利用贝叶斯定理求出后验概率最大的输出 y。   基于以上的解释,我们知道:1. 该算法的理论核心是贝叶斯定理;2. 它是基于条件独立性假设这个强假设之下的,这也是该算法为什么称为“朴素”的原因。 本文将从以下几个角度去详细解释朴素贝
机器学习算法工程师
2018/03/06
7960
AI -朴素贝叶斯
朴素贝叶斯是一种基于概率论和统计学的分类算法,它的核心是贝叶斯定理和特征条件独立假设。
@小森
2024/03/24
1190
朴素贝叶斯算法的推导与实践
但是,有时我们无法非常明确地得到分类,例如当数据量非常大时,计算每个样本与预测样本之间的距离或是构建决策树都会因为运算量过大而力不从心。
用户3147702
2022/06/27
3130
朴素贝叶斯算法的推导与实践
译文 朴素贝叶斯算法总结
在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树,KNN,逻辑回归,支持向量机等,他们都是判别方法,也就是直接学习出特征输出Y和特征X之间的关系,要么是决策函数Y=f(X),要么是条件分布P(Y|X)。但是朴素贝叶斯却是生成方法,也就是直接找出特征输出Y和特征X的联合分布P(X,Y),然后用P(Y|X) = P(X,Y)/P(X)得出。 朴素贝叶斯很直观,计算量也不大,在很多领域有广泛的应用,这里我们就对朴素贝叶斯算法原理做一个小结。 1. 朴素贝叶斯
云时之间
2018/04/11
5120
机器学习(14)——朴素贝叶斯算法思想:基于概率的预测贝叶斯公式朴素贝叶斯算法示例:文本数据分类
前言:在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树,KNN,逻辑回归,支持向量机等,他们都是判别方法,也就是直接学习出特征输出Y和特征X之间的关系,要么是决策函数Y=f(X)要么是条件分布P(Y|X)。但是朴素贝叶斯却是生成方法,也就是直接找出特征输出Y和特征X的联合分布然后用P(Y|X)=P(X,Y)/P(X)得出。 朴素贝叶斯很直观,计算量也不大,在很多领域有广泛的应用, 算法思想:基于概率的预测 逻辑回归通过拟合曲线(或者学习超平面)实现分类
DC童生
2018/04/27
14.1K0
机器学习(14)——朴素贝叶斯算法思想:基于概率的预测贝叶斯公式朴素贝叶斯算法示例:文本数据分类
NLP系列学习:生成型模型和判别型模型
在学习机器学习的过程中我们总会遇见一些模型,而其中的一些模型其实可以归类于生成模型或者是判别模型中去,而这一篇文章我将会简单的概述下我最近所遇到的一些模型,并且按照自己的理解去记录下来,其中肯定会有差
云时之间
2018/04/11
8200
NLP系列学习:生成型模型和判别型模型
太赞了!机器学习基础核心算法:贝叶斯分类!(附西瓜书案例及代码实现)
寄语:首先,简单介绍了生成模型和判别模型,对条件概率、先验概率和后验概率进行了总结;其次,对朴素贝叶斯的原理及公式推导做了详细解读;再次,对三种可能遇到的问题进行了解析,给出了合理的解决办法;最后,对朴素贝叶斯的sklearn参数和代码进行了详解。
Datawhale
2020/05/16
2.3K0
朴素贝叶斯详解
总第78篇 一、统计知识 01|随机事件: 1、概念 随机事件是在随机试验中,可能出现也可能不出现,而在大量重复试验中具有某种规律性的事件叫做随机事件(简称事件)。随机事件通常用大写英文字母A、B、C等表示。随机试验中的每一个可能出现的试验结果称为这个试验的一个样本点,记作ωi。全体样本点组成的集合称为这个试验的样本空间,记作Ω.即Ω={ω1,ω2,…,ωn,…} 随机事件中的事件形式可能由各种形式,比如{"正面","反面"},{"优","良","差"}。 2、条件概率 P(A|B)=P(AB)/P(B
张俊红
2018/04/11
9590
朴素贝叶斯详解
朴素贝叶斯算法
        朴素贝叶斯算法是流行的十大算法之一,该算法是有监督的学习算法,解决的是分类问题,如客户是否流失、是否值得投资、信用等级评定等多分类问题。该算法的优点在于简单易懂、学习效率高、在某些领域的分类问题中能够与决策树、神经网络相媲美。但由于该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提,就会导致算法精度在某种程度上受影响。
Flaneur
2020/03/25
7700
A.机器学习入门算法(二): 朴素贝叶斯(Naive Bayes)
朴素贝叶斯算法(Naive Bayes, NB) 是应用最为广泛的分类算法之一。它是基于贝叶斯定义和特征条件独立假设的分类器方法。由于朴素贝叶斯法基于贝叶斯公式计算得到,有着坚实的数学基础,以及稳定的分类效率。NB模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。当年的垃圾邮件分类都是基于朴素贝叶斯分类器识别的。
汀丶人工智能
2023/03/22
8380
A.机器学习入门算法(二): 朴素贝叶斯(Naive Bayes)
朴素贝叶斯“朴素”在哪里?
上面这张图可以清楚地解释二者的差别。前面我们讲到,所谓的机器学习模型,本质上是一个函数,其作用是实现从一个样本 到样本的标记值 的映射,即 ,或者求得标签的条件概率:
Cyril-KI
2022/07/29
7220
朴素贝叶斯“朴素”在哪里?
判别模型、生成模型与朴素贝叶斯方法
1、判别模型与生成模型 回归模型其实是判别模型,也就是根据特征值来求结果的概率。形式化表示为 ,在参数 确定的情况下,求解条件概率 。通俗的解释为在给定特征后预测结果出现的概率。 比如说要确定一
机器学习AI算法工程
2018/03/12
1.3K0
判别模型、生成模型与朴素贝叶斯方法
机器学习 | 朴素贝叶斯理论
朴素贝叶斯法是一种直接衡量标签和特征之间的概率关系的有监督学习算法,是一种专注分类的算法。
数据STUDIO
2021/06/24
5470
朴素贝叶斯深度解码:从原理到深度学习应用
朴素贝叶斯(Naive Bayes)是一种基于贝叶斯定理的分类技术,具有实现简单、易于理解、且在多种应用场景中表现优秀的特点。本节旨在介绍贝叶斯定理的基本历史和重要性,以及朴素贝叶斯分类器的应用场景。
TechLead
2023/10/21
1.1K0
朴素贝叶斯深度解码:从原理到深度学习应用
朴素贝叶斯原理
朴素贝叶斯算法(Naive Bayes, NB) 是应用最为广泛的分类算法之一。它是基于贝叶斯定义和特征条件独立假设的分类器方法。由于朴素贝叶斯法基于贝叶斯公式计算得到,有着坚实的数学基础,以及稳定的分类效率。NB模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。
@小森
2024/03/15
1280
朴素贝叶斯原理
推荐阅读
相关推荐
朴素贝叶斯算法文本分类原理
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文