机器学习日记02——朴素贝叶斯01
朴素贝叶斯基础篇
(参考资料:liukn教授机器学习教程,网络课程)
一、 前言
朴素贝叶斯算法是有监督的学习算法,解决的是分类问题,如客户是否流失、是否值得投资、信用等级评定等多分类问题。该算法的优点在于简单易懂、学习效率高、在某些领域的分类问题中能够与决策树、神经网络相媲美。但由于该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提,就会导致算法精度在某种程度上受影响。
本篇文章将从朴素贝叶斯推断原理开始讲起,通过实例进行辅助讲解。最后,使用 Python3 编程实现一个简单的言论过滤器。如果对于代码理解不够的,可以结合本文,观看由南京航空航天大学硕士:深度眸,为大家免费录制的视频:
(1) 概率论与数理统计精讲视频:http://pan.baidu.com/s/1qXRM5u0 密码:aio9
(2)朴素贝叶斯视频:http://pan.baidu.com/s/1kUJjoCv 密码:b2wr
(3)视频交流群:ML 与 DL 视频分享群(678455658),欢迎提出宝贵意见。
二、朴素贝叶斯理论
朴素贝叶斯是贝叶斯决策理论的一部分,所以在讲述朴素贝叶斯之前有必要快速了解一下贝叶斯决策理论。
1. 贝叶斯决策理论
假设现在我们有一个数据集,它由两类数据组成,数据分布如下图所示:
我们现在用 p1(x,y)表示数据点(x,y)属于类别 1(图中红色圆点表示的类别)的概率,用 p2(x,y)表示数据点(x,y)属于类别 2(图中蓝色三角形表示的类别)的概率,那么对于一个新数据点(x,y),可以用下面的规则来判断它的类别:
1.如果 p1(x,y) > p2(x,y),那么类别为 1
2. 如果 p1(x,y) < p2(x,y),那么类别为 2
也就是说,我们会选择高概率对应的类别。这就是贝叶斯决策理论的核心思想,即选择具有最高概率的决策。已经了解了贝叶斯决策理论的核心思想,那么接下来,就是学习如何计算 p1 和 p2 概率。
2.条件概率
在学习计算 p1 和 p2 概率之前,我们需要了解什么是条件概率(Condittional probability),就是指在事件 B 发生的情况下,事件 A 发生的概率,用 P(A|B)来表示。
根据文氏图,可以很清楚地看到在事件 B 发生的情况下,事件 A 发生的概率就是 P(A∩B)除以 P(B)。
因此,
同理可得,
所以,