浅谈机器学习—朴素贝叶斯法

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

二、基本方法
X是定义在输入空间上的随机变量,Y是定义在输出空间上的随机变量,P(X,Y)是X和Y的联合概率分布。训练数据集

T=[(x1,y1),(x2,y2),...(xN,yN)]
由P(X,Y)独立同分布产生。
朴素贝叶斯法通过训练数据集学习联合概率分布P(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)
于是学习到联合概率分布P(X,Y)。
朴素贝叶斯法对条件概率分布作了条件独立性的假设。具体的假设是
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(Y=ck)kP(X=x|Y=ck)P(Y=ck)
于是,通过化简可以得到朴素贝叶斯分类器:
y=arg maxckP(Y=ck)jP(X(j)=x(j)|Y=ck)

三、朴素贝叶斯法的参数估计
1、极大似然估计
先验概率的极大似然估计是:

P(Y=ck)=Ni=1I(yi=ck)N,k=1,2,...,K
设第j个特征 x(j) 可能取值的集合为{ aj1,aj2,...,ajSj },条件概率的极大似然估计是:
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为指示函数。
2、贝叶斯估计
用极大似然估计可能会产生要估计的概率值为0的情况,这会影响到先验概率的计算,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计,具体地,先验概率的贝叶斯估计是:
Pλ(Y=ck)=Ni=1I(yi=ck)+λN+Kλ
条件概率的贝叶斯估计是:
Pλ(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)+λNi=1I(yi=ck)+Sjλ
j=1,2,...,n;l=1,2,...,Sj;k=1,2,...,K

猜你喜欢

转载自blog.csdn.net/heavenmark/article/details/75171636