朴素贝叶斯法是典型的生成学习方法,它是基于贝叶斯定理与特征条件独立假设的分类方法。生成方法是由训练数据学习联合概率分布$P(X,Y)$,然后求出后验概率分布$P(Y|X)$。具体来说,利用训练数据学习$P(X|Y),P(Y)$的估计,得到输入和输出的联合概率分布$P(X,Y)$:
$$P(X,Y)=P(Y)P(X|Y)$$
然后根据此模型,对给定的输入样本,利用贝叶斯定理求出后验概率最大的输出$y$。
优点:实现简单,学习和预测效率都很高。
缺点:分类的性能不一定很高。
朴素贝叶斯法
朴素贝叶斯法是利用贝叶斯定理与学到的联合概率模型进行分类预测,即:
$$P(Y|X)=\frac{P(X,Y)}{P(X)}=\frac{P(Y)P(X|Y)}{\sum_Y P(Y)P(X|Y)}$$
其中$P(X,Y)$是由条件独立性这一朴素贝叶斯基本假设获得的:
$$P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},…,X^{(n)}=x^{(n)}|Y=c_k) \\
=\prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k)
$$
等价于分类特征在类的确定下是条件独立的。如果假设它们之间存在概率依存关系,模型就变成了贝叶斯网络。
于是,后验概率可重写为:
$$P(Y=c_k|X=x)=\frac{P(Y=c_k)\prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_k P(Y=c_k)\prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k)}$$
最大化后验概率,朴素贝叶斯的分类器可表示为:
$$y=arg\max_{c_k}P(Y=c_k|X=x)$$
对于每个类来说,分母都是一样的。所以后验概率最大化相当于联合概率最大化,即:
$$y=arg\max_{c_k}P(Y=c_k)\prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k)$$
等价于0-1损失函数时的期望风险最小化。
模型参数估计
两种方法:极大似然估计和贝叶斯估计。
因为极大似然估计可能会出现所要估计的概率为0的情况,这会影响到后验概率的计算结果,使分类产生偏差,所以出现了贝叶斯估计。
极大似然估计
先验概率$P(Y=c_k)$的极大似然估计为:
$$P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N},k=1,2,…,K$$
条件概率$P(X^{(j)}=x^{(j)}|Y=c_k)$的极大似然估计为:
$$P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI({x}^{(j)}=a_{jl},y_i=c_k)}{N}$$
贝叶斯估计
先验概率的贝叶斯估计为:
$$P_\lambda(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda}$$
条件概率的贝叶斯估计为:
$$P_\lambda(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI({x}^{(j)}=a_{jl},y_i=c_k)+\lambda}{N+S_j\lambda}$$
其中,$S_j$为第j个特征所有取值的数目。