欢迎来到天天文库
浏览记录
ID:14099696
大小:298.36 KB
页数:12页
时间:2018-07-26
《模式识别实验报告iris》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验原理实验数据:IRIS数据。分为三种类型,每种类型中包括50个思维的向量。实验模型:假设IRIS数据是正态分布的。实验准备:在每种类型中,选择部分向量作为训练样本,估计未知的均值和方差的参数。实验方法:最小错误判别准则;最小风险判别准则。实验原理:1.贝叶斯公式已知共有类别,统计分布为正态分布,已知先验概率及类条件概率密度函数,对于待测样品,贝叶斯公式可以计算出该样品分属各类别的概率,叫做后验概率;看属于哪个类的可能性最大,就把归于可能性最大的那个类,后验概率即为识别对象归属的依据。贝叶斯公式为该公式体现了先验概率、类条件概率、后验概率三者的关系。其中,类条件概率密度函
2、数为正态密度函数,用大量样本对其中未知参数进行估计,多维正态密度函数为式中,为n维向量;为n维均值向量;为n维协方差矩阵;是的逆矩阵;是的行列式。大多数情况下,类条件密度可以采用多维变量的正态密度函数来模拟。为类的均值向量。121.最小错误判别准则① 两类问题有两种形式,似然比形式:其中,为似然比,为似然比阈值。对数形式:② 多类问题本实验采取针对多累问题的解决方法。在待测向量的条件下,看哪个类的概率最大,应该把归于概率最大的那个类。因此,可以通过比较各个判别函数来确定的类型。对数形式为:所以此时正态分布的贝叶斯分类器判别函数为3.最小风险判别准则对观测值条件下,各状态后验概率
3、求加权和的方式,表示风险如下:其中,为将第j类判为第i类的损失。若判对i=j,则取负值或零值,表示没有损失;若判对ij,则取正值,数值大小表示损失多少。对得到的M个类型的风险值进行比较,得到使条件风险最小的类别,判别X属于该类别。12二、实验过程实验环境:MATLABR2009a1.将txt格式下的IRIS数据导入实验环境中。实验中设计了对话框,可直接选择存放该文件的路径并导入。clear;%从irisdatas.txt读取数据%[filename,filepath]=uigetfile('*.txt','导入数据');file=[filepathfilename];fid=f
4、open(file);%弹出对话框,选择录入的文件iffid==-1('打开数据出错!')end2.将读入的数据进行逐行录入,按行录入在1*150的数组iris中,每一个元素中包含一个四维向量。%逐行存入数组iris中%linenum=1;while1tline=fgetl(fid);%读第一行if~ischar(tline),break,end%下一行为空时跳出循环iris{linenum}=sscanf(tline,'%f');%读取数据,存数组iris中linenum=linenum+1;endend121.通过计算,分别估计出三类的统计特征值,即正态分布的两个重要参数均
5、值和方差。,。以下程序段为第一类特征值求取过程,第二、三类相似,实验中,取第偶数个向量为训练样本。%估计第一类iris数据的统计特征%sum=0;forj=1:1:4fori=1:2:50yangben1=iris{i};sum=sum+yangben1(j,1);endmean1(j,1)=sum/25;%mean1是第一类数据的期望sum=0;endsigema=0;fori=1:2:50sigema=sigema+(iris{i}-mean1)*(iris{i}-mean1)';endsigema1=sigema/25;%sigema1为第一类数据的协方差矩阵121.已经
6、估计出三类数据的统计特征。首先使用最小错误判别准则进行分类,实验中采用对数形式计算,假设三种类型的先验概率相等,即均为1/3,在某一X下得到的三个后验概率的函数。比较三个值的大小,哪个最大,就可判断X属于哪一类。最后进行了分类器判据结果的验证。%对150组数据进行分类,并验证结果的正确性%fori=1:1:150x=iris{i};%分别代入三个后验概率函数中%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(si
7、gema2)*(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;forj=1:1:3ifh(j)>maxmax=h(j);class=j;enden
此文档下载收益归作者所有