贝叶斯分类器

几个重要公式

条件概率

P(A|B)=P(AB)P(B)

乘法公式

P(AB)=P(A|B)P(B)=P(B|A)P(A)

全概率公式

如果事件组B1,B2,满足

  1. B1,B2,两两互斥,即 BiBj=ϕ,ij,i,j=1,2,,且P(Bi)>0,I=1,2,

  2. B1B2=Ω,则称事件组B1,B2,是样本空间Ω的一个划分。

B1,B2,是样本空间Ω的一个划分,A为任一事件,则全概率公式为

P(A)=i=1P(Bi)P(A|Bi)

全概率公式的意义在于,当直接计算P(A)较为困难,而P(Bi),P(A|Bi)(i=1,2,)的计算较为简单时,可以利用全概率公式计算P(A)

贝叶斯公式

P(Bi|A)=P(BiA)P(A)=P(Bi)P(A|Bi)j=1P(Bj)P(A|Bj)

Bi常被视为导致试验结果A发生的“原因”,P(Bi)(i=1,2,)表示各种原因发生的可能性大小,故称先验概率;P(Bi|A)(i=1,2,)则反映当试验产生了结果A之后,再对各种原因概率的新认识,故称后验概率。

朴素贝叶斯法

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y

基本方法

训练数据集T={(x1,y1),(x2,y2),,(xN,yN)}P(X,Y)独立同分布产生。朴素贝叶斯法通过训练数据集学习先验概率分布和条件概率分布来得到联合概率分布P(X,Y)

但是条件概率分布P(X=x|Y=ck)有指数级数量的参数,其估计实际是不可行的,因此需要条件独立性假设来减小计算量,即

P(X=x|Y=ck)=P(X(1)=x(1),,X(n)=x(n)|Y=ck)=j=1nP(X(j)=x(j)|Y=ck)

条件独立性假设等于是说用于分类的特征在类确定的条件下都是条件独立的。

朴素贝叶斯法分类时,对给定的输入x,通过学习到的模型计算后验概率分布P(Y=ck|X=x),将后验概率最大的类作为x的类输出。

后验概率根据贝叶斯定理计算

P(Y=ck|X=x)=P(X=x,Y=ck)P(X=x)=P(X=x|Y=ck)P(Y=ck)kP(X=x|Y=ck)P(Y=ck)=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)

对于数值型的特征,需要先确定特征的分布(如高斯分布);对于离散型的特征,可以选择多项分布,泊松分布等,然后估计分布的参数,从而求得P(X(j)=x(j)|Y=ck)

参数估计

极大似然估计

在朴素贝叶斯法中,学习意味着估计P(Y=ck)P(X(j)=x(j)|P(Y=ck))。先验概率P(Y=ck)的极大似然估计是

P(Y=ck)=Ni=1I(yi=ck)N

设第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)

若为连续特征则可以考虑概率密度函数

贝叶斯估计

上述极大似然估计中,估计条件概率时分子可能出现等于0的情况,这时会影响到后验概率的计算结果,使分类产生偏差。因此,引入了贝叶斯估计。

条件概率的贝叶斯估计

Pλ(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)+λNi=1I(yi=ck)+Sjλ

其中λ0。当λ=0时,贝叶斯估计退化为极大似然估计。当λ=1时,这时称为拉普拉斯平滑(Laplace smoothing)。

先验概率的贝叶斯估计为

Pλ(Y=ck)=Ni=1I(yi=ck)+λN+Kλ

K为类别的数量。

贝叶斯网络

把某个研究系统中涉及的随机变量,根据是否条件独立绘制在有向无环图(DAG)中,就形成了贝叶斯网络(Bayesian network),亦称”信念网”(belief network)。

简单的贝叶斯网络

贝叶斯分类器

P(a,b,c)=P(a)P(b|a)P(c|a,b)

贝叶斯分类器

P(x1,x2,x3,x4,x5,x6,x7)=P(x1)P(x2)P(x3)P(x4|x1,x2,x3)P(x5|x1,x3)P(x6|x4)P(x7|x4,x5)

贝叶斯网络的形式化定义

一个贝叶斯网B由结构G和参数Θ两部分构成,即B=<G,Θ>。网络结构G是一个有向无环图,每个节点对应一个特征,如果两个特征之间有直接依赖关系,则它们之间有边连接,参数Θ就是用来定量描述这种依赖关系的。

一个特殊的贝叶斯网络

贝叶斯分类器

节点间形成一条链式网络,称为马尔科夫模型,其中Ai+1只与Ai有关,与A1,,Ai1无关,即

P(Xn+1|X0,X1,,Xn)=P(Xn+1|Xn)

三个变量之间的典型依赖关系

贝叶斯分类器

其联合概率密度为P(a,b,c)=P(c)P(a|c)P(b|c),从而P(a,b,c)P(c)=P(a|c)P(b|c),因此P(a,b|c)=P(a|c)P(b|c)。即,在c给定的条件下,a,b是独立的。

贝叶斯分类器

其联合概率密度为P(a,b,c)=P(a)P(c|a)P(b|c)

P(a,b|c)=P(a,b,c)P(c)=P(a)P(c|a)P(b|c)P(c)=P(a,c)P(b|c)P(c)=P(a|c)P(b|c)

即,在c给定的条件下,a,b是独立的。

贝叶斯分类器

P(a,b,c)cP(a,b,c)P(a,b)=P(a)P(b)P(c|a,b)=cP(a)P(b)P(c|a,b)=P(a)P(b)

即在c未知的条件下,a,b是独立的。

训练

大部分情况下,网络的构造需要专家经验。一旦网络结构已知,即属性间的依赖关系已知,则贝叶斯网络的学习过程相对简单,只需通过对训练样本”计数”,估计出每个节点的条件概率表即可。

参考

[1] 机器学习. 周志华

[2] 统计学习方法. 李航