已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 实验原理实验数据:IRIS数据。分为三种类型,每种类型中包括50个思维的向量。实验模型:假设IRIS数据是正态分布的。实验准备:在每种类型中,选择部分向量作为训练样本,估计未知的均值和方差的参数。实验方法:最小错误判别准则;最小风险判别准则。实验原理:1. 贝叶斯公式已知共有类别,统计分布为正态分布,已知先验概率及类条件概率密度函数,对于待测样品,贝叶斯公式可以计算出该样品分属各类别的概率,叫做后验概率;看属于哪个类的可能性最大,就把归于可能性最大的那个类,后验概率即为识别对象归属的依据。贝叶斯公式为该公式体现了先验概率、类条件概率、后验概率三者的关系。其中,类条件概率密度函数为正态密度函数,用大量样本对其中未知参数进行估计,多维正态密度函数为式中,为n维向量; 为n维均值向量; 为n维协方差矩阵; 是的逆矩阵; 是的行列式。大多数情况下,类条件密度可以采用多维变量的正态密度函数来模拟。为类的均值向量。2. 最小错误判别准则1 两类问题有两种形式,似然比形式:其中,为似然比,为似然比阈值。对数形式:2 多类问题本实验采取针对多累问题的解决方法。在待测向量的条件下,看哪个类的概率最大,应该把归于概率最大的那个类。因此,可以通过比较各个判别函数来确定的类型。对数形式为:所以此时正态分布的贝叶斯分类器判别函数为3. 最小风险判别准则对观测值条件下,各状态后验概率求加权和的方式,表示风险如下:其中,为将第j类判为第i类的损失。若判对i=j,则取负值或零值,表示没有损失;若判对ij,则取正值,数值大小表示损失多少。对得到的M个类型的风险值进行比较,得到使条件风险最小的类别,判别X属于该类别。2、 实验过程实验环境:MATLAB R2009a1. 将txt格式下的IRIS数据导入实验环境中。实验中设计了对话框,可直接选择存放该文件的路径并导入。clear;%从irisdatas.txt读取数据%filename,filepath=uigetfile(*.txt,导入数据); file = filepath filename; fid = fopen(file); %弹出对话框,选择录入的文件if fid = -1 (打开数据出错!)end2. 将读入的数据进行逐行录入,按行录入在1*150的数组iris中,每一个元素中包含一个四维向量。%逐行存入数组iris中%linenum=1;while 1 tline = fgetl(fid); %读第一行 if ischar(tline), break, end %下一行为空时跳出循环 irislinenum = sscanf(tline, %f);%读取数据,存数组iris中 linenum=linenum+1;endend3. 通过计算,分别估计出三类的统计特征值,即正态分布的两个重要参数均值和方差。,。以下程序段为第一类特征值求取过程,第二、三类相似,实验中,取第偶数个向量为训练样本。%估计第一类iris数据的统计特征%sum=0;for j=1:1:4 for i=1:2:50 yangben1=irisi; sum=sum+yangben1(j,1); end mean1(j,1)=sum/25;%mean1是第一类数据的期望 sum=0;end sigema=0;for i=1:2:50 sigema=sigema+(irisi-mean1)*(irisi-mean1);endsigema1=sigema/25;%sigema1为第一类数据的协方差矩阵4. 已经估计出三类数据的统计特征。首先使用最小错误判别准则进行分类,实验中采用对数形式计算,假设三种类型的先验概率相等,即均为1/3,在某一X下得到的三个后验概率的函数。比较三个值的大小,哪个最大,就可判断X属于哪一类。最后进行了分类器判据结果的验证。%对150组数据进行分类,并验证结果的正确性%for i=1:1:150 x=irisi; %分别代入三个后验概率函数中% h1=-0.5*(x-mean1)*inv(sigema1)*(x-mean1)-2*log(2*pi)-0.5*log(det(sigema1)+log(1/3); h2=-0.5*(x-mean2)*inv(sigema2)*(x-mean2)-2*log(2*pi)-0.5*log(det(sigema2)+log(1/3); h3=-0.5*(x-mean3)*inv(sigema3)*(x-mean3)-2*log(2*pi)-0.5*log(det(sigema3)+log(1/3); h(1)=h1; h(2)=h2; h(3)=h3; %比较三个数据的大小,并判断属于哪一类% max=h(1); class=1; for j=1:1:3 if h(j)max max=h(j); class=j; end end %对分类器决策的结果进行验证并输出结果% if (i50 & i100 & class=3) fprintf(对于“判断第%d个数据属于第%d类”的分类是错误的!n,i,class); else fprintf(判断第%d个数据属于第%d类n,i,class); endend5.再使用最小风险判别准则进行分类,实验中扔采用对数形式计算,假设三种类型的先验概率相等,即均为1/3。设计出风险参数矩阵L,该数据可根据实际损失的情况需要进行修改。将X代入得到三个数值,哪个最小,即为风险最小,便属于该类型。最后同样进行了判别结构的验证。%对150组数据进行分类,并验证结果的正确性%hw1=log(1/3);hw2=log(1/3);hw3=log(1/3);%三个类型的先验函数相等L=0,1,1; 1,0,1; 1,1,0;%设计风险参数矩阵,可根据损失多少进行改变for i=1:1:150 x=irisi;%先计算先验概率%hxw1=-0.5*(x-mean1)*inv(sigema1)*(x-mean1)-2*log(2*pi)-0.5*log(det(sigema1); hxw2=-0.5*(x-mean2)*inv(sigema2)*(x-mean2)-2*log(2*pi)-0.5*log(det(sigema2); hxw3=-0.5*(x-mean3)*inv(sigema3)*(x-mean3)-2*log(2*pi)-0.5*log(det(sigema3); %再计算含有风险因子的后验概率% r(1)=L(1,1)*(hxw1+hw1)+L(1,2)*(hxw2+hw2)+L(1,3)*(hxw3+hw3); r(2)=L(2,1)*(hxw1+hw1)+L(2,2)*(hxw2+hw2)+L(2,3)*(hxw3+hw3); r(3)=L(3,1)*(hxw1+hw1)+L(3,2)*(hxw2+hw2)+L(3,3)*(hxw3+hw3); %比较三类风险大小,属于风险最小的那一类% min=r(1); class=1; for j=1:1:3 if r(j)min min=r(j); class=j; end end %验证分类结果的正确性% if (i50 & i100 & class=3) fprintf(对于“判断第%d个数据属于第%d类”的分类是错误的!n,i,class); else fprintf(判断第%d个数据属于第%d类n,i,class); endend3、 实验结果与分析1. 最小错误判别准则12判断第1个数据属于第1类判断第2个数据属于第1类判断第3个数据属于第1类判断第4个数据属于第1类判断第5个数据属于第1类判断第6个数据属于第1类判断第7个数据属于第1类判断第8个数据属于第1类判断第9个数据属于第1类判断第10个数据属于第1类判断第11个数据属于第1类判断第12个数据属于第1类判断第13个数据属于第1类判断第14个数据属于第1类判断第15个数据属于第1类判断第16个数据属于第1类判断第17个数据属于第1类判断第18个数据属于第1类判断第19个数据属于第1类判断第20个数据属于第1类判断第21个数据属于第1类判断第22个数据属于第1类判断第23个数据属于第1类判断第24个数据属于第1类判断第25个数据属于第1类判断第26个数据属于第1类判断第27个数据属于第1类判断第28个数据属于第1类判断第29个数据属于第1类判断第30个数据属于第1类判断第31个数据属于第1类判断第32个数据属于第1类判断第33个数据属于第1类判断第34个数据属于第1类判断第35个数据属于第1类判断第36个数据属于第1类判断第37个数据属于第1类判断第38个数据属于第1类判断第39个数据属于第1类判断第40个数据属于第1类判断第41个数据属于第1类判断第42个数据属于第1类判断第43个数据属于第1类判断第44个数据属于第1类判断第45个数据属于第1类判断第46个数据属于第1类判断第47个数据属于第1类判断第48个数据属于第1类判断第49个数据属于第1类判断第50个数据属于第1类判断第51个数据属于第2类判断第52个数据属于第2类判断第53个数据属于第2类判断第54个数据属于第2类判断第55个数据属于第2类判断第56个数据属于第2类判断第57个数据属于第2类判断第58个数据属于第2类判断第59个数据属于第2类判断第60个数据属于第2类判断第61个数据属于第2类判断第62个数据属于第2类判断第63个数据属于第2类判断第64个数据属于第2类判断第65个数据属于第2类判断第66个数据属于第2类判断第67个数据属于第2类判断第68个数据属于第2类判断第69个数据属于第2类判断第70个数据属于第2类对于“判断第71个数据属于第3类”的分类是错误的!判断第72个数据属于第2类判断第73个数据属于第2类判断第74个数据属于第2类判断第75个数据属于第2类判断第76个数据属于第2类判断第77个数据属于第2类判断第78个数据属于第2类判断第79个数据属于第2类判断第80个数据属于第2类判断第81个数据属于第2类判断第82个数据属于第2类判断第83个数据属于第2类对于“判断第84个数据属于第3类”的分类是错误的!判断第85个数据属于第2类判断第86个数据属于第2类判断第87个数据属于第2类判断第88个数据属于第2类判断第89个数据属于第2类判断第90个数据属于第2类判断第91个数据属于第2类判断第92个数据属于第2类判断第93个数据属于第2类判断第94个数据属于第2类判断第95个数据属于第2类判断第96个数据属于第2类判断第97个数据属于第2类判断第98个数据属于第2类判断第99个数据属于第2类判断第100个数据属于第2类判断第101个数据属于第3类判断第102个数据属于第3类判断第103个数据属于第3类判断第104个数据属于第3类判断第105个数据属于第3类判断第106个数据属于第3类判断第107个数据属于第3类判断第108个数据属于第3类判断第109个数据属于第3类判断第110个数据属于第3类判断第111个数据属于第3类判断第112个数据属于第3类判断第113个数据属于第3类判断第114个数据属于第3类判断第115个数据属于第3类判断第116个数据属于第3类判断第117个数据属于第3类判断第118个数据属于第3类判断第119个数据属于第3类判断第120个数据属于第3类判断第121个数据属于第3类判断第122个数据属于第3类判断第123个数据属于第3类判断第124个数据属于第3类判断第125个数据属于第3类判断第126个数据属于第3类判断第127个数据属于第3类判断第128个数据属于第3类判断第129个数据属于第3类判断第130个数据属于第3类判断第131个数据属于第3类对于“判断第132个数据属于第2类”的分类是错误的!判断第133个数据属于第3类对于“判断第134个数据属于第2类”的分类是错误的!判断第135个数据属于第3类判断第136个数据属于第3类判断第137个数据属于第3类判断第138个数据属于第3类判断第139个数据属于第3类判断第140个数据属于第3类判断第141个数据属于第3类判断第142个数据属于第3类判断第143个数据属于第3类判断第144个数据属于第3类判断第145个数据属于第3类判断第146个数据属于第3类判断第147个数据属于第3类判断第148个数据属于第3类判断第149个数据属于第3类判断第150个数据属于第3类第一类中没有出现判决错误,第二、三类中出现了个别的错误,分类正确率较高,如果要提高正确率,可以选取更多的样本进行训练。在实际应用中,先验概率的确定也是比较重要的,会在一定程度上影响结果。从数据txt文件中,查询出错的数据,发现其本身和组内其他数据差异也较大,被判错的可能性也比较高。2. 最小风险判别准则1 设计风险因子矩阵L规则如下:得到的识别结果同第一种方法相同,即如上所示的三张图。 例如在计算第一类风险时,按此规则,改写为当不发生判错时,为最大,判为第一类,和最小错误判别准则一致;当发生判错时,或,不是最大值,该X不被判为第一类,和最小错误判别准则一致。因此,在这种设计规则下,两种方法一致。2 根据需要可以改变风险因子矩阵L,当判错第j类为第i类损失较大时,设计去较大的值。从最小错误判别准则的实验中可以看到,有两个第二类数据判为第三类,两个第三类数据判为第二类,因此将略增大一点,使损失变大,以减少这样的错误。设计时,得到如下结果:判断第1个数据属于第1类判断第2个数据属于第1类判断第3个数据属于第1类判断第4个数据属于第1类判断第5个数据属于第1类判断第6个数据属于第1类判断第7个数据属于第1类判断第8个数据属于第1类判断第9个数据属于第1类判断第10个数据属于第1类判断第11个数据属于第1类判断第12个数据属于第1类判断第13个数据属于第1类判断第14个数据属于第1类判断第15个数据属于第1类判断第16个数据属于第1类判断第17个数据属于第1类判断第18个数据属于第1类判断第19个数据属于第1类判断第20个数据属于第1类判断第21个数据属于第1类判断第22个数据属于第1类判断第23个数据属于第1类判断第24个数据属于第1类判断第25个数据属于第1类判断第26个数据属于第1类判断第27个数据属于第1类判断第28个数据属于第1类判断第29个数据属于第1类判断第30个数据属于第1类判断第31个数据属于第1类判断第32个数据属于第1类判断第33个数据属于第1类判断第34个数据属于第1类判断第35个数据属于第1类判断第36个数据属于第1类判断第37个数据属于第1类判断第38个数据属于第1类判断第39个数据属于第1类判断第40个数据属于第1类判断第41个数据属于第1类判断第42个数据属于第1类判断第43个数据属于第1类判断第44个数据属于第1类判断第45个数据属于第1类判断第46个数据属于第1类判断第47个数据属于第1类判断第48个数据属于第1类判断第49个数据属于第1类判断第50个数据属于第1类判断第51个数据属于第2类判断第52个数据属于第2类判断第53个数据属于第2类判断第54个数据属于第2类判断第55个数据属于第2类判断第56个数据属于第2类判断第57个数据属于第2类判断第58个数据属于第2类判断第59个数据属于第2类判断第60个数据属于第2类判断第61个数据属于第2类判断第62个数据属于第2类判断第63个数据属于第2类判断第64个数据属于第2类判断第65个数据属于第2类判断第66个数据属于第2类判断第67个数据属于第2类判断第68个数据属于第2类判断第69个数据属于第2类判断第70个数据属于第2类判断第71个数据属于第2类 判断第72个数据属于第2类判断第73个数据属于第2类判断第74个数据属于第2类判断第75个数据属于第2类判断第76个数据属于第2类判断第77个数据属于第2类判断第78个数据属于第2类判断第79个数据属于第2类判断第80个数据属于第2类判断第81个数据属于第2类判断第82个数据属于第2类判断第83个数据属于第2类对于“判断第84个数据属于第3类”的分类是错误的!判断第85个数据属于第2类判断第86个数据属于第2类判断第87个数据属于第2类判断第88个数据属于第2类判断第89个数据属于第2类判断第90个数据属于第2类判断第91个数据属于第2类判断第92个数据属于第2类判断第93个数据属于第2类判断第94个数据属于第2类判断第95个数据属于第2类判断第96个数据属于第2类判断第97个数据属于第2类判断第98个数据属于第2类判断第99个数据属于第2类判断第100个数据属于第2类判断第101个数据属于第3类判断第102个数据属于第3类判断第103个数据属于第3类判断第104个数据属于第3类判断第105个数据属于第3类判断第106个数据属于第3类判断第107个数据属于第3类判断第108个数据属于第3类判
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 床上纺织品文化体验创新创业项目商业计划书
- 文旅项目市场定位与开发计划
- 2026年中国第三方数据中心项目经营分析报告
- 快递企业仓储配送优化方案
- 2026年中国IT服务管理(ITSM) 项目经营分析报告
- 假期值班岗位职责与注意事项清单
- 酒吧活动包场合同签订指南
- 金融投资公司人才梯队培养体系建设
- 双减政策背景下班级管理策略
- 2025年(完整版)教育心理学试题(含答案解析)
- 仪表安全知识培训
- 《中庸》教学课件
- 重卡换电站项目建议书
- QGDW11486-2022继电保护和安全自动装置验收规范
- 派出所制度管理制度
- 文化遗产语义组织方法-洞察及研究
- 2025广东食品药品职业学院教师招聘考试试题
- 英语四级必考词汇
- 2025年广东省深圳市福田区中考历史二模试卷
- 2025年滨州无棣县润禹水务集团有限公司招聘笔试参考题库附带答案详解
- 九年级数学上册专题练习五相似三角形的基本模型
评论
0/150
提交评论