朴素贝叶斯

一、朴素贝叶斯法

1.定义:

朴素贝叶斯法 基于(1)贝叶斯定理和(2)特征条件独立假设的分类方法。

2.具体分类步骤:

     (1)对于给定的训练数据集,学习先验概率P(Y),基于特征条件独立假设学习到条件概率分布P(X|Y),相乘得到联合概率分布P(X,Y).

先验分布:
image.png

条件概率分布:
image.png

这里,假设特征之间是相互独立的事件。
P(X|Y)和P(Y)相乘,得到联合概率分布。

     (2)对于给定的x,根据贝叶斯定理,将实例分配到后验概率最大的类中,即最大的P(y|X)对应的y。
后验概率计算如下:


image.png

由于分母是求和的形式,每个类的分母都等于P(X),故只用比较分子。
所以化简的分类器为:


image.png
3.朴素贝叶斯分类算法:
朴素贝叶斯分类算法
4.如何计算2中的先验概率和条件概率

通常使用极大似然估计或贝叶斯估计。极大似然估计就是传统的频率估计概率,而贝叶斯估计是在前者的基础上加入了拉普拉斯平滑。
(1) 极大似然估计:


极大似然估计

(2)贝叶斯估计

贝叶斯估计

其中,条件概率分母的
{S_j}
是指特征
{X_j}
的取值个数。而先验概率分母的K是指y的类别数。

5.注意点

(1)朴素贝叶斯哪里“朴素”
朴素贝叶斯对条件概率分布做了条件独立(特征独立)的假设,这是个很强的假设,这使得该分类方法变得很简单,所以称为“朴素”。但是会牺牲一定的分类精确度。
(2)生成模型:朴素贝叶斯实际上学习到生成数据的机制,因此属于生成模型。
(3)后验概率最大化等价于 期望的错误风险最小化。
(4)特征每种取值的初始化
       如果其中一个概率值为 0,那么最后的乘积也为 0。为降低这种影响,可以将所有词的出现数初始化为 1,并将分母初始化为 2。
(5)“下溢出”的问题:
这是由于太多很小的数相乘造成的。当计算乘积 p(w0|ci) * p(w1|ci) * p(w2|ci)... p(wn|ci) 时,由于大部分因子都非常小,所以程序会下溢出或者得到不正确的答案。一种解决办法是对乘积取自然对数。在代数中有 ln(a * b) = ln(a) + ln(b), 于是通过求对数可以避免下溢出或者浮点数舍入导致的错误。同时,采用自然对数进行处理不会有任何损失。

6.应用场景:

(1)屏蔽社区留言板的侮辱性言论的句子。
(2)使用朴素贝叶斯过滤垃圾邮件。
(3)使用朴素贝叶斯分类器从个人广告中获取区域倾向。

参考目录:

  1. 机器学习实战:
    https://github.com/apachecn/AiLearning/blob/dev/blog/ml/4.%E6%9C%B4%E7%B4%A0%E8%B4%9D%E5%8F%B6%E6%96%AF.md
  2. 统计学习方法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容