Naive Bayes分类器
Naive Bayes 分类器
贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,而且方法简单、分类准确率高、速度快。
但由于对数据特征条件独立的强假设,所以如果数据集不符合这种假设,准确率可能会较低。
Bayes决策论
假设有$N$种可能的类别标记,即$\mathcal{Y}={c_1,c_2,\ldots,c_N};$
$\lambda_{ij}$是将一个真实标记为$c_j$的样本误分类为$c_i$所产生的损失.
基于后验概率$P(c_i\mid\boldsymbol{x})$可获得将样本$\boldsymbol x$分类为$c_i$所产生的期望损失;
即在样本$\boldsymbol x$上的“条件风险”(conditional risk)
$$
R(c_i\mid\boldsymbol{x})=\sum_{j=1}^N\lambda_{ij}P(c_j\mid\boldsymbol{x})
$$
我们的任务是寻找一个判定准则$h:\mathcal{X}\mapsto\mathcal{Y}$以最小化总体风险
$$
R\left(h\right)=\mathbb{E}{\boldsymbol{x}}\left[R\left(h\left(\boldsymbol{x}\right)\mid\boldsymbol{x}\right)\right]
$$
对每个样本$\boldsymbol x$,若$h$能最小化条件风险$R(h(\boldsymbol{x})\mid\boldsymbol{x})$,则总体风险$R(h)$也将被最小化.
$$
h^*(\boldsymbol{x})=\arg\min{c\in\mathcal{Y}}R(c\mid\boldsymbol{x})
$$
若目标是最小化分类器错误率,则误判损失表示为$$\left.\lambda_{ij}=\left{\begin{array}{ll}0,&\mathrm{if~}i=j:;\1,&\mathrm{otherwise},\end{array}\right.\right.$$
此时条件风险 $R( c\mid \boldsymbol{x}) = 1- P( c\mid \boldsymbol{x})$ ,
于是,最小化分类错误率的贝叶斯最优分类器为
$$
h^(\boldsymbol{x})=\underset{c\in\mathcal{Y}}{\operatorname{\arg\max}}P(c\mid\boldsymbol{x})
$$
即对每个样本$x$,选择能使后验概率$P(c\mid\boldsymbol{x})$最大的类别标记.
属性条件独立假设
假设有$d$维属性数目,$x=(x_1,x_2,…,x_d)$
$$
P(c\mid\boldsymbol{x})=\frac{P(c) P(\boldsymbol{x}\mid c)}{P(\boldsymbol{x})}=\frac{P(c)}{P(\boldsymbol{x})}\prod_{i=1}^dP(x_i\mid c)
$$
由极大似然估计可知,贝叶斯判定准则如下:
$$
h_{nb}(\boldsymbol{x})=\arg\max_{c\in\mathcal{Y}}P(c)\prod_{i=1}^dP(x_i\mid c)
$$
拉普拉斯修正
为了避免其他属性携带的信息被训练集中未出现的属性值“抹去”,
在估计概率值时通常要进行“平滑”(smoothing)
避免了因训练集样本不充分而导致概率估值为零的问题,
并且在训练集变大时,修正过程所引入的先验(prior)的影响也会逐渐变得可忽
略,使得估值渐趋向于实际概率值.