当前位置:网站首页>通俗易懂理解朴素贝叶斯分类的拉普拉斯平滑
通俗易懂理解朴素贝叶斯分类的拉普拉斯平滑
2022-06-27 09:37:00 【小白学视觉】
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
这个男生的四个特征是长相不帅,性格不好,身高矮,不上进,我们最终得出的结论是女生不嫁!很多人说这是一道送分题,哈哈哈哈。我们用数学算法也说明了不靠谱是取不到老婆滴!
那么我们再来一个例子,假如此时另外一对情侣,这对情侣中,男生的四个特征是,长相帅,性格爆好,身高高,上进,那么他的女朋友嫁还是不嫁呢?可能又会有小伙伴说这是一道送分题,是不是,我们下面用事实说话!
下面通过例子来引出拉普拉斯平滑过程!
从例子开始
还是下面的训练数据:
四个特征集合分别长相{帅,不帅}、性格{爆好,好,不好}、身高{高,中,矮}、上进与否{上进,不上进}
我们此时要求出该男生在四个特征分别是长相帅,性格爆好,身高高,上进的情况下,他对应的嫁与不嫁的概率谁大谁小,从而得出结论!
也就是要比较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
于是我们可以大胆的告诉女生,这样的好男人,贝叶斯告诉你了,该嫁!!!
这就是我们使用拉普拉斯平滑后计算的整个算法过程!
希望对大家的理解有帮助~欢迎大家指错交流!
好消息!
小白学视觉知识星球
开始面向外开放啦
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
边栏推荐
- 一次线上移动端报表网络连接失败问题定位与解决
- Understand neural network structure and optimization methods
- 多個類的設計
- This, constructor, static, and inter call must be understood!
- 手把手带你玩摄像头模组
- 6月23日《Rust唠嗑室》第三期B站视频地址
- Use aspese Cells convert Excel to PDF
- The markdown plug-in of the browser cannot display the picture
- Google browser chropath plug-in
- JS 客户端存储
猜你喜欢
The markdown plug-in of the browser cannot display the picture
【生动理解】深度学习中常用的各项评价指标含义TP、FP、TN、FN、IoU、Accuracy
使用aspose-slides将ppt转pdf
Take you to play with the camera module
高等数学第七章微分方程
ucore lab5
【OpenCV 例程200篇】212. 绘制倾斜的矩形
ucore lab4
Obsidian 一周使用心得(配置、主题和插件)
Es update values based on Index Names and index fields
随机推荐
E+H二次表维修PH变送器二次显示仪修理CPM253-MR0005
Parameters argc and argv of main()
Object contains copy method?
Semi-supervised Learning入门学习——Π-Model、Temporal Ensembling、Mean Teacher简介
12个网络工程师必备工具
视频文件太大?使用FFmpeg来无损压缩它
dns备用服务器信息,dns服务器地址(dns首选和备用填多少)
Semi supervised learning—— Π- Introduction to model, temporary assembling and mean teacher
[vivid understanding] the meanings of various evaluation indicators commonly used in deep learning TP, FP, TN, FN, IOU and accuracy
反编译jar包,修改后重新编译为jar包
如何获取GC(垃圾回收器)的STW(暂停)时间?
Improving efficiency or increasing costs, how should developers understand pair programming?
微信小程序学习之五种页面跳转方法.
最全H桥电机驱动模块L298N原理及应用
The markdown plug-in of the browser cannot display the picture
win10为任意文件添加右键菜单
Tdengine invitation: be a superhero who uses technology to change the world and become TD hero
Use aspese slides to convert PPT to PDF
R语言plotly可视化:plotly可视化二维直方图等高线图、在等高线上添加数值标签、自定义标签字体色彩、设置鼠标悬浮显示效果(Styled 2D Histogram Contour)
一次线上移动端报表网络连接失败问题定位与解决