基于最小错误率贝叶斯分类器的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于最小错误率的贝叶斯决策目录贝叶斯定理贝叶斯决策理论最小错误贝叶斯决策方法最小错误贝叶斯分类的计算过程最小错误贝叶斯分类的Matlab实现结论称为Bayes公式。从公式可以看出基于贝叶斯决策的决策结果取决于实际已给出训练样本的类条件概率和先验概率。贝叶斯概率是通过先验知识和统计现有数据,使用概率的方法对某一事件未来可能发生的概率进行估计的。贝叶斯定理Bayes公式:设实验E的样本空间为S,A为E的事件,B1,B2,...Bn为S的一个划分(也即类别)且有P(A)0,P(Bi)0,(i=1,2,…n),则下式niBPBAPBPBAPABPniiijjj,...2,1,)()/()()/()/(1贝叶斯决策理论本次酒瓶颜色分类属于多类(4类)判别情况,对于一个模式样本X要判别它属于哪一类要基于以下步骤进行:设定类别ωi=(ω1,ω2,…,ωm),模式样本x=(x1,x2,…,xn)1.确定判别函数:M类有M个判别函数g1(x),g2(x),…,gm(x),用于表示多类决策规则。多类判别函数可以定义为如下三种形式:如果使得,对于一切i≠j成立,则将x归于i类。)/()(xPxgii)()/()(iiiPxPxg)(ln)/(ln)(iiiPxPxg)()(xgxgjii贝叶斯决策理论2.确定决策面方程:3.进行分类器设0)()(),()(xgxgxgxgjiji即G1(x)MaxG(x)nxxxX...21特征向量判别计算决策ixG2(x)Gn(x)最大值选择器...G1(x)MaxG(x)nxxxX...21特征向量判别计算决策ixG2(x)Gn(x)最大值选择器...最小错误贝叶斯决策方法在模式分类问题中,人们往往希望尽量减少分类的错误,从这样的要求出发,利用概率论中的贝叶斯公式,就能得出使错误率为最小的分类规则,称之为基于最小错误率的贝叶斯决策。最小错误贝叶斯决策方法设有M类模式,分类规则为若则。上式称为最小错误贝叶斯决策规则。顾名思义,这一决策的错误率是最小的。(|)max{(|),1,2}ijPXPXjMiX最小错误贝叶斯决策方法对于两类情况:如果对于多类情况:如果且Tdxxxxxww],,,,[),,(32121ijjiwxxwPxwP)|(max)|(2,1Tdcxxxxx],,,,[),,,,(32121cjxwPxwPji,,2,1),|()|(iwxij最小错误贝叶斯决策方法化为对数形式为或者其中为待测试的样本值,为学习样本的类均值,为学习样本的协方差矩阵。ijicjjiiwxwPwPwPwPXG)}(ln)({lnmax)(ln)(ln)(1iiiiTiiSwpXXSXXXGln21)(ln)()(21)(1XiXiS最小错误贝叶斯分类的计算过程首先计算每一类样品的均值这里我们以第二类为例,其他各类同理计算B=[2352.122297.282092.622205.362949.162802.882063.542557.043340.143177.213243.743244.443017.113199.761411.53535.62584.321202.69662.421984.981257.21];X2=1.0e+03*2.39473.11131.0913123411(,,,,,)(i=0,1,2,Ni)IINTijjjjjNijjXXXXXXXN最小错误贝叶斯分类的计算过程然后求出每一类样品的协方差矩阵Si,并出其逆矩阵Si-1和行列式,l为样品在每一类序号,j和k为特征值序号,Ni为每类学习样本中包含元素的个数。其中:lllllllllnnn2n12n22211n1211uuuuuuuuuSijk11u()(),(j,k=1,2,,n)1iNljkijlkiixxxxN最小错误贝叶斯分类的计算过程第二类样品的协方差如下:S2=1.0e+05*1.2035-0.06270.4077-0.06270.6931-0.74990.4077-0.74992.8182协方差逆矩阵为S2_=1.0e-04*0.0877-0.0081-0.0149-0.00810.20330.0553-0.01490.05530.0523在计算S2的行列式的值,前期的数值计算基本完成。最小错误贝叶斯分类的Matlab实现重要程序代码介绍:初始化程序%输入训练样本数,类别数,特征数,以及属于各类别的样品个数N=29;w=4;n=3;N1=4;N2=7;N3=8;N4=10;参数计算%计算每一类训练样品的均值X1=mean(A')';X2=mean(B')';X3=mean(C')';X4=mean(D')';%求每一类样品的协方差矩阵S1=cov(A');S2=cov(B');S3=cov(C');S4=cov(D');%计算协方差矩阵的逆矩阵S1_=inv(S1);S2_=inv(S2);S3_=inv(S3);S4_=inv(S4);%计算协方差矩阵的行列式S11=det(S1);S22=det(S2);S33=det(S3);S44=det(S4);最小错误贝叶斯分类的Matlab实现重要程序代码介绍:%计算训练样本的先验概率Pw1=N1/N;Pw2=N2/N;Pw3=N3/N;Pw4=N4/N;%Prioriprobability%计算后验概率:在这里定义了一个循环fork=1:30P1=-1/2*(sample(k,:)'-X1)'*S1_*(sample(k,:)'-X1)+log(Pw1)-1/2*log(S11);P2=-1/2*(sample(k,:)'-X2)'*S2_*(sample(k,:)'-X2)+log(Pw2)-1/2*log(S22);P3=-1/2*(sample(k,:)'-X3)'*S3_*(sample(k,:)'-X3)+log(Pw3)-1/2*log(S33);P4=-1/2*(sample(k,:)'-X4)'*S4_*(sample(k,:)'-X4)+log(Pw4)-1/2*log(S44);最小错误贝叶斯分类的Matlab实现完整程序:clear;clc;N=29;w=4;n=3;N1=4;N2=7;N3=8;N4=10;A=[864.45877.881418.791449.58;1647.312031.661775.891641.58;2665.93071.182772.93045.12];%Abelongstow1B=[2352.122297.282092.622205.362949.162802.882063.542557.043340.143177.213243.743244.443017.113199.761411.53535.62584.321202.69662.421984.981257.21];%Bbelongstow2C=[1739.941756.771803.581571.171845.591692.621680.671651.521675.1516521583.121731.041918.811867.51575.781713.282395.961514.982163.051735.332226.492108.971725.11570.38];%Cbelongstow3最小错误贝叶斯分类的Matlab实现D=[373.3222.85401.3363.34104.8499.85172.78341.59291.02237.633087.053059.543259.943477.953389.833305.753084.493076.623095.683077.782429.472002.332150.982462.862421.833196.222328.652438.632088.952251.96];%Dbelongstow4%以上为学习样本数据的输入X1=mean(A')';X2=mean(B')';X3=mean(C')';X4=mean(D')';%求样本均值S1=cov(A');S2=cov(B');S3=cov(C');S4=cov(D');%求样本协方差矩阵S1_=inv(S1);S2_=inv(S2);S3_=inv(S3);S4_=inv(S4);%求协方差矩阵的逆矩阵S11=det(S1);S22=det(S2);S33=det(S3);S44=det(S4);%求协方差矩阵的行列式Pw1=N1/N;Pw2=N2/N;Pw3=N3/N;Pw4=N4/N;%先验概率最小错误贝叶斯分类的Matlab实现%这部分为初始样本数据计算sample=[1702.81639.792068.741877.931860.961975.367.812334.682535.11831.491713.111604.68460.693274.772172.992374.983346.98975.312271.893482.97946.71783.641597.992261.31198.833250.452445.081494.632072.592550.511597.031921.522126.76最小错误贝叶斯分类的Matlab实现1598.931921.081623.331243.131814.073441.072336.312640.261599.633300.122373.612144.472501.62591.51426.313105.292057.81507.131556.891954.51343.073271.722036.942201.943196.22935.532232.433077.871298.871580.11752.072463.041962.41594.971835.95最小错误贝叶斯分类的Matlab实现1495.181957.443498.021125.171594.392937.7324.223447.312145.011269.071910.722701.971802.071725.811966.351817.361927.42328.791860.451782.881875.13];%这部分为测试数据输入fork=1:30P1=-1/2*(sample(k,:)'-X1)'*S1_*(sample(k,:)'-X1)+log(Pw1)-1/2*log(S11);%第一类的判别函数P2=-1/2*(sample(k,:)'-X2)'*S2_*(sample(k,:)'-X2)+log(Pw2)-1/2*log(S22);%第二类的判别函数最小错误贝叶斯分类的Matlab实现P3=-1/2*(sample(k,:)'-X3)'*S3_*(sample(k,:)'-X3)+log(Pw3)-1/2*log(S33);%第三类的判别函数P4=-1/2*(sample(k,:)'-X4)'*S4_*(sample(k,:)'-X4)+log(Pw4)-1/2*log(S44);%第四类的判别函数P=[P1P2P3P4]Pmax=max(P)ifP1==max(P)w=1plot3(sample(k,1),sample(k,2),sample(k,3),'ro');gridon;holdon;elseifP2==max(P)w=2plot3(sample(k,1),sample(k,2),sample(k,3),'b');gridon;holdon;最小错误贝叶斯分类的Matlab实现elseifP3==max(P)w=3plot3(s

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功