1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【机器学习自学笔记4】朴素贝叶斯分类器

【机器学习自学笔记4】朴素贝叶斯分类器

时间:2018-12-02 05:42:47

相关推荐

【机器学习自学笔记4】朴素贝叶斯分类器

title: 【机器学习自学笔记4】朴素贝叶斯分类器

date: -10-29 18:34:29

categories: 机器学习

tags:

机器学习概率论

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。

贝叶斯公式

P(B∣A)=P(AB)P(A)=P(A∣B)P(B)P(A)P(B|A) = \frac{P(AB)}{P(A)} = \frac{P(A|B)P(B)}{P(A)} P(B∣A)=P(A)P(AB)​=P(A)P(A∣B)P(B)​

根据贝叶斯公式,如果已知一个实例的特征,要求该实例属于哪个类别的概率最大,只需要知道该特征在每个类别种的概率即可!

即根据先验概率求解后验概率。

P(类别∣特征)=P(特征∣类型)P(类别)P(特征)P(类别|特征)=\frac{P(特征|类型)P(类别)}{P(特征)} P(类别∣特征)=P(特征)P(特征∣类型)P(类别)​

这就是贝叶斯分类的核心思想

朴素贝叶斯分类

已知数据集

给出问题,如果已知有一个瓜的特征 = {深绿,清脆,不甜},这个瓜是不是好瓜?

这是典型的后验概率问题,可以通过贝叶斯公式转换为对先验概率的求解问题:

P(好瓜∣颜色=深绿,响声=清脆,甜度=不甜)=P(颜色=深绿,响声=清脆,甜度=不甜∣好瓜)P(好瓜)P(颜色=深绿,响声=清脆,甜度=不甜)P(好瓜|颜色=深绿,响声=清脆,甜度=不甜) = \frac{P(颜色=深绿,响声=清脆,甜度=不甜|好瓜)P(好瓜)}{P(颜色=深绿,响声=清脆,甜度=不甜)} P(好瓜∣颜色=深绿,响声=清脆,甜度=不甜)=P(颜色=深绿,响声=清脆,甜度=不甜)P(颜色=深绿,响声=清脆,甜度=不甜∣好瓜)P(好瓜)​

如果数据集的几个特征相互独立,则上述公式可以变换为:

P(好瓜∣颜色=深绿,响声=清脆,甜度=不甜)P(好瓜|颜色=深绿,响声=清脆,甜度=不甜) P(好瓜∣颜色=深绿,响声=清脆,甜度=不甜)

=P(颜色=深绿∣好瓜)P(响声=清脆∣好瓜)P(甜度=不甜∣好瓜)P(好瓜)P(颜色=深绿)P(响声=清脆)P(甜度=不甜)= \frac{P(颜色=深绿|好瓜)P(响声=清脆|好瓜)P(甜度=不甜|好瓜)P(好瓜)}{P(颜色=深绿)P(响声=清脆)P(甜度=不甜)} =P(颜色=深绿)P(响声=清脆)P(甜度=不甜)P(颜色=深绿∣好瓜)P(响声=清脆∣好瓜)P(甜度=不甜∣好瓜)P(好瓜)​

这样一来,问题就变得非常容易求解。

根据数据集求出各个概率:

P(颜色=深绿∣好瓜)=56=0.8333P(颜色=深绿|好瓜) = \frac{5}{6} = 0.8333 P(颜色=深绿∣好瓜)=65​=0.8333

P(响声=清脆∣好瓜)=46=0.6667P(响声=清脆|好瓜)=\frac{4}{6}=0.6667 P(响声=清脆∣好瓜)=64​=0.6667

P(甜度=不甜∣好瓜)=16=0.1667P(甜度=不甜|好瓜) = \frac{1}{6} = 0.1667 P(甜度=不甜∣好瓜)=61​=0.1667

P(好瓜)=69=0.6667P(好瓜) = \frac{6}{9} = 0.6667 P(好瓜)=96​=0.6667

P(颜色=深绿)=59=0.5556P(颜色=深绿) = \frac{5}{9} = 0.5556 P(颜色=深绿)=95​=0.5556

P(响声=清脆)=49=0.4444P(响声=清脆) = \frac{4}{9} = 0.4444 P(响声=清脆)=94​=0.4444

P(甜度=不甜)=49=0.4444P(甜度=不甜) = \frac{4}{9} = 0.4444 P(甜度=不甜)=94​=0.4444

P(好瓜∣颜色=深绿,响声=清脆,甜度=不甜)P(好瓜|颜色=深绿,响声=清脆,甜度=不甜) P(好瓜∣颜色=深绿,响声=清脆,甜度=不甜)

=0.8333⋅0.6667⋅0.1667⋅0.66670.5556⋅0.4444⋅0.4444=0.5627= \frac{0.8333\cdot0.6667\cdot0.1667\cdot0.6667}{0.5556\cdot0.4444\cdot0.4444} = 0.5627 =0.5556⋅0.4444⋅0.44440.8333⋅0.6667⋅0.1667⋅0.6667​=0.5627

同理

P(不是好瓜∣颜色=深绿,响声=清脆,甜度=不甜)=0.4373P(不是好瓜|颜色=深绿,响声=清脆,甜度=不甜) = 0.4373 P(不是好瓜∣颜色=深绿,响声=清脆,甜度=不甜)=0.4373

因此,深绿、清脆、不甜的瓜是好瓜的概率更大。

朴素贝叶斯分类为什么朴素

那么,何为朴素贝叶斯分类中的朴素

注意到,我们上面的计算基于各特征间相互独立的假设,这是一个较强的假设。

朴素一词对应英文中的 naive,即天真,意思是这种想当然的假设是非常天真的,在现实生活中,这种特征相互独立的情况几乎不存在。

之所以要假设特征间相互独立,有两个原因:

减少计算量同时满足各个特征的样本难以寻找甚至不存在,无法保证充足的样本

拉普拉斯修正

朴素贝叶斯分类有一个问题:如果计算中有一个概率出现 0,会导致什么?

答:结果为 0 或无法计算。

这显然不是我们想要的结果!

为了解决这个问题,可以引入拉普拉斯修正对概率进行平滑化处理:

|D|表示数据集的样本个数N 表示数据集结果拥有的类别数NiN_iNi​ 表示该特征拥有的类别数

P^(c)=∣Dc∣+1∣D∣+N\hat{P}(c) = \frac{|D_c|+1}{|D|+N} P^(c)=∣D∣+N∣Dc​∣+1​

P^(xi∣c)=∣Dc,xi∣+1∣Dc∣+Ni\hat{P}(x_i|c) = \frac{|D_{c,x_i}|+1}{|D_c|+N_i} P^(xi​∣c)=∣Dc​∣+Ni​∣Dc,xi​​∣+1​

已知数据集

此时

P(颜色=深绿∣不是好瓜)=03=0P(颜色=深绿|不是好瓜) = \frac{0}{3} = 0 P(颜色=深绿∣不是好瓜)=30​=0

这将导致分类计算结果为 0. 进行拉普拉斯修正

P^(颜色=深绿∣不是好瓜)=0+13+3=16\hat{P}(颜色=深绿|不是好瓜) = \frac{0 + 1}{3+3} = \frac{1}{6} P^(颜色=深绿∣不是好瓜)=3+30+1​=61​

这种平滑化处理就避免了分类结果为 0 的情况。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。