朴素贝叶斯(naive Bayes)算法是基于贝叶斯定理与特征条件独立假设的分类方法。
对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。
朴素贝叶斯算法的学习与分类
基本方法
朴素贝叶斯算法对条件概率分布作了条件独立性的假设。
朴素贝叶斯算法学习到生成数据的机制,所以属于生成模型。
朴素贝叶斯法分类时,对于给定的输入x,通过学习到的模型计算后验概率分布 <nobr> P(Y=ck,|X=x) </nobr> ,将后验概率最大的类作为x的类输出。
后验概率计算根据贝叶斯定理进行:
<nobr> P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)∑kP(X=x|Y=ck)P(Y=ck)(4.4) </nobr>
将式(4.3)代入式(4.4)有
<nobr> P(Y=ck|X=x)=∏j=1nP(X(j)=x(j)|Y=ck)P(Y=ck)∑k∏j=1nP(X(j)=x(j)|Y=ck)P(Y=ck)(4.5) </nobr>
朴素贝叶斯分类器可表示为
<nobr> y=f(x)=argmaxck∏j=1nP(X(j)=x(j)|Y=ck)P(Y=ck)∑k∏j=1nP(X(j)=x(j)|Y=ck)P(Y=ck)(4.6) </nobr>
注意到,在式(4.6)中分母对所有 <nobr> ck </nobr> 都是相同的,所以,
<nobr> y=f(x)=argmaxck∏j=1nP(X(j)=x(j)|Y=ck)P(Y=ck)(4.7) </nobr>
后验概率最大化的含义
根据期望风险最小化准则可推得后验概率最大化。
朴素贝叶斯法的参数估计
极大似然估计
先验概率 <nobr> P(Y=ck) </nobr>的极大似然估计是
<nobr> P(Y=ck)=∑i=1NI(yi=ck)N,k=1,...,K </nobr>
设第j个特征 <nobr> x(j) </nobr>可能的取值集合为 <nobr> aj1,...,ajsj </nobr>,条件概率 <nobr> P(X(j)=ajl|Y=ck) </nobr>的极大似然估计是
<nobr> P(X(j)=ajl|Y=ck)=∑i=1NI(x(j)i=ajl,yi=ck)∑i=1NI(yi=ck) </nobr>
贝叶斯估计
用极大似然估计可能会出现所要估计的概率值为0的情况。这会影响到后验概率的计算结果,使分类的结果产生偏差。
条件概率的贝叶斯估计是
<nobr> P(X(j)=ajl|Y=ck)=∑i=1NI(x(j)i=ajl,yi=ck)+λ∑i=1NI(yi=ck)+Sjλ </nobr>
式中 <nobr> λ≥0 </nobr>, <nobr> Sj </nobr>为第j个特征取值的种类。等价于在随机变量各个取值的频数上赋予一个整数 <nobr> λ>0 </nobr>。当 <nobr> λ=0 </nobr>时就是极大似然估计。常取 <nobr> λ=1 </nobr>,这时称为拉普拉斯平滑(Laplace smoothing)。
先验概率的贝叶斯估计是
<nobr> P(Y=ck)=∑i=1NI(yi=ck)+λN+Kλ,K为Y的类别数 </nobr>
朴素贝叶斯法中假设输入变量都是条件独立的,如果假设它们之间存在概率依存关系,模型就变成了贝叶斯网络。
常用的朴素贝叶斯分类器
根据假设不同的 <nobr> P(X(j)|y=ck) </nobr>分布,
高斯贝叶斯分类器
假设特征的条件概率分布满足高斯分布
多项式贝叶斯分类器
假设特征的条件概率分布满足多项式分布
<nobr> P(X(j)=asj|y=ck)=Nkj+αNk+αn </nobr>
伯努利贝叶斯分类器
假设特征的条件概率分布满足二项分布
<nobr> P(X(j)=asj|y=ck)=pX(j)+(1−p)(1−X(j)) </nobr>,
要求特征的取值为0或1,且 <nobr> P(x(J)=1|Y=ck)=p </nobr>
与多项式模型一样,伯努利模型适用于离散特征的情况,所不同的是。伯努利模型中每个特征的取值只能是1或0.(文本分类,单词出现于否。)
参考文献
统计学习方法 第4章
Python大战机器学习 第3章