朴树贝叶斯法

来源:互联网 发布:java怎么输入数组 编辑:程序博客网 时间:2024/05/03 01:29

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

1,朴素贝叶斯法的学习与分类

设输入空间χ是n维向量的集合,输出空间为类标记集合γ={c1,c2,...,cK}.输入特征向量为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),k=1,2,..,K
于是学习到联合概率分布P(X,Y)

朴素贝叶斯法对条件概率分布做了条件独立性的假设。

P(X=x|Y=ck)=P(X(1)=x(1),...,X(N)=x(N)|Y=ck)=j=1nP(X(j)=xj|Y=cj)

朴素贝叶斯法分类时,对给定的输入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)
由于分母对所有的ck都是相同的,所以
y=argmaxckP(Y=ck)jP(X(j)=xj|Y=ck)

2.朴素贝叶斯法的参数估计

(1)极大似然估计

在朴素贝叶斯法中,学习意味着估计P(Y=ck)P(X(j)=xj|Y=cj).可以用极大似然估计法估计相应的概率,先验概率的极大似然估计为

P(Y=ck)=Ni=1I(yi=ck)N,k=1,2,...,N
设第j个特征x^{(j)}可能取值的集合为{aj1,aj2ajn},条件概率P(X(j)=ajl|Y=ck)的极大似然估计是
P(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)Ni=1I(yi=ck)
式中,x(j)i是第i个样本的第j个特征;ajl是第j个特征可能取得第l个值;I为指示函数。

(2)学习与分类算法

朴素贝叶斯算法
输入:训练数据T={(x1,y1),(x2,y2),...,(xN,yN)},其中xi=(x(1)i,x(2)i,...,x(n)i)T,x(j)i是第i个样本的第j个特征。
输出:实例x的分类
(1)计算先验概率及条件概率

P(Y=ck)=Ni=1I(yi=ck)N,k=1,2,..,K
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

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

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

(3)贝叶斯估计

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

Pγ(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)+γNi=1I(yi=ck)+Sjγ
式中γ>=0
先验概率的贝叶斯估计为
Pγ(Y=ck)=Ni=1I(yi=ck)+γN+Kγ

0 0
原创粉丝点击