朴树贝叶斯法
2016-07-20 18:18
387 查看
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布;然后基于此模型。对给定的输入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)
输入:训练数据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,..,KP(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)
条件概率的贝叶斯估计是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γ
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,aj2,,ajn},条件概率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,..,KP(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γ
相关文章推荐
- 响应式图片填充工具picturefill
- "==" 和 "="你真分的开吗?
- 轻松一下
- HDU 1711 kmp入门
- Android应用界面开发04
- uboot简介
- docker – 你应该知道的10件事
- Android ORM数据库之OrmLite使用框架及源码分析
- docker – 你应该知道的10件事
- docker – 你应该知道的10件事
- Java WMI
- 不要62<hdoj2089>
- git 切换到之前的版本上
- 骨牌平铺问题
- Thread Pools
- Thread Pools
- Thread Pools
- docker4dotnet #2 容器化主机
- docker4dotnet #2 容器化主机
- docker4dotnet #2 容器化主机