【机器学习算法】朴素贝叶斯法(NaiveBayes)

朴素贝叶斯法对条件概率分布作了条件独立性假设,条件独立假设等于是说用于分类的特征在类确定的条件下都是条件独立的。
这一假设使朴素贝叶斯变得简单。

1.学习与分类

朴素贝叶斯法实际上是学习到生成数据的机制,所以属于生成模型。

2.参数估计

2.1 极大似然估计

K 为:K为c的所有可能情况的数目
Sj 为:特征的可能出现的所有情况
可以应用极大似然估计法估计相应的概率,先验概率P(Y=Ck)PX(j)=x(j)|Y=ck,可以应用极大似然估计法估计相应的概率,先验概率的极大似然估计是:

P(Y=ck)=i=1NI(yi=ck)N,k=1,2,...,K

设第j个特征x(j)可能取值的集合为aj1,aj2,ajsj,条件概率P(X(j)=aj,i|Y=ck)的极大似然估计是:
P(X(j)=ajl|Y=ck)=i=1NI(xi(j)=ajl,yj=ck)i=1NI(yi=ck),j=1,2,...,n;l=1,2,...,Sjk=1,2,...,K

ajl是第j个特征可能取得第I个值;I为指示函数(sigmoid函数)类型相同的

2.3 学习与分类算法

1)计算先验概率以及条件概率
2)对于给定的实例x=(x(1)x(1)x(1))T,计算
3)确定实例的类:
y=argmaxP(Y=ck)j=1nP(X(j)=x(j)|Y=ck)
【机器学习算法】朴素贝叶斯法(NaiveBayes)

2.2 贝叶斯估计

用极大似然估计可能会出现所要估的概率值为0的情况,这时会影响到后验概率的计算结果,使分类产生偏差,解决这一问题的方法是采用贝叶斯估计,具体地,条件概率的贝叶斯估计是

Pλ(X(j)=ajl|Y=ck)=i=1NI(yi=ck)+Sjλ

式中\lambda >= 0,等价于在随机变量各个取值的频数上赋予一个正数λ>0,当λ=0时就是极大似然估计。
常取λ=1,称为拉普拉斯平滑,显然,对任何l = 1,2,…,S_j,k = 1,2,…,K,有:
Pλ(X(j)=ajl|Y=ck)>0

l=1sjP(X(j)=ajl|Y=ck)=1

同样,先验概率的贝叶斯估计是:
Pλ(Y=ck)=i=1NI(yi=ck)+λN+Kλ

例子:
按照拉普拉斯平滑估计概率,即取λ=1
【机器学习算法】朴素贝叶斯法(NaiveBayes)

总结:

1.朴素贝叶斯法是典型的生成学习方法,生成方法是由训练数据学习联合概率分布P(X,Y),然后求得后验概率分布P(Y|X)。
具体来说,利用训练数据学习P(X|Y)和P(Y)的估计,得到联合概率分布:

P(X,Y)=P(Y)P(X|Y)

概率估计方法可以是极大似然估计或者贝叶斯估计
2.基本假设:条件独立性