- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 储能电池项目工程组织与管理计划.docx VIP
- flotherm学习教程v8.1升级练习题zoomin.pdf VIP
- 五年(21-25)高考真题分类汇编专题06文言文阅读(双文本)(全国通用)(含解析).docx VIP
- CNAS-GL004-2018 标准物质_标准样品的使用指南 (2019-2-20第一次修订).pdf VIP
- 三年级上册10总复习(共43张PPT).pptx VIP
- 预防艾梅乙母婴传播理论考试试题及参考答案.docx VIP
- 中考名著导读《红星照耀中国》专项练习10试题.doc VIP
- 缠绕成型工艺及设备课件.ppt VIP
- 每月食品安全调度会议纪要.docx VIP
- 规范文件T∕CCSAS 004-2019 危化品企业设备完整性管理导则.pdf VIP
文档评论(0)