蠓虫分类 下载本文

内容发布更新时间 : 2024/9/13 1:10:03星期一 下面是文章的全部内容请认真阅读。

蠓虫分类问题可概括叙述如下:生物学家试图对两种蠓虫(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的数据集合称之为学习样本。

为解决上述问题,考虑一个其结构如下图所示的人工神经网络。

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)]; subplot(1,2,1)

plot(p1(:,1),p1(:,2),'*',p2(:,1),p2(:,2),'o') subplot(1,2,2)

net=newff(pr,[3,2],{'logsig','logsig'}); net.trainParam.show = 1; net.trainParam.lr = 0.05; net.trainParam.epochs = 3000; 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]'; y=sim(net,x)