Naive Bayes Classifier
Table of Contents
1. 朴素贝叶斯分类器简介
朴素贝叶斯分类器(Naive Bayes classifier)是一种基于贝叶斯定理的常用分类方法,它的实现比较简单。
参考:
统计学习方法,李航,第四章
1.1. 贝叶斯定理(贝叶斯公式)
设
上式中,
2. 朴素贝叶斯分类器
朴素贝叶斯分类器的思想很简单: 将实例分到后验概率最大的类中。
朴素贝叶斯分类的正式描述如下:
假设有
假设给定的待分类数据为:
朴素贝叶斯分类器采用的方法是先计算下面所有条件概率(后验概率):
然后,把待分类数据
上式就是朴素贝叶斯分类器的决策函数的原始形式,后文将对它进行化简。
2.1. 求解决策函数(用“特征条件独立”的假设来简化计算)
如何求
由贝叶斯公式有:
剩下
上面这个假设是比较强的假设(所以认为它是朴素的,称为朴素贝叶斯分类器),这可能会牺牲分类的准确性,但它大大简化了计算。
所以,朴素贝叶斯分类器的决策函数可以写为:
2.2. 简单实例
这个例子摘自:统计学习方法,李航,第四章
有表 1 所示训练数据。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | |
S | M | M | S | S | S | M | M | L | L | L | M | M | L | L | |
-1 | -1 | 1 | 1 | -1 | -1 | -1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | -1 |
其中,
解:
我们直接按照公式
对于给定的数据
由于
说明:这个例子不太好,没有指定例子的真实生活背景,且待分类的数据存在于训练数据中;但它很简单,足够说明朴素贝叶斯分类器的基本原理。
3. 处理“特征连续”的情况
前面的例子中,由于特征都是离散值,可以方便地从训练数据中计算出相应的概率。但如果特征是连续值时,怎么办呢?
有两种常用技巧,一是把连续值划分为几个区间,计算区间的概率,从而离散化连续值;另一种技巧是假设是这些连续数值为正态分布,通过样本计算出均值和方差,从而得到正态分布的密度函数,把值代入密度函数从而可以算出某一点的密度函数的值。
训练数据集大时,采用计算区间的概率,从而离散化连续值的技巧更好,因为它可以体现训练数据的分布;当样本很小时,可以采用假设是这些连续数值为正态分布的技巧。
下面通过两个实例分别演示这些技巧。
3.1. 实例:检测“社交网站不真实账号”
这个例子摘自:算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
我们选取下面三个特征属性来判断社交网站的账号是否真实:
运维人员曾经人工检测过的 10000 个账号作为训练样本,得到该站 10000 个账号中有 8900 个为真实账号(记为
对于
从 10000 个样本中,运维人员统计得到每个类别条件下各个特征属性划分的频率:
现在有一个账号的这三个属性为:
由于
3.2. 实例:预测性别
假设有表 2 所示的统计数据。
性别 | 身高(英尺) | 体重(磅) | 脚掌(英寸) |
---|---|---|---|
男 | 6 | 180 | 12 |
男 | 5.92 | 190 | 11 |
男 | 5.58 | 170 | 12 |
男 | 5.92 | 165 | 10 |
女 | 5 | 100 | 6 |
女 | 5.5 | 150 | 8 |
女 | 5.42 | 130 | 7 |
女 | 5.75 | 150 | 9 |
已知某人身高 6 英尺、体重 130 磅,脚掌 8 英寸,请问该人是男还是女?
身高、体重、脚掌都是连续变量,不能采用离散变量的方法计算概率。而且由于样本太少,所以也无法分成区间计算。怎么办?
这时,可以假设男性和女性的身高、体重、脚掌都是正态分布,通过样本计算出均值和方差,也就是得到正态分布的密度函数。有了密度函数,就可以把值代入,算出某一点的密度函数的值。
我们假设训练集样本的特征满足高斯分布,从训练集可以得到表 3:
性别 | 均值(身高) | 方差(身高) | 均值(体重) | 方差(体重) | 均值(脚的尺寸) | 方差(脚的尺寸) |
---|---|---|---|---|---|---|
男性 | 5.855 | 3.5033e-02 | 176.25 | 1.2292e+02 | 11.25 | 9.1667e-01 |
女性 | 5.4175 | 9.7225e-02 | 132.5 | 5.5833e+02 | 7.5 | 1.6667e+00 |
从表 3 知,男性的身高是均值 5.855、方差 0.035 的正态分布。所以,男性身高为 6 英尺的概率的相对值等于:
说明:大于 1 并没有关系,因为这里是密度函数的值,只用来反映各个值的相对可能性。
类似地,我们可以计算出:
男性体重 130 磅的概率的相对值为
男性脚掌 8 英寸的概率的相对值为
女性身高为 6 英尺的概率的相对值为
女性体重 130 磅的概率的相对值为
女性脚掌 8 英寸的概率的相对值为
可以假设
计算:
由于女性后验概率的分子比较大,所以我们预计这个样本是女性。
4. Laplace 校准
如果当某个类别下某个特征没有出现时,可能会出现概率为 0 的情况,这会令分类器质量大大降低。为了解决这个问题,我们引入 Laplace 校准。
Laplace 校准的思想很简单:就是对每个类别下所有特征的计数加 1,这样如果训练样本集数量充分大时,并不会对结果产生影响(可称为“加一”平滑)。
5. 下一步:贝叶斯信念网络
朴素贝叶斯分类器中假设输入变量都是条件独立的,如果假设它们之间存在概率依存关系,则模型就变成了贝叶斯信念网络(Bayesian network)。