通俗易懂理解朴素贝叶斯分类的拉普拉斯平滑
已获 深度学习这件小事 授权
作者 刘建平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正则表达式
这些神经网络调参细节,你都了解了吗
谈谈我在自然语言处理入门的一些个人拙见
大数定律和中心极限定理的区别和联系
深度学习之卷积神经网络CNN理论与实践详解
深度学习之RNN、LSTM及正向反向传播原理
TreeLSTM Sentiment Classification
基于attention的seq2seq机器翻译实践详解
【干货】基于注意力机制的seq2seq网络
欢迎关注深度学习自然语言处理公众号,我会每天更新自己在机器学习,深度学习,NLP,linux,python以及各种数学知识学习的一点一滴!再小的人也有自己的品牌!期待和你一起进步!
长按识别二维码
通俗易懂理解朴素贝叶斯分类的拉普拉斯平滑相关推荐
- 斯坦福CS229机器学习笔记-Lecture5 - 生成学习算法+高斯判别GDA+朴素贝叶斯+拉普拉斯平滑
作者:teeyohuang 邮箱:teeyohuang@163.com 本文系原创,供交流学习使用,转载请注明出处,谢谢 声明:此系列博文根据斯坦福CS229课程,吴恩达主讲 所写,为本人自学笔记,写 ...
- 朴素贝叶斯 拉普拉斯平滑(Laplace Smoothing)
转自:https://blog.csdn.net/qq_25073545/article/details/78621019 拉普拉斯平滑(Laplace Smoothing)又被称为加 1 平滑,是比 ...
- 机器学习 —— 基础整理(二)朴素贝叶斯分类器;文本分类的方法杂谈
上一篇博客复习了贝叶斯决策论,以及生成式模型的参数方法.本篇就给出一个具体的例子:朴素贝叶斯分类器应用于文本分类.后面简单谈了一下文本分类的方法. (五)朴素贝叶斯分类器(NaïveBay ...
- 【数据挖掘】拉普拉斯修正 ( 判别模型 | 概率模型 | 贝叶斯分类 | 拉普拉斯修正 | 朴素贝叶斯分类应用场景 | 朴素贝叶斯优缺点 )
文章目录 I . 判别模型 与 概率模型 II . 贝叶斯分类 III . 拉普拉斯修正 IV . 使用 朴素贝叶斯分类器 + 拉普拉斯修正 为样本分类 ( 完整分类流程 ) V . 朴素贝叶斯分类器 ...
- 朴素贝叶斯分类实验(垃圾邮件分类以及垃圾短信过滤数据集)
文章目录 贝叶斯公式 先验概率 后验概率 贝叶斯定理 朴素贝叶斯分类器 拉普拉斯修正 防溢出策略 实现垃圾邮件分类 实现垃圾短信过滤(SMS数据集) 实验总结 贝叶斯公式 先验概率 P(cj)P(c_ ...
- 《机器学习实战》笔记(04):基于概率论的分类方法 - 朴素贝叶斯分类
基于概率论的分类方法:朴素贝叶斯分类 Naive Bayesian classification 这大节内容源于带你理解朴素贝叶斯分类算法,并非源于<机器学习实战>.个人认为<机器学 ...
- spark的朴素贝叶斯分类原理
1.要理解朴素贝叶斯分类原理就要先了解下什么是贝叶斯公式: P(A|B) = P(B|A)*P(A)/P(B),这个公式就是朴素贝叶斯分类的数学依据 2.spark的朴素贝叶斯分类适用于特征独立性和特 ...
- 机器学习之朴素贝叶斯(一):朴素贝叶斯的介绍、概率基础(拉普拉斯平滑)、sklearn朴素贝叶斯实现API、朴素贝叶斯分类的优缺点、文本的特征工程
朴素贝叶斯 文章目录 朴素贝叶斯 一.介绍 1.1 文本分类的应用 词云的例子 垃圾邮件分类 文章类别的概率 二.概率基础 2.1 概率例题 2.2 联合概率和条件概率 2.3 朴素贝叶斯-贝叶斯公式 ...
- 机器学习:贝叶斯分类器,朴素贝叶斯,拉普拉斯平滑
数学基础: 数学基础是贝叶斯决策论Bayesian DecisionTheory,和传统统计学概率定义不同. 频率学派认为频率是是自然属性,客观存在的. 贝叶斯学派,从观察这出发,事物的客观随机性只是 ...
- 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解
相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...
最新文章
- SnowFlake唯一ID生成器
- 二次元妹子五官画风都能改,周博磊团队用无监督方法控制GAN | CVPR 2021
- C语言学习之企业发放的奖金根据利润提成。利润I低于或等于100000元的,奖金可提成10%;
- python求导函数的值_python怎么实现函数求导
- net如何判断浏览器的类别
- 201521123059 《Java程序设计》第八周学习总结
- 利用逆矩阵解线性方程组_线性代数入门——矩阵方程简介及一类基本矩阵方程的解法...
- 金税盘怎么安装在电脑上_金税盘处于锁死期不能开票怎么办?
- 计算机六级好考吗,计算机六级考什么?
- [LeetCode]Reverse Integer
- 笔记本无线网卡变身热点供手机Wi-Fi免费通过宽带上网
- unity 将虚拟相机的视角局部放大,显示在一个平面上
- win10计算机文件坏了,win10电脑电脑注册表文件丢失或损坏0xc0000e9怎么办
- 首日回顾:新一代区块链开发平台初步建成 | ArcBlock Devcon 2020
- 西安鹏程张建宁老师主讲网络安全
- [bzoj2668]交换棋子
- Using Sketch with Framer 使用Sketch与Framer Lynda课程中文字幕
- Spring Bean到底是什么?有什么用?
- 161116、springmvc自己实现防止表单重复提交(基于注解)
- 首期寄语 | 阿里游戏云马全治:伟大的改变,从“听说”开始