朴素贝叶斯法
NaiveBayes
是基于贝叶斯定理与特征条件独立假设的分类方法。朴素一词也意味着它是一种最简单、常见的贝叶斯方法,朴素贝叶斯是贝叶斯证据独立的表达形式,属于一种特例。
4.1 朴素贝叶斯的学习和分类
4.1.1 概率论基础
先验概率、条件概率和后验概率
先验概率:事件发生前的预判概率。可以是基于历史数据的统计,可以由背景常识得出,也可以是人的主观观点给出。一般都是单独事件概率,如
P(x)
,
P(y)
。
条件概率:一个事件发生后另一个事件发生的概率。一般的形式为
P(x|y)
表示
y
发生的条件下
x
发生的概率。
后验概率:事件发生后求的反向条件概率;或者说,基于先验概率求得的反向条件概率。一般表示为
P(y|x)
。
从原因到结果的论证称为“先验的”,而从结果到原因的论证称为“后验的”。
在概率论中,
y→x
意味着
y
由这个原因呈现出
x
这个特征,我们将
x
表示为 特征 相当于 结果 而不是 原因,
同时,我们将
y
表示为 类别、值等 等价于 原因。
先验概率是指根据以往经验和分析得到的概率,如全概率公式 中的 ,它往往作为“由因求果”问题中的“因”出现。后验概率是指在得到“结果”的信息后重新修正的概率,是“执果寻因”问题中的“因” 。后验概率是基于新的信息,修正原来的先验概率后所获得的更接近实际情况的概率估计。先验概率和后验概率是相对的。
先验概率的分类:
利用过去历史资料计算得到的先验概率,称为客观先验概率;
当历史资料无从取得或资料不完全时,凭人们的主观经验来判断而得到的先验概率,称为主观先验概率。
贝叶斯公式的推导过程:
条件概率
P(x|y)=P(x,y)P(y)
得到
P(x,y)
P(x,y)=P(x|y)P(y)
同理
P(y|x)=P(x,y)P(x)
将
P(x,y)
代入上式
P(y|x)=P(x|y)P(y)P(x)
这里:
P(y|x)
是后验概率,一般是我们求解的目标。
4.2 朴素贝叶斯基本方法
我们的目标是,根据
x
, 找出 后验概率
P(y|x)
最大的
y
值。
先验概率分布
P(Y=ck),k=1,2,...,K
条件概率分布
P(X=x|Y=ck)=P(X(1)=x(1),...,X(n)=x(n)|Y=ck),k=1,2,...,K
于是可以学习到联合概率分布
P(X,Y)=P(X|Y)P(Y)
。
但是正常情况下 条件概率分布
P(X=x|Y=ck)
有指数级数量的参数,计算上不可行。
因此,朴素贝叶斯方法的核心 朴素 就是对条件概率分布 作出了 条件独立性的假设
等于说用于分类的特征在类的条件下都是条件独立的,它使得贝叶斯方法简化的同时,也一定程度上降低的分类的精确性。
具体,基于条件独立假设的条件概率分布
P(X=x|Y=ck)=P(X(1)=x(1),...,X(n)=x(n)|Y=ck),k=1,2,...,K
=∏j=1nP(X(j)=x(j)|Y=ck)
具体推导如下
P(x(1),x(2),x(3),...|y)=P(x(1)|y)P(x(2)|x(1),y)...P(x(3)|y,x(1),x(2),...)
=P(x(1)|y)P(x(2)|y)...P(x(3)|y)
=∏i=1nP(x(i)|y)
朴素贝叶斯法分类时,对给定的输入
x
,通过学习到的模型计算后验概率分布
P(Y=ck|X=x)
,将后验概率最大的类作为
x
的类输出
由全概率公式
P(Y|X)=P(X|Y)P(Y)P(X)=P(X|Y)P(Y)∑kP(X|Y=ck)P(Y=ck)
P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)∑kP(X=x|Y=ck)P(Y=ck)
P(Y=ck|X=x)=P(Y=ck)∏jP(X(j)=x(j)|Y=ck)∑kP(Y=ck)∏jP(X(j)=x(j)|Y=ck)
朴素贝叶斯分类器可表示为
y=f(x)=argmaxckP(Y=ck)∏jP(X(j)=x(j)|Y=ck)∑kP(Y=ck)∏jP(X(j)=x(j)|Y=ck)
上式中,分母对所有
ck
都是相同的,所以去掉分母
y=f(x)=argmaxckP(Y=ck)∏jP(X(j)=x(j)|Y=ck)
4.3 后验概率最大化的含义
上述朴素贝叶斯法将实例分到后验概率最大的类中,等价于期望风险最小化。
证明详见 《统计学习方法》
P48−49
4.4 朴素贝叶斯的参数估计
4.4.1 极大似然估计
先验概率
P(Y=ck)
的极大似然估计是
P(Y=ck)=∑Ni=1I(yi=ck)N,k=1,2,...,K
设第
j
个特征
x(j)
可能取值的集合为
{aj1,aj2,...,ajSj}
,条件概率
P(X(j)=ajl|Y=ck)
的极大似然估计是
P(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)∑Ni=1I(yi=ck)
j=1,2,...,n;l=1,2,...,Sj;k=1,2,...,K
式中,
x(j)i
是第
i
个样本的第
j
个特征;
ajl
是第
j
个特征可能取的第
l
个值;
I
为 指数函数。
4.4.2 学习与分类算法
朴素贝叶斯算法
(naive
Bayes
algorithm)
输入: 训练数据
T={(x1,y1),(x2,y2),...,(xN,yN)}
,其中
xi=(x(1)i,x(2)i,...,x(n)i)T
,
x(j)i
是第
i
个样本的第
j
个特征,
x(j)i∈{aj1,aj2,...,ajSj}
,
ajl
是第
j
个特征可能取的第
l
个值,
j=1,2,...,n;l=1,2,...,Sj;yi∈{c1,c2,...,cK}
,实例
x
;
输出:实例
x
的分类
(1)计算先验概率及条件概率
P(Y=ck)=∑Ni=1I(yi=ck)N,k=1,2,...,K
P(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)∑Ni=1I(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)∏jP(X(j)=x(j)|Y=ck),k=1,2,...,K
(3)确定实例
x
的分类
y=argmaxckP(Y=ck)∏jP(X(j)=x(j)|Y=ck)
4.4.3 贝叶斯估计
用极大似然估计可能会出所要估计的概率值为0的情况,解决这一问题的方法是采用贝叶斯估计,条件概率的贝叶斯估计是
Pλ(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)+λ∑Ni=1I(yi=ck)+λ
λ≥0
,当
λ=0
时,为极大似然估计,当
λ=1
时,为拉普拉斯平滑
(Laplace
smoothing)
同样,先验概率的贝叶斯估计是
Pλ(Y=ck)=∑Ni=1I(yi=ck)+λN+Kλ