贝叶斯定理
贝叶斯定理(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|A′P(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)是第i个样本的第j个特征
,
xi(j)∈{aj1,aj2,...,ajSj}
,
ajl是第j个特征的可能取值的第l个值
,
j=1,2,...,n,l=1,2,...,Sj,yi∈{c1,...,ck}
; 实例
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
(总共要计算
Sj∗n∗K
个条件概率)
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
的分类
贝叶斯估计
用最大似然估计计算条件概率时可能会出现所要估计的概率为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 ,这时称为拉普拉斯平滑。