一、朴素贝叶斯方法介绍

朴素贝叶斯方法是一种基于概率的分类方法。其基本思想是:对于一个以若干特征表示的分类样本,依次计算样本属于每个类别的概率,其中所属概率最大的类别作为分类结果输出。

二、贝叶斯方法

2.1 符号约定

贝叶斯方法确定类别即求满足max[P(yix)]max[P(y_{i}|x)]yiy_i的取值,但是直接计算难度很大,所以引入贝叶斯公式计算该概率:

P(yix)=P(xyi)P(yi)P(x)P(y_{i}|x)=\frac{P(x|y_i)P(y_i)}{P(x)}

因为xx的特征已经给定,所以P(x)P(x)是给定的固定值,那么求P(yix)P(y_{i}|x)最大与P(xyi)P(yi)P(x|y_i)P(y_i)最大等价。又因为P(xyi)P(yi)=P(x,yi)P(x|y_i)P(y_i)=P(x,y_i),即给定xxyiy_i求联合概率的大小,这在思维上是成立的,联合概率越大关联性越强,即判断出xx与某一个yiy_i相匹配。

P(yi)P(y_i)先验概率,这是在给定训练样本下计算得到的。P(xyi)P(x|y_i)的概率计算较为麻烦,因为每一类特征有很多取值,这样我们就面临组合爆炸问题。例如:x=(青年,中发,平底,花色)x=(青年,中发,平底,花色),虽然xx给定,但该特征组合的概率在众多组合之中计算得到是很麻烦的,所以该概率基本不可能获得。

2.2 独立性假设

由前面得知的P(xyi)P(x|y_i)基本不可能得到,因此为了解决该问题,我们引入独立性假设

假设各个特征是独立的,但实际上各特征之间很难做到特征独立:

P(xyi)=P((x1,x2,...,xN)yi)=j=1NP(xjyi)P(x|y_i)=P((x_1,x_2,...,x_N)|y_i)=\prod_{j=1}^{N}{P(x_j|y_i)}

这样就变为在yiy_i情况下每个特征取值概率的累乘,这样就不存在组合,不存在组合爆炸问题,从而简化了问题。

P(akjyi)=类别yi的样本中特征Ak值为akj的样本数标记为类别yi的样本数P(a_{kj}|y_i)=\frac{类别y_i的样本中特征A_k值为a_{kj}的样本数}{标记为类别y_i的样本数}

三、朴素贝叶斯方法

引入独立性假设后的贝叶斯方法称作朴素贝叶斯方法:

P(xyi)=j=1NP(xjyi)P(yi)P(x|y_i)=\prod_{j=1}^{N}{P(x_j|y_i)·P(y_i)}

这消除了特征取值的组合爆炸问题。

3.1 平滑

在实际问题中,因样本不足可能存在概率为零的问题,这样累乘结果为零,朴素贝叶斯方法再利用概率不能进行比较,因此平滑。

平滑的办法有很多种,这里教授介绍的是拉普拉斯平滑

  • 假设每一种情况都至少出现一次,相当于样本数量增加了SkS_k

P(akjyi)=类别yi的样本中特征Ak值为akj的样本数+1标记为类别yi的样本数+特征Ak的可能取值数SkP(a_{kj}|y_i)=\frac{类别y_i的样本中特征A_k值为a_{kj}的样本数+1}{标记为类别y_i的样本数+特征A_k的可能取值数S_k}

P(yi)=属于类别yi的样本数+1总样本数+类别数KP(y_i)=\frac{属于类别y_i的样本数+1}{总样本数+类别数K}

其中SkS_k表示特征AkA_k的肯能取值,例如:年龄AkA_kSkS_k为3,即:青年,中年,老年。KK表示类别数,例如:K=2K=2,即:男性,女性。

3.2 对数形式

因为实际问题中样本特征取值极其多,因此朴素贝叶斯方法中的累乘常取对数变为累加,这样避免了累乘情况下概率极其小的情况,方便比较运算。