matlab 蠓虫分类问题 神经网络编程实例
(2013-08-16 11:22:56)
标签:
matlab函数it |
分类: matlab基础 |
具体函数介绍等请查阅之前博文。
神经网络编程
蠓虫分类问题
蠓虫分类问题可概括叙述如下:生物学家试图对两种蠓虫(Af与Apf)进行鉴别,
依据的资料是触角和翅膀的长度,已经测得了9 支Af和6 支Apf
的数据如下:
Af: (1.24,1.27),(1.36,1.74) ,(1.38,1.64) ,(1.38,1.82)
,(1.38,1.90) ,(1.40,1.70) ,
(1.48,1.82) ,(1.54,1.82) ,(1.56,2.08).
Apf: (1.14,1.82),(1.18,1.96) ,(1.20,1.86) ,(1.26,2.00)
,(1.28,2.00) ,(1.30,1.96).
现在的问题是:
(i )根据如上资料,如何制定一种方法,正确地区分两类蠓虫。
(ii )对触角和翼长分别为(1.24,1.80) ,(1.28,1.84) 与(1.40,2.04) 的3
个标本,用所得
到的方法加以识别。
(iii )设Af是宝贵的传粉益虫,Apf
是某疾病的载体,是否应该修改分类方法。
如上的问题是有代表性的,它的特点是要求依据已知资料(9 支Af的数据和 6 支
Apf 的数据)制定一种分类方法,类别是已经给定的(Af或Apf)。今后,我们将9 支Af及6 支Apf
的数据集合称之为学习样本。
Matlab 程序如下:
clear
p1=[1.24,1.27;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;
p2=[1.14,1.82;1.18,1.96;1.20,1.86;1.26,2.00
p=[p1;p2]';
pr=minmax(p);
goal=[ones(1,9),zeros(1,6);zeros(1,9),ones(1,6)];
plot(p1(:,1),p1(:,2),'h',p2(:,1),p2(:,2),'o')
net=newff(pr,[3,2],{'logsig','logsig'});
net.trainParam.show = 10;
net.trainParam.lr = 0.05;
net.trainParam.goal = 1e-10;
net.trainParam.epochs = 50000;
net = train(net,p,goal);
x=[1.24 1.80;1.28 1.84;1.40 2.04]';
y0=sim(net,p)
y=sim(net,x)
结果:
y0 =
y =

加载中…