模式识别实验二.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 势函数算法的迭代训练 0840501104 刘悦 一.实验目的 通过本实验的学习,使学生了解或掌握模式识别中利用势函数的方法,能够实现模式的分类。学会运用以学习的先导课程如数据结构和算法设计知识,选用合适的数据结构完成算法的设计和程序的实现。并通过测试数据来检查其正确性。通过选用此种分类方法进行分类器设计实验,从而强化学生对两类别决策类)和非正常(类)的数据如下: 类:(1,2, 5), (1,1, 2),(3,3,6); 类:(5,6,10),(7,6,11),(8,7,12). 三.实验步骤 1、选定势函数(3个中选1,或做成多选的,实用中由人工自动选1); 2、确定合适数据结构,以便分别完成势函数和判别函数的正确表示; 3、编写分类决策程序; 4、输入样本加以训练,使其满足分类要求,建立判别函数; 5、输出你的判别函数的表达形式(注意:表达形式要求便于阅读理解)。 四.测试 1、先测试已有样本的正确性。 2、用待测数据加以分类。这里,对样本: (2,3,5),(6,7,10) 分别测试,检查它们是否能得到分别属于类和类的结果,从而确认所设计的分类 器是正确的。 程序代码如下: n=6; %n表示样本总数。这里n=6,前3个样本属于第一类,后三个样本属于第二类 m=30; % 最大可能的项数 d=3 ; % d表示维长 % struct sample { % int x[d]; % int cl; % }; %struct func{ % int symbol; % int index; //用于记录样本号,即对应的样本的下标号 % }; % struct func ftbl[m]; % int k r=0;tag=1; % i,j; g=0;temp=0; s=[1,2,5,1; % 1 表示属于第1类 1,1,2,1; % 1 表示属于第1类 3,3,6,1; % 1 表示属于第1类 5,6,10,2; % 2 表示属于第2类 7,6,11,2; % 2 表示属于第2类 8,7,12,2]; %2表示属于第2类 % main() % { while(tag==1) tag=0; for k=1;n if (r==0) r=r+1; % r指向到目前为止所得到的势函数的最后一项 ftbl(r).symbol=1; % 该项的符号。 1--正;-1--负 ftbl(r).index=1; % 该项对应的样本下标号 continue; else g=0; for i=1:r temp=0; for j=1:d % d表示维长 temp=temp+(s(k,j)-s(ftbl(i).index,j))*(s(k,j)-s(ftbl(i).index,j)); end g=g+ftbl(i).symbol*exp(-temp); % g+=ftbl[i].symbol*exp(-temp); 共r项,每项都是一指数形式 end if((g0s(k,4)==1)|(g0s(k,4)==2)) continue; % 正确分类时,不修改判别函数 else r=r+1; ftbl(r).index=k; tag=1; if(g0s(k,4)==2) ftbl(r).symbol=-1; else if(g0ss(k,4)==1) ftbl(r).symbol=1; end end end end end % end of for end % end of while disp(\n\n\n) disp(输出判别函数的表达式) for i=1:r if(ftbl(i).symbol==1) if(i==1) fprintf(exp{-[(x1) else fprintf(+exp{-[(x1) end else fprintf(-exp{-[(x1) end if (s(ftbl

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档