朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布
P(X,Y)
,然后求得后验概率分布
P(Y|X)
。具体是利用训练数据学习
P(X|Y)
和
P(Y)
的估计,得到联合概率分布:
P(X,Y)=P(Y)P(X|Y)
。
朴素贝叶斯法的基本假设是条件独立性:
P(X=x|Y=ck)==P(X(1)=x(1),⋯,X(n)=x(n)|Y=ck)∏j=1nP(X(j)=x(j)|Y=ck)
这是一个较强的假设。由于这一假设,模型包含该的条件概率的数量大为减少,朴素贝叶斯法的学习与预测大为简化。因而朴素贝叶斯法高效,且易于实现。其缺点是分类的性能不一定很高。
朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测。
P(Y|X)=P(X,Y)P(X)=P(Y)P(X|Y)∑YP(Y)P(X|Y)
一、极大似然估计
估计两部分参数,先验概率
P(Y=ck)
和条件概率
P(X(j)=x(j)|Y=ck)
。
1. 先验概率
P(Y=ck)
的极大似然估计是:
P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,⋯,K
2. 设第j个特征 x(j) 可能取值的集合为 {aj1,aj2,⋯,ajSj} , 条件概率 P(X(j)=ajl|Y=ck) 的意义是在某一类 Y=ck 的条件下,x的第j个分量特征取值 ajl 的概率。
P(X(j)=ajl|Y=ck)=∑i=1NI(x(j)i=ajl,yi=ck)∑i=1NI(yi=ck)
j=1,2,⋯,n;l=1,2,⋯,Sj;k=1,2,⋯,K
上式中, xji 是第i个样本的第j个特征; ajl 是第j个特征可能取的第l个值; I 为指示函数。总的需要估计的参数数量为:
二、学习与分类算法
(1)计算先验概率和条件概率
P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,⋯,K
P(X(j)=ajl|Y=ck)=∑i=1NI(x(j)i=ajl,yi=ck)∑i=1NI(yi=ck)
j=1,2,⋯,n;l=1,2,⋯,Sj;k=1,2,⋯,K
(2)对于给定的实例 x=(x(1),x(2),⋯,x(n))T ,计算
P(Y=ck)∏j=1nP(X(j)=x(j)|Y=ck),k=1,2,⋯,K
(3)确定实例x所属的类
y=argmaxckP(Y=ck)∏j=1nP(X(j)=x(j)|Y=ck)
书中的一个例子:
![]()
三、贝叶斯估计
极大似然估计时参数会产生0频问题,会影响到后验概率的计算结果,使分类产生偏差。采用贝叶斯估计可以解决这个问题。
先验概率的贝叶斯估计是:
Pλ(Y=ck)=∑i=1NI(yi=ck)+λN+Kλ
上式中, K 表示类别数目。
条件概率的贝叶斯估计是:
上式中, Sj 表示第 j 个特征的取值个数。
以上两个公式中,当
例子: