您的位置:首页 > 编程语言 > MATLAB

matlab 蠓虫分类问题 &n…

2017-03-14 10:50 218 查看
具体函数介绍等请查阅之前博文。

神经网络编程  
 蠓虫分类问题
 
蠓虫分类问题可概括叙述如下:生物学家试图对两种蠓虫(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; 
 
 1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08]; 

p2=[1.14,1.82;1.18,1.96;1.20,1.86;1.26,2.00 
 
 1.28,2.00;1.30,1.96]; 
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 =

  Columns 1 through 5

   0.999998469029217
  0.999986403238122  
0.999995778078291   0.999993827903529
  0.999986645191870
   0.000001152581736
  0.000007269557758  
0.000002233563722   0.000003456760110
  0.000008018255016

  Columns 6 through 10

   0.999996946747089
  0.999999894981851  
0.999999984537964   0.999999998562995
  0.000000065368
4000
396
   0.000001642493507
  0.000000068819772  
0.000000011387286   0.000000001225300
  0.999999872587407

  Columns 11 through 15

   0.000000079968829
  0.000000077082618  
0.000000275655831   0.000000621237010
  0.000003796525943
   0.999999845954309
  0.999999850419633  
0.999999498798907   0.999998895866797
  0.999993204155620

y =

   0.000000213425334
  0.000004328847254  
0.999995435541596
   0.999999586187982
  0.999991726283911  
0.000003400140759
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: