您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 基于概率统计的贝叶斯分类器设计
1基于概率统计的贝叶斯分类器设计张斌驰电信0901200984250121摘要:贝叶斯决策理论是统计模式识别中的一个基本方法。依据贝叶斯决策理论设计的分类器具有最优的性能,即所实现的分类错误率或风险在所有可能的分类器中是最小的,因此经常被用来衡量其他分类器设计方法的优劣。关键词:贝叶斯分类器后验概率贝叶斯公式随着计算机与信息技术的发展,及时处理数据效率更高,分类技术能对大量的数据进行分析,并建立相应问题领域中的分类模型。在各种分类方法中基于概率的贝叶斯分类方法比较简单,得到了广泛的应用。一原理概述:贝叶斯分类器是基于贝叶斯网络所构建的分类器,贝叶斯网络是描述数据变量之间关系的图形模型,是一个带有概率注释的有向无环图。贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。(1)贝叶斯分类并不把一个对象绝对地指派给某一类,而是通过计算得出属于某一类的概率,具有最大概率的类便是该对象所属的类;(2)一般情况下在贝叶斯分类中所有的属性都潜在地起作用,即并不是一个或几个属性决定分类,而是所有的属性都参与分类;(3)贝叶斯分类对象的属性可以是离散的、连续的,也可以是混合的..二计算方法:1、贝叶斯分类的先决条件:pBAPAPABpB2(1)决策分类的类别数是一定的,设有c个模式类ωi(i=1,2,…,c)(2)各类别总体的概率分布已知,待识别模式的特征向量x的状态后验概率P(ωi|x)是已知的;或各类出现的先验概率P(ωi)和类条件概率密度函数p(x|ωi)已知2、两类分类的最小错误率Bayes分类决策规则的后验概率形式:设N个样本分为两类ω1,ω2。每个样本抽出n个特征,x=(x1,x2,x3,…,xn)T其中,P(ωi|x)为状态后验概率。由Bayes公式:两类分类的贝叶斯决策函数:三实例说明:一数据集有两类,每个样本有两个特征,类别1(class1.txt文件)含有150个样本,类别2(class2.txt文件)含有250个样本(.txt文件可以直接在Matlab中读入),分别取类别1的前100个和类别2的前200个样本作为训练样本,剩下的作为测试样本。要求:221121),()(),()(xxPxPxxPxP则若则若21)()()()()(jjjiiiPxpPxpxP)(,)()(ln)()(ln)()4()(,)()()()()()3()(),()()()()()2()(),()()()1(12211221221121取对数方法似然比形式类条件概率密度后验概率PPxpxpxgPPxpxpxgPxpPxpxgxPxPxg3(1)根据基于最小错误率的贝叶斯决策理论设计分类器;(2)叙述实验具体步骤,给出所设计的分类器对训练样本和测试样本的错误率;(3)提交的作业需包含Matlab程序代码(4)绘制分类结果(包含决策边界)的图像1、实验原理多元正太分布的概率密度函数由下式定义112211()exp()()2(2)TdpXXX由最小错误概率判决规则,可得采用如下的函数作为判别函数()(|)(),1,2,,iiigxpXPiN这里,()iP为类别i发生的先验概率,(|)ipX为类别i的类条件概率密度函数,而N为类别数。设类别i,i=1,2,……,N的类条件概率密度函数(|)ipX,i=1,2,……,N服从正态分布,即有(|)ipX~(,)iiN,那么上式就可以写为1122()1()exp()(),1,2,,2(2)TiidPgXXXiN由于对数函数为单调变化的函数,用上式右端取对数后得到的新的判别函数替代原来的判别函数()igX不会改变相应分类器的性能。因此,可取111()()()ln()lnln(2)222TiiiiiidgXXXP显然,上式中的第二项与样本所属类别无关,将其从判别函数中消去,不会改变分类结果。这样,判别函数()igX可简化为以下形式111()()()ln()ln22TiiiiiigXXXP42、实验步骤(1)求出两类样本的均值11,2iXiXiN(2)求每一类样本的协方差矩阵11()(),1,21iiiNwwijkljjlkklisxxjkN式中,l代表样本在类中的序号,其中ljx代表iw类的第l个样本,第j个特征值;iwj代表iw类的iN个样品第j个特征的平均值lkx代表iw类的第l个样品,第k个特征值;iwk代表iw类的iN个样品第k个特征的平均值。iw类的协方差矩阵为11122122iiiii(3)计算出每一类的协方差矩阵的逆矩阵1i以及协方差矩阵的行列式i(4)求出每一类的先验概率()/1,2iiPNNi(5)将各个数值代入判别函数111()()()ln()ln22TiiiiiigXXXP判别边界为12()()0gXgX3、实验结果根据matlab的计算结果可得5类别1训练样本的错误率为4%,类别2训练样本的错误率为5%;类别1测试样本的错误率为6%,类别2训练样本的错误率为4%。实验图图1训练样本分类结果如上图所示,“.”代表类别1的训练样本,“*”代表类别2的训练样本,绿线为决策边界;图2测试样本分类结果6如上图所示,“.”代表类别1的测试样本,“*”代表类别2的测试样本,绿线为决策边界;4、实验程序代码functiong=pattern(x,y)%clear;S1=load('e:\lwz\class1.txt');%原始数据class1导入S1S2=load('e:\lwz\class2.txt');%原始数据class2导入S2fori=1:100forj=1:2type1(i,j)=S1(i,j);%将class1的前100个数据导入type1当中,作为训练样本endendfori=1:200forj=1:2type2(i,j)=S2(i,j);%将class2的前200个数据导入type2当中,作为训练样本endend%求训练样本的均值sumx1=sum(type1,1);meanx1=sumx1(1,1)/100;7meany1=sumx1(1,2)/100;sumx2=sum(type2,1);meanx2=sumx2(1,1)/200;meany2=sumx2(1,2)/200;%求协方差矩阵z1(2,2)=0;fori=1:100z1(1,1)=z1(1,1)+(type1(i,1)-meanx1)^2;z1(1,2)=z1(1,2)+(type1(i,1)-meanx1)*(type1(i,2)-meany1);z1(2,1)=z1(2,1)+(type1(i,2)-meany1)*(type1(i,1)-meanx1);z1(2,2)=z1(2,2)+(type1(i,2)-meany1)^2;endz1(1,1)=z1(1,1)/99;z1(1,2)=z1(1,2)/99;z1(2,1)=z1(2,1)/99;z1(2,2)=z1(2,2)/99;z2(2,2)=0;fori=1:200z2(1,1)=z2(1,1)+(type2(i,1)-meanx2)^2;z2(1,2)=z2(1,2)+(type2(i,1)-meanx2)*(type2(i,2)-meany2);z2(2,1)=z2(2,1)+(type2(i,2)-meany2)*(type2(i,1)-meanx2);z2(2,2)=z2(2,2)+(type2(i,2)-meany2)^2;endz2(1,1)=z2(1,1)/199;z2(1,2)=z2(1,2)/199;8z2(2,1)=z2(2,1)/199;z2(2,2)=z2(2,2)/199;z1_inv=[];z1_det=[];z2_det=[];z2_det=[];z1_inv=inv(z1);%求协方差矩阵的逆z2_inv=inv(z2);%求协方差矩阵的行列式z1_det=det(z1);z2_det=det(z2);%求出两类样本的先验概率p1=100/300;p2=200/300;symsxy;g=(-0.5)*[x-meanx1,y-meany1]*z1_inv*[x-meanx1;y-meany1]+log(abs(z1_det))*0.5+log(p1)-((-0.5)*[x-meanx2,y-meany2]*z2_inv*[x-meanx2;y-meany2]+log(abs(z2_det))*0.5+log(p2))%画图命令ezplot(pattern);fori=101:150plot(S1(i,1),S1(i,2),'.')9holdonendfori=201:250plot(S2(i,1),S2(i,2),'*')holdonend四结束语:贝叶斯分类器在理论上是最优分类器,但准确地建立贝叶分类器结构比较困难,在基于概率统计方面给出有效实用的贝叶斯分类器是进一步研究的目标。参考文献:[1]林士敏,田凤占.用于数据采掘的贝叶斯分类器研究[J].2000年.[2]邢永康.信度网分类器[J].重庆大学学报,2000年.[3]周颜军,王双成,王辉.基于贝叶斯网络的分类器研究[J].2003年.[4]陆小艺,林士敏.用Matlab语言建构贝叶斯分类器[J].2004年.[5]张兵利,裴亚辉.贝叶斯网络模型概述[J].2008年.[6]西奥多里蒂斯.模式识别(第四版).电子工业出版社.2010年.[7]吴鹏.MATLAB高效编程技巧与应用.北京航空航天大学出版社.2010年.
本文标题:基于概率统计的贝叶斯分类器设计
链接地址:https://www.777doc.com/doc-2575590 .html