Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >通俗易懂理解朴素贝叶斯分类的拉普拉斯平滑

通俗易懂理解朴素贝叶斯分类的拉普拉斯平滑

作者头像
zenRRan
发布于 2019-11-19 13:13:44
发布于 2019-11-19 13:13:44
2K0
举报

已获 深度学习这件小事 授权

作者 刘建平Pinard

zenRRan略有改动

这个男生的四个特征是长相不帅,性格不好,身高矮,不上进,我们最终得出的结论是女生不嫁!很多人说这是一道送分题,哈哈哈哈。我们用数学算法也说明了不靠谱是取不到老婆滴!

那么我们再来一个例子,假如此时另外一对情侣,这对情侣中,男生的四个特征是,长相帅,性格爆好,身高高,上进,那么他的女朋友嫁还是不嫁呢?可能又会有小伙伴说这是一道送分题,是不是,我们下面用事实说话!

下面通过例子来引出拉普拉斯平滑过程!

从例子开始

还是下面的训练数据:

四个特征集合分别长相{帅,不帅}、性格{爆好,好,不好}、身高{高,中,矮}、上进与否{上进,不上进}

我们此时要求出该男生在四个特征分别是长相帅,性格爆好,身高高,上进的情况下,他对应的嫁与不嫁的概率谁大谁小,从而得出结论!

也就是要比较p(嫁|长相帅,性格爆好,身高高,上进)与p(不嫁|长相帅,性格爆好,身高高,上进)的概率大小。

按照朴素贝叶斯算法公式,我们可以得到如下公式:

由于两者的分母都是p(长相帅)、p(性格爆好)、p(身高高)、p(上进),那么我们可以不算分母,比较的时候只比较俩个公式分子大小即可。

好的,下面我们开始计算,先计算在四个特征的条件下,嫁的概率。

我们需要分别计算p(性格爆好|嫁)、p(长相帅|嫁)、p(身高高|嫁)、p(上进|嫁)

首先我们来算p(性格爆好|嫁)=?我们观察训练数据,发现如下:

居然没有一个数据有爆好这个特点的,那么p(性格爆好|嫁) = 0,那么我们可以看出问题了,根据公式:

我们最后的p(嫁|长相帅、性格爆好、身高高、上进)由于一项p(性格爆好|嫁)为0,而造成整个概率为0,这显然是错误的。

而这个错误的造成是由于训练量不足,会令分类器质量大大降低。为了解决这个问题,我们引入Laplace校准(这就引出了我们的拉普拉斯平滑),它的思想非常简单,就是对每个类别下所有划分的计数加1,这样如果训练样本集数量充分大时,并不会对结果产生影响,并且解决了上述频率为0的尴尬局面。

引入拉普拉斯平滑的公式如下:

其中ajl,代表第j个特征的第l个选择,Sj代表第j个特征的个数,K代表种类的个数。

λ为1,这也很好理解,加入拉普拉斯平滑之后,避免了出现概率为0的情况,又保证了每个值都在0到1的范围内,又保证了最终和为1的概率性质!

我们可以通过下面例子更加深刻的理解这个公式:(现在我们是加入拉普拉斯平滑)

加入拉普拉斯平滑

我们先需要分别计算p(性格爆好|嫁)、p(长相帅|嫁)、p(身高高|嫁)、p(上进|嫁),p(嫁)

p(性格爆好|嫁)=?统计满足要求的如下面红色部分

没有一个满足是性格爆好的条件,但是此时概率不为0,按照加入拉普拉斯平滑后的公式,性格特征的个数为爆好,好,不好,三种情况,那么Sj为3,则最终概率为1/9 (嫁的个数为6+特征个数为3)

p(长相帅|嫁)=?统计满足条件的如下面红色部分:

由上图可知满足要求的为3个,按照加入拉普拉斯平滑后的公式,长相特征的个数为帅,不帅,两种情况,那么Sj为2,则最终概率p(长相帅|嫁)为4/8 (嫁的个数为6+特征个数为2)

p(身高高|嫁) = ?统计满足条件的如下面红色部分:

由上图可知满足要求的为3个,按照加入拉普拉斯平滑后的公式,身高特征的个数为高,中,矮情况,那么Sj为3,则最终概率p(身高高|嫁)为4/9 (嫁的个数为6+特征个数为3)

p(上进|嫁)=?统计满足要求的如下面红色部分:

由上图可知满足要求的为5个,按照加入拉普拉斯平滑后的公式,上进特征的个数为上进,不上进情况,那么Sj为2,则最终概率p(上进|嫁)为6/8 (嫁的个数为6+特征个数为2)

p(嫁) = ?满足要求的如下红色标注:

由上图可知满足要求的为6个,按照加入拉普拉斯平滑后的公式,种类的个数为嫁,不嫁情况,那么K为2,则最终概率p(嫁)为7/14 = 1/2 (嫁的个数为6+种类个数为2)

到这里为止,我们已经算出了在该男生条件下,嫁的概率为:

p(嫁|长相帅、性格爆好、身高高、上进) = 1/9*4/8*4/9*6/8*1/2

下面我们需要算出p(不嫁|长相帅、性格爆好、身高高、上进)的概率,然后与上面的数值进行比较即可,算法与上面完全一模一样!这里也走一遍。

我们需要估计出p(长相帅|不嫁)、p(性格爆好|不嫁)、p(身高高|不嫁)、p(上进|不嫁),p(不嫁)的概率分别为多少。

p(长相帅|不嫁)=?满足要求如下面红色标注:

由上图可知满足要求的为5个,按照加入拉普拉斯平滑后的公式,长相帅特征的个数为不帅,帅情况,那么Sj为2,则最终概率p(长相不帅|不嫁)为6/8 (不嫁的个数为6+特征个数为2)

p(性格爆好|不嫁)=?满足要求如下面红色标注:

没有一个满足是性格爆好的条件,但是此时概率不为0,按照加入拉普拉斯平滑后的公式,性格特征的个数为爆好,好,不好,三种情况,那么Sj为3,则最终概率p(性格爆好|不嫁)为1/9 (不嫁的个数为6+特征个数为3)

p(身高高|不嫁)=?满足要求如下面红色标注:

没有一个满足是身高高的条件,但是此时概率不为0,按照加入拉普拉斯平滑后的公式,身高特征的个数为高,中,矮,三种情况,那么Sj为3,则最终概率p(身高高|不嫁)为1/9 (不嫁的个数为6+特征个数为3)

p(上进|不嫁)=?满足要求如下面红色标注:

由上图可知满足要求的为3个,按照加入拉普拉斯平滑后的公式,上进特征的个数为上进,不上进情况,那么Sj为2,则最终概率p(上进|不嫁)为4/8 (不嫁的个数为6+特征个数为2)

p(不嫁)=?满足要求的如红色标注:

由上图可知满足要求的为6个,按照加入拉普拉斯平滑后的公式,种类的个数为嫁,不嫁情况,那么K为2,则最终概率p(不嫁)为7/14 = 1/2 (不嫁的个数为6+种类个数为2)

到这里为止,我们已经算出了在该男生条件下,不嫁的概率为:

p(不嫁|长相帅、性格爆好、身高高、上进) = 5/8*1/9*1/9*3/8*1/2

结论

于是我们可以得到

p(嫁|长相帅、性格爆好、身高高、上进) = 1/9*4/8*4/9*6/8*1/2 > p(不嫁|长相帅、性格爆好、身高高、上进) = 6/8*1/9*1/9*4/8*1/2

于是我们可以大胆的告诉女生,这样的好男人,贝叶斯告诉你了,该嫁!!!

这就是我们使用拉普拉斯平滑后计算的整个算法过程!

希望对大家的理解有帮助~欢迎大家指错交流!

参考:

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

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

推荐阅读:

一大批历史精彩文章啦

【收藏版】长文详解基于并行计算的条件随机场

【珍藏版】长文详解python正则表达式

这些神经网络调参细节,你都了解了吗

谈谈我在自然语言处理入门的一些个人拙见

大数定律和中心极限定理的区别和联系


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习自然语言处理 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一文轻松get朴素贝叶斯算法,以及女朋友
作者 | 忆臻 来源 | 深度学习这件小事 【人工智能头条导读】朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,是经典的机器学习算法之一,处理很多问题时直接又高效,因此在很多领域有着广泛的应用,如垃圾邮件过滤、文本分类等。也是学习研究自然语言处理问题的一个很好的切入口。朴素贝叶斯原理简单,却有着坚实的数学理论基础,对于刚开始学习算法或者数学基础差的同学们来说,还是会遇到一些困难,花费一定的时间。比如小编刚准备学习的时候,看到贝叶斯公式还是有点小害怕的,也不知道自己能不能搞定。至此,人工智能头条特
用户1737318
2018/07/20
5920
轻松带你搞懂朴素贝叶斯分类算法
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。这篇文章我尽可能用直白的话语总结一下我们学习会上讲到的朴素贝叶斯分类算法,希望有利于他人理解。
Python疯子
2018/08/27
5660
利用朴素贝叶斯实现简单的留言过滤
  贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。而我们所想要实现的留言过滤其实是一种分类行为,是通过对于概率的判断,来对样本进行一个归类的过程。
步履不停凡
2019/09/30
8120
利用朴素贝叶斯实现简单的留言过滤
机器学习十大经典算法之朴素贝叶斯分类
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而「朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法」。
墨明棋妙27
2022/09/23
7660
python朴素贝叶斯实现-2
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/78706631
bear_fish
2018/09/14
1K0
python朴素贝叶斯实现-2
这个男人嫁还是不嫁?懂点朴素贝叶斯(Naive Bayes)原理让你更幸福
一、历史背景解读 18世纪英国业余(一点都不业余好吗)数学家托马斯·贝叶斯(Thomas Bayes,1702~1761)提出过一种看似显而易见的观点:“用客观的新信息更新我们最初关于某个事物的信念后,我们就会得到一个新的、改进了的信念。”这个研究成果由于简单显得平淡无奇,直至他死后两年才于1763年由他的朋友理查德·普莱斯帮助发表。 他的数学原理很容易理解,简单说就是,如果你看到一个人总是做一些好事,则会推断那个人多半会是一个好人。这就是说,当你不能准确知悉一个事物的本质时,你可以依靠与事物特定本质相关的
达观数据
2018/06/04
8720
朴素贝叶斯分类:拉普拉斯修正
主要推送关于对算法的思考以及应用的消息。培养思维能力,注重过程,挖掘背后的原理,刨根问底。本着严谨和准确的态度,目标是撰写实用和启发性的文章,欢迎您的关注。 01 — 回顾 昨天的推送介绍了朴素贝叶斯分类的原理及阐述了一个例子,这种方法的预测发现了一个问题:某个样本的属性值并未出现在训练集中,导致尽管要预测的这个苹果看起来很像是好果,但是朴素贝叶斯目标函数的结果仍为0,最终被划分为一般的苹果,有些时候这并不是合理的,那么该如何解决呢? 如下的数据集: #大小颜色形状标签1小 青色非规则否2大红色非规则是3大
double
2018/04/02
3.5K0
朴素贝叶斯分类:拉普拉斯修正
恋爱模型的简单构架
前言: 感谢微信群的各位大牛们和忆臻学长的帮助,让我能够完成这个文章。这个文章的开始是这一段时间看到我周围的小伙伴在跟很多的妹子聊天后总是无疾而终,过程虽然有所不同,但是起点和终点大致相同,联想到以前看过的炮灰模型(前半部分是炮灰模型),所以我想能不能可以用一些统计学的方法去概述这个现象并且发现这其中的规律,以便让广大的男屌丝们找到自己合适的另一半。 众所周知生活中涉及到感情的事情是很复杂的,把所有可能影响的因素都考虑到几乎是不可能的。为此我们先对现实进行简化,并做出一些合理的假设,考虑比较简单的一种情况
云时之间
2018/04/11
1.4K0
恋爱模型的简单构架
贝叶斯网络,看完这篇我终于理解了(附代码)!
概率图模型是用图来表示变量概率依赖关系的理论,结合概率论与图论的知识,利用图来表示与模型有关的变量的联合概率分布。由图灵奖获得者Pearl开发出来。
mantch
2019/07/30
4.7K0
贝叶斯网络,看完这篇我终于理解了(附代码)!
Machine Learning-经典模型之NB
今天梳理一下Naïve Bayes,即朴素贝叶斯。朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBM)。
Sam Gor
2019/08/22
1.2K0
Machine Learning-经典模型之NB
【数据挖掘】拉普拉斯修正 ( 判别模型 | 概率模型 | 贝叶斯分类 | 拉普拉斯修正 | 朴素贝叶斯分类应用场景 | 朴素贝叶斯优缺点 )
, 整体的联合概率是通过乘法法则计算的 , 这样会抹去其它属性的信息 , 即使其它属性的权重很大 , 整体概率也会成为
韩曙亮
2023/03/27
5670
朴素贝叶斯(Naive Bayes)原理+编程实现拉普拉斯修正的朴素贝叶斯分类器
  在概率生成模型(Probabilistic Generative Model)与朴素贝叶斯(Naive Bayes)中大概学习了一下概率生成模型以及朴素贝叶斯,今天在这里再总结一下生成模型与判别模型。
全栈程序员站长
2022/07/23
5490
朴素贝叶斯(Naive Bayes)原理+编程实现拉普拉斯修正的朴素贝叶斯分类器
机器学习 | 朴素贝叶斯理论
朴素贝叶斯法是一种直接衡量标签和特征之间的概率关系的有监督学习算法,是一种专注分类的算法。
数据STUDIO
2021/06/24
5570
《深度揭秘:拉普拉斯平滑在朴素贝叶斯算法中的关键作用与参数选择之道》
在机器学习的世界里,朴素贝叶斯算法凭借其简单高效的特性,在文本分类、情感分析、疾病诊断等诸多领域发挥着重要作用。然而,在实际应用中,朴素贝叶斯算法常常会遇到一个棘手的问题——零概率问题。而拉普拉斯平滑,就像是为解决这个问题量身定制的一把钥匙,今天我们就来深入探讨它在朴素贝叶斯算法中扮演的角色以及平滑参数的选择技巧。
程序员阿伟
2025/02/03
1430
理解图的拉普拉斯矩阵
谱图理论是图论与线性代数相结合的产物,它通过分析图的某些矩阵的特征值与特征向量而研究图的性质。拉普拉斯矩阵是谱图理论中的核心与基本概念,在机器学习与深度学习中有重要的应用。包括但不仅限于:流形学习数据降维算法中的拉普拉斯特征映射、局部保持投影,无监督学习中的谱聚类算法,半监督学习中基于图的算法,以及目前炙手可热的图神经网络等。还有在图像处理、计算机图形学以及其他工程领域应用广泛的图切割问题。理解拉普拉斯矩阵的定义与性质是掌握这些算法的基础。在今天的文章中,我们将系统地介绍拉普拉斯矩阵的来龙去脉。
SIGAI学习与实践平台
2021/04/09
4.7K0
理解图的拉普拉斯矩阵
【数据挖掘】数据挖掘总结 ( 拉普拉斯修正 | 贝叶斯分类器示例2 ) ★
公式中每个元素的含义参考 【数据挖掘】贝叶斯分类 ( 贝叶斯分类器 | 贝叶斯推断 | 逆向概率 | 贝叶斯公式 | 贝叶斯公式推导 | 使用贝叶斯公式求逆向概率 )
韩曙亮
2023/03/28
4600
matlab中表示拉普拉斯分布_拉普拉斯分布的随机数[通俗易懂]
其中 p_{i}> 0 \ (\forall i) \sum_{i=1}^{K}p_{i}=1 ,\(F(x)\)是分布函数。
全栈程序员站长
2022/11/17
1.1K0
朴素贝叶斯完成新闻分类
朴素贝叶斯 朴素指的是"独立" 朴素贝叶斯是分类算法,可以给出每种类别发生的概率 善于计算几个独立事件同时发生的概率(文章分类) 关于独立事件(职业, 体型, 身高 各自独立) 样本编号 职
zhaoolee
2018/04/19
6320
朴素贝叶斯完成新闻分类
EEG/ERP研究中使用头皮表面拉普拉斯算法的问题和考虑
尽管表面拉普拉斯算法可能抵消的容积传导和对表面电位数据记录参考的不利影响,电生理学学科一直不愿采用这种方法进行数据分析。这种顾虑的原因是多方面的,往往涉及到对潜在转换性质的不熟悉、感知到的数学复杂性的威胁,以及对信号损失、密集电极排列需求或噪声敏感性的担忧。我们回顾了容积传导和允许任意选择脑电参考所引起的缺陷,以一种直观的方式描述了表面拉普拉斯变换的基本原理,并举例说明了常见参考模式(鼻子、连接乳突、平均)和用于频繁测量的EEG频谱(theta, alpha)以及标准ERP成分(如N1或P3)的表面拉普拉斯转换之间的差异。我们特别回顾了表面拉普拉斯算法普遍应用中的一些常见的局限,这些局限可以通过适当选择样条弹性参数和正则化常数进行球面样条内插来有效地解决。我们从实用主义的角度认为,这些局限不仅是没有根据的,而且一直使用表面电位对脑电图和ERP研究的进展构成了相当大的障碍。本文发表在International Journal of Psychophysiology杂志。
用户1279583
2022/02/28
1.1K0
EEG/ERP研究中使用头皮表面拉普拉斯算法的问题和考虑
AI -朴素贝叶斯
朴素贝叶斯是一种基于概率论和统计学的分类算法,它的核心是贝叶斯定理和特征条件独立假设。
@小森
2024/03/24
1460
推荐阅读
相关推荐
一文轻松get朴素贝叶斯算法,以及女朋友
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档