数学篇 - 朴素贝叶斯(Naive Bayes)分类算法(笔记)
朴素贝叶斯(Naive Bayes)
“用客观的新信息更新我们最初关于某个事物的信念后,我们就会得到一个新的、改进了的信念。” —- 数学家托马斯·贝叶斯(Thomas Bayes,1702~1761)
当你不能准确知悉一个事物的本质时,你可以依靠与事物特定本质相关的事件出现的多少去判断其本质属性的概率。
支持某项属性的事件发生得愈多,则该属性成立的可能性就愈大。
1774年,法国数学家皮埃尔-西蒙·拉普拉斯(Pierre-Simon Laplace,1749-1827)独立地再次发现了贝叶斯公式。
换种写法:
让计算机分辨水果
我们需要将水果的特征转化为计算机所能理解的数据。最常用的方式就是提取现实世界中的对象之属性,并将这些转化为数字。
比如:形状、外皮颜色、斑马纹理、重量、握感、口感。
将这些形容转化成数字,把重量由连续值转化成了离散值,这是因为朴素贝叶斯处理的都是离散值
扩大样本,仅仅 3 个水果还不足以构成朴素贝叶斯分类所需的训练样本
我们如何使用贝叶斯公式
用先验概率和条件概率估计后验概率。
假定数据对象的不同属性对其归类影响时是相互独立的。此时若数据对象 o 中同时出现属性 fi 与 fj,则对象 o 属于类别 c 的概率就是这样
朴素贝叶斯算法是假设各个特征之间相互独立,才可以两边相等,这也是朴素贝叶斯分类有朴素一词的来源
用 10 个水果的数据,来建立朴素贝叶斯模型
平滑(Smoothing)
会出现结果为 0 的情况,因此我们通常取一个比这个数据集里最小统计概率还要小的极小值,来代替“零概率”。比如,我们这里取 0.01。在填充训练数据中从来没有出现过的属性值的时候,我们就会使用这种技巧,我们给这种技巧起个名字就叫作平滑(Smoothing)。
例题:
假设我们有一个新的水果,它的形状是圆形,口感是甜的,那么根据朴素贝叶斯,它属于苹果、甜橙和西瓜的概率分别是多少呢?
apple 表示分类为苹果,shape-2 表示形状属性的值为 2(也就是圆形),taste-2 表示口感属性的值为 2。以此类推,我们还可计算该水果属于甜橙和西瓜的概率。
比较这三个数值,0.00198<0.00798<0.26934,所以计算机可以得出的结论,该水果属于甜橙的可能性是最大的
朴素贝叶斯分类主要包括这几个步骤
准备数据
:针对水果分类这个案例,我们收集了若干水果的实例,并从水果的常见属性入手,将其转化为计算机所能理解的数据。这种数据也被称为训练样本。建立模型
:通过手头上水果的实例,我们让计算机统计每种水果、属性出现的先验概率,以及在某个水果分类下某种属性出现的条件概率。这个过程也被称为基于样本的训练。分类新数据
:对于一颗新水果的属性数据,计算机根据已经建立的模型进行推导计算,得到该水果属于每个分类的概率,实现了分类的目的。这个过程也被称为预测。
朴素贝叶斯分类的优缺点
优点:
算法逻辑简单,易于实现
分类过程中时空开销小
缺点:
理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。