朴素贝叶斯法

贝叶斯定理

贝叶斯定理(Bayes’ theorem): 实际上就是计算”条件概率”的公式。
所谓”条件概率”(Conditional probability),就是指在事件B发生的情况下,事件A发生的概率,用P(A|B)来表示。
朴素贝叶斯法

朴素贝叶斯法

朴素贝叶斯法

朴素贝叶斯法

朴素贝叶斯法

朴素贝叶斯法

最后得到条件概率计算公式为:
朴素贝叶斯法

贝叶斯推断

全概率公式:
朴素贝叶斯法
假定样本空间S,是两个事件A与A’的和。在这种情况下,事件B可以划分成两个部分。
朴素贝叶斯法

朴素贝叶斯法

最后得到全概率计算公式为:
朴素贝叶斯法
它的含义是,如果A和A’构成样本空间的一个划分,那么事件B的概率,就等于A和A’的概率分别乘以B对这两个事件的条件概率之和。

贝叶斯推断(Bayesian inference):
对条件概率公式进行变形,可以得到如下形式:
P(A|B)=P(A)P(B|A)P(B) =P(A)P(B|A)P(B|A)P(A)+P(B|AP(A))
我们把P(A)称为“先验概率”(Prior probability),即在B事件发生之前,我们对A事件概率的一个判断。P(A|B)称为“后验概率”(Posterior probability),即在B事件发生之后,我们对A事件概率的重新评估。P(B|A)/P(B)称为“可能性函数”(Likelyhood)(似然),这是一个调整因子,使得预估概率更接近真实概率。
所以,条件概率可以理解成下面的式子:
  后验概率 = 先验概率 x 调整因子
  这就是贝叶斯推断的含义:我们先预估一个”先验概率”,然后加入实验结果,看这个实验到底是增强还是削弱了”先验概率”,由此得到更接近事实的”后验概率”。
  在这里,如果”可能性函数”P(B|A)/P(B)>1,意味着”先验概率”被增强,事件A的发生的可能性变大;如果”可能性函数”=1,意味着B事件无助于判断事件A的可能性;如果”可能性函数”<1,意味着”先验概率”被削弱,事件A的可能性变小。

朴素贝叶斯法

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

问题描述:
输入:训练数据T={(x1,y1),(x2,y2),...,(xN,yN)},
其中xi=(xi(1),xi(2),...,xi(n))T, xi(j)ijxi(j){aj1,aj2,...,ajSj}, ajljlj=1,2,...,n,l=1,2,...,Sj,yi{c1,...,ck}; 实例x.
输出:实例x的分类。

推导:
先验概率分布:
P(Y=cK),k=1,2,...,K
由条件独立性假设可得条件概率分布为:
P(X=x,Y=ck)=P(X(1)=x(1),...,X(n)
=x(n)|Y=ck)=nj=1P(X(j)=x(j)|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)nj=1P(X(j)=x(j)|Y=ck)kP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)

将后验概率最大的类作为x的类输出,则朴素贝叶斯分类器可以表示为:
y=f(x)=argmaxckP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)kP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)

由于上式中分母对所有的ck都是相同的,所以有
y=f(x)=argmaxckP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)

算法过程:
(1)计算先验概率及条件概率(利用最大似然估计法估计)
先验概率 P(Y=cK)=Ni=0I(yi=ck)N,k=1,2,...,K
条件概率P(X(j)=ajl)=Ni=0I(xi(j)=ajl,yi=ck)Ni=0I(yi=ck,k=1,2,...,K
j=1,2,...,n;l=1,2,...,Sj;k=1,2,...,K
(总共要计算SjnK个条件概率)
I

(2)对于给定的实例x=(x(1),...,x(n))T,计算
P(Y=ck)nj=1P(X(j)=x(j)|Y=ck),k=1,2,...,K

(3)确定实例x的分类
y=argmaxckP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)

贝叶斯估计

用最大似然估计计算条件概率时可能会出现所要估计的概率为0的情况,这时会影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。具体的,
条件概率的贝叶斯估计为:
Pλ(X(j)=ajl)=Ni=0I(xi(j)=ajl,yi=ck)+λNi=0I(yi=ck+Sjλ,λ0
先验概率的贝叶斯估计为:
P(Y=cK)=Ni=0I(yi=ck)+λN+Kλ

通常取λ=1,这时称为拉普拉斯平滑。