1 朴素贝叶斯模型
- 定义:基于贝叶斯定理和特征条件独立假设的分类方法。
- 贝叶斯模型是通过训练集学习联合分布P(X,Y),从而进一步求解 后验概率P(Y | X)
下面我们先来看变量表示
- 变量表示
- 输入变量表示为X–m维向量的集合(m个特征);
- 输出空间为类标记集合表示为
Y={c1.c2,...,cK};
- 训练集为
{(x1,y1).(x2,y2),...,(xn,yn)}(n个样本),特征向量
xi(第i个样本)可以表示为
xi=(xi1,xi2,...,xim)T,其中
xij表示为第i个输入变量的第j个特征。
接着介绍几个概念。
- 先验概率分布
P(Y=ck),k=1,2,...,K
- 条件概率分布
P(X=x∣Y=ck)=P(X1=x1,X2=x2,...,Xm=xm∣Y=ck),k=1,2,...,K
- 如果
xj可取值
Sj个,其中
j=1,2,..,m,Y可取值有K个,那么参数个数为
K∏j=1mSj.
于是学习到联合概率分布 P(X,Y)。
朴素贝叶斯对条件概率分布做了特征条件独立假设,这样简化了条件概率分布的计算,下面我们来看该假设。
- 条件独立假设:用于分类的特征在类确定的条件下是条件独立的。
P(X=x∣Y=ck)=P(X1=x1,X2=x2,...,Xm=xm∣Y=ck)=∏j=1mP(Xj=xj∣Y=ck)
- 朴素贝叶斯分类时,对给定的输入x,通过学习得到的模型计算后验概率分布
P(Y=ck∣X=x),将后验概率最大的类作为x的输出。
下面我们首先来看后验概率分布。
- 后验概率分布(贝叶斯定理,参考我的上篇文章朴素贝叶斯(一)知识准备—条件概率、全概率、贝叶斯公式)
P(Y=ck∣X=x)=P(X=x)P(Y=ck,X=x)=∑kP(Y=ck)P(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)
将条件独立假设公式带入上式可得:
P(Y=ck∣X=x)=∑kP(Y=ck)∏jP(Xj=xj∣Y=ck)P(Y=ck,X=x)∏jP(Xj=xj∣Y=ck)
其中k=1,2,…,k,j=1,2,…,m.
于是可得到下列的朴素贝叶斯分类器
- 朴素贝叶斯分类器:
y=f(x)=argmaxck∑kP(Y=ck)∏jP(Xj=xj∣Y=ck)P(Y=ck,X=x)∏jP(Xj=xj∣Y=ck)
上式中,对所有的
ck来说,分母都是相同的,所以
y=f(x)=argmaxckP(Y=ck,X=x)j∏P(Xj=xj∣Y=ck)
下面来说模型的学习即参数估计。
2 朴素贝叶斯的参数估计
对于这种给定模型,数据,求参数的我们仍然使用极大似然估计。在这里也就是对先验概率和条件概率进行估计。
- 先验概率极大似然估计:
P(Y=ck)=nP(Yi=ck)I(Yi=ck)=N∑i=1nI(Yi=ck),其中k=1,2,…,K。
I(Yi=ck)是指示函数,
I(true)=1,
I(false)=0。
- 条件概率极大似然估计:设第j个特征
xj可能取值的集合为
{aj1,aj2,...,ajsj},条件概率
P(Xj=xj=ajl∣Y=ck)的极大似然估计是
P(Xj=xj=ajl∣Y=ck)=∑i=1nI(Yi=ck)∑i=1nI(xij=ajl,Yi=ck)
其中,
xij代表第i个样本的第j个特征;
ajl 是第j个特征可能取得第
l个值。
3 拉普拉斯平滑
用极大似然估计学得的朴素贝叶斯模型,可能会出现个问题,那就是若某个属性值在训练集中和某个类别没有一起出现过,这样会抹掉其它的属性信息,因为该样本的类条件概率被计算为0。因此在估计概率值时,常常用进行平滑处理,拉普拉斯修正就是其中的一种经典方法,具体计算方法如下: