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

作者 刘建平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网络


欢迎关注深度学习自然语言处理公众号,我会每天更新自己在机器学习深度学习NLPlinuxpython以及各种数学知识学习的一点一滴!再小的人也有自己的品牌!期待和你一起进步!

长按识别二维码

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

  1. 斯坦福CS229机器学习笔记-Lecture5 - 生成学习算法+高斯判别GDA+朴素贝叶斯+拉普拉斯平滑

    作者:teeyohuang 邮箱:teeyohuang@163.com 本文系原创,供交流学习使用,转载请注明出处,谢谢 声明:此系列博文根据斯坦福CS229课程,吴恩达主讲 所写,为本人自学笔记,写 ...

  2. 朴素贝叶斯 拉普拉斯平滑(Laplace Smoothing)

    转自:https://blog.csdn.net/qq_25073545/article/details/78621019 拉普拉斯平滑(Laplace Smoothing)又被称为加 1 平滑,是比 ...

  3. 机器学习 —— 基础整理(二)朴素贝叶斯分类器;文本分类的方法杂谈

          上一篇博客复习了贝叶斯决策论,以及生成式模型的参数方法.本篇就给出一个具体的例子:朴素贝叶斯分类器应用于文本分类.后面简单谈了一下文本分类的方法. (五)朴素贝叶斯分类器(NaïveBay ...

  4. 【数据挖掘】拉普拉斯修正 ( 判别模型 | 概率模型 | 贝叶斯分类 | 拉普拉斯修正 | 朴素贝叶斯分类应用场景 | 朴素贝叶斯优缺点 )

    文章目录 I . 判别模型 与 概率模型 II . 贝叶斯分类 III . 拉普拉斯修正 IV . 使用 朴素贝叶斯分类器 + 拉普拉斯修正 为样本分类 ( 完整分类流程 ) V . 朴素贝叶斯分类器 ...

  5. 朴素贝叶斯分类实验(垃圾邮件分类以及垃圾短信过滤数据集)

    文章目录 贝叶斯公式 先验概率 后验概率 贝叶斯定理 朴素贝叶斯分类器 拉普拉斯修正 防溢出策略 实现垃圾邮件分类 实现垃圾短信过滤(SMS数据集) 实验总结 贝叶斯公式 先验概率 P(cj)P(c_ ...

  6. 《机器学习实战》笔记(04):基于概率论的分类方法 - 朴素贝叶斯分类

    基于概率论的分类方法:朴素贝叶斯分类 Naive Bayesian classification 这大节内容源于带你理解朴素贝叶斯分类算法,并非源于<机器学习实战>.个人认为<机器学 ...

  7. spark的朴素贝叶斯分类原理

    1.要理解朴素贝叶斯分类原理就要先了解下什么是贝叶斯公式: P(A|B) = P(B|A)*P(A)/P(B),这个公式就是朴素贝叶斯分类的数学依据 2.spark的朴素贝叶斯分类适用于特征独立性和特 ...

  8. 机器学习之朴素贝叶斯(一):朴素贝叶斯的介绍、概率基础(拉普拉斯平滑)、sklearn朴素贝叶斯实现API、朴素贝叶斯分类的优缺点、文本的特征工程

    朴素贝叶斯 文章目录 朴素贝叶斯 一.介绍 1.1 文本分类的应用 词云的例子 垃圾邮件分类 文章类别的概率 二.概率基础 2.1 概率例题 2.2 联合概率和条件概率 2.3 朴素贝叶斯-贝叶斯公式 ...

  9. 机器学习:贝叶斯分类器,朴素贝叶斯,拉普拉斯平滑

    数学基础: 数学基础是贝叶斯决策论Bayesian DecisionTheory,和传统统计学概率定义不同. 频率学派认为频率是是自然属性,客观存在的. 贝叶斯学派,从观察这出发,事物的客观随机性只是 ...

  10. 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解

    相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...

最新文章

  1. SnowFlake唯一ID生成器
  2. 二次元妹子五官画风都能改,周博磊团队用无监督方法控制GAN | CVPR 2021
  3. C语言学习之企业发放的奖金根据利润提成。利润I低于或等于100000元的,奖金可提成10%;
  4. python求导函数的值_python怎么实现函数求导
  5. net如何判断浏览器的类别
  6. 201521123059 《Java程序设计》第八周学习总结
  7. 利用逆矩阵解线性方程组_线性代数入门——矩阵方程简介及一类基本矩阵方程的解法...
  8. 金税盘怎么安装在电脑上_金税盘处于锁死期不能开票怎么办?
  9. 计算机六级好考吗,计算机六级考什么?
  10. [LeetCode]Reverse Integer
  11. 笔记本无线网卡变身热点供手机Wi-Fi免费通过宽带上网
  12. unity 将虚拟相机的视角局部放大,显示在一个平面上
  13. win10计算机文件坏了,win10电脑电脑注册表文件丢失或损坏0xc0000e9怎么办
  14. 首日回顾:新一代区块链开发平台初步建成 | ArcBlock Devcon 2020
  15. 西安鹏程张建宁老师主讲网络安全
  16. [bzoj2668]交换棋子
  17. Using Sketch with Framer 使用Sketch与Framer Lynda课程中文字幕
  18. Spring Bean到底是什么?有什么用?
  19. 161116、springmvc自己实现防止表单重复提交(基于注解)
  20. 首期寄语 | 阿里游戏云马全治:伟大的改变,从“听说”开始

热门文章

  1. 大龄屌丝自学笔记--Java零基础到菜鸟--006
  2. 用HTML5 Canvas为Web图形创建特效
  3. Sharepoint学习笔记—ECM系列—找不到Content Type Publishing链接
  4. SVN 与CVS 和VSS的区别
  5. 26. The Greenhouse Effect and Its Consequences 温室效应及其后果
  6. JSON Assertion(JSON断言)
  7. 数据库大并发操作要考虑死锁和锁的性能问题
  8. jupyter notebook安装相关问题
  9. 原创:使用脚本获取本机IP地址
  10. 还在繁琐的敲MVP接口和实现类吗,教你一秒搞定。