朴素贝叶斯(naive Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。
1、朴素贝叶斯法的学习与分类
已知训练数据集
T={(x1,y1),(x2,y2),⋯,(xN,yN)}由联合概率分布
P(X,Y)独立同分布产生,朴素贝叶斯法通过训练数据集
T学习联合概率分布
P(X,Y),根据贝叶斯定理,可以通过学习先验概率分布
P(Y)及条件概率分布
P(X∣Y),得到联合概率分布
P(X,Y)。
先验概率分布
P(Y)较好求,公式为
P(Y=ck),k=1,2,⋯,K 对于条件概率分布
P(X∣Y),原本的公式为
P(X=x∣Y=ck)=P(X(1)=x(1),⋯,X(n)=x(n)∣Y=ck),k=1,2,⋯,K 但其估计实际是不可行的,因为这里的
x实际是
n维输入数据,若设其中各维
x(j)的可取值有
Sj个,
j=1,2,⋯,n,设
Y可取值有
K个,那么
P(X=x∣Y=ck)的参数有
K∏j=1nSj个,这实在太多了。换个角度讲,如果
X∣Y有太多种情况,则每种情况对应的样本就会过少,甚至很可能会出现在
Y=ck的条件约束下,在样本中找不到满足
X=x的情况。
因此朴素贝叶斯法对条件概率分布作了条件独立性假设,则条件概率分布公式可转化为
P(X=x∣Y=ck)=j=1∏nP(Xj=xj∣Y=ck) 这很好理解,条件独立假设等于是说,用于分类的特征在类确定的条件下都是条件独立的,这一假设使朴素贝叶斯法变得简单,但由于特征不一定是独立的,会牺牲一定的分类准确率。
得到先验概率分布于条件概率分布后,可以根据贝叶斯定理计算后验概率分布
P(Y=ck∣X=x)=P(X=x)P(X=x∣Y=ck)P(Y=ck) 由于
P(X=x)=k∑P(X=x,Y=ck)=k∑P(X=x∣Y=ck)P(Y=ck) 因此后验概率分布可以转化为
P(Y=ck∣X=x)=∑kP(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)P(Y=ck) 代入条件独立性假设,可得
P(Y=ck∣X=x)=∑kP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)P(Y=ck)∏jP(X(j)=x(j)∣Y=ck) 对给定的
x,计算出每个
ck的后验概率分布
P(Y=ck∣X=x),取最大的一个作为分类结果,于是朴素贝叶斯分类器可表示为
y=f(x)=argckmax∑kP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)P(Y=ck)∏jP(X(j)=x(j)∣Y=ck) 注意到分母对所有的
ck都是相同的,所以
y=argckmaxP(Y=ck)j∏P(X(j)=x(j)∣Y=ck) 上述取后验概率最大化规则,等价于期望风险最小化,具体证明如下:
期望风险函数为
Rexp(f)=E[L(Y,f(X))] 由于期望是对联合分布
P(X,Y)取的,因此取条件期望
Rexp(f)=EXk=1∑K[L(ck,f(X))]P(ck∣X) 期望风险最小化即为
f(x)=argy∈Ymink=1∑KL(ck,y)P(ck∣X=x) 假设损失函数
L(ck,y)选择0-1损失函数,上式可变为
f(x)=argy∈Ymink=1∑KP(y̸=ck∣X=x)=argy∈YmaxP(y=ck∣X=x) 这就得到了后验概率最大化准则。
2、朴素贝叶斯法的参数估计
接下来考虑如何具体的确定地计算先验概率分布
P(Y)与条件概率分布
P(X∣Y)。
首先可以采用极大似然估计,则先验概率的极大似然估计是
P(Y=ck)=N∑i=1NI(yi=ck),k=1,2,⋯,K 条件概率分布的极大似然估计是
P(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(xi(j)=ajl,yi=ck)
j=1,2,⋯,n;l=1,2,⋯,Sj;k=1,2,⋯,K 式中,
xi(j)是第
i个样本的第
j个特征,
ajl是第
j个特征可能取得第
l个值。
最后将先验概率与条件概率代入朴素贝叶斯分类器公式中,找到使后验概率最大的
ck即可。
但根据上述条件概率分布的极大似然估计函数,若样本中没有
x(j)=ajl且
y=ck的实例,即
∑i=1NI(xi(j)=ajl,yi=ck)=0,那么将其代入朴素贝叶斯分类器公式中,可能会出现所要估计的概率值为0的情况。直观上理解便是,如果某测试样本的第
j个特征
x(j)=ajl,但在训练集中没有
xi(j)=ajl且
yi=ck的样本,那么此测试样本属于
ck类的概率为0,这显然是不合理的。
因此解决这一问题的方法是采用贝叶斯估计,条件概率的贝叶斯估计是
Pλ(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)+Sjλ∑i=1NI(xi(j)=ajl,yi=ck)+λ 式中
λ≥0,
Sj为第
j个特征
x(j)的可取数。当
λ=0时,就是极大似然估计;常取
λ=1,这时称为拉普拉斯平滑(Laplace smoothing)。
拉普拉斯平滑保证了条件概率大于0,且每个特征的条件概率之和仍然等于1,即
Pλ(X(j)=ajl∣Y=ck)>0
l=1∑SjP(X(j)=ajl∣Y=ck)=1 同样,先验概率的贝叶斯估计是
Pλ(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ 式中
K为
y的可取数。