4 G9 @% Q; z* m$ U- Z4 a' R; O! _% w( S2 V: e# o% A
第二类只利用全局极小点,它主要用于求解最优化问题。0 B" F- v' h0 J: ~9 f6 [4 a7 f
' a7 s1 w0 t7 ^* {6 B( s1 X) j7 l5 ?/ v$ H
蠓虫分类问题与多层前馈网络' g, j& B# R- P7 {
蠓虫分类问题 8 ^9 ]- m. R/ `% \. N$ g5 J蠓虫分类问题可概括叙述如下:生物学家试图对两种蠓虫(Af 与Apf)进行鉴别,依据的资料是触角和翅膀的长度,已经测得了9 支Af 和6 支Apf 的数据如下: 5 q1 n# F* h0 R) kAf: (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). * s) g$ H$ n0 ^5 r4 kApf: (1.14,1.82),(1.18,1.96),(1.20,1.86),(1.26,2.00),(1.28,2.00),(1.30,1.96).7 u) J) a: t$ `1 O. ^
现在的问题是:2 I& h! r$ C' I' L' d$ }
(i)根据如上资料,如何制定一种方法,正确地区分两类蠓虫。 ' h0 A: t" S, ~1 E \" `(ii)对触角和翼长分别为(1.24,1.80),(1.28,1.84)与(1.40,2.04)的3 个标本,用所得的方法加以识别。* N/ @" B' T& V
(iii)设Af 是宝贵的传粉益虫,Apf 是某疾病的载体,是否应该修改分类方法。 * s, N7 A) p$ ~2 m6 _% j' F如上的问题是有代表性的,它的特点是要求依据已知资料(9 支Af 的数据和6 支Apf 的数据)制定一种分类方法,类别是已经给定的(Af 或Apf)。今后,我们将9 支Af 及6 支Apf 的数据集合称之为学习样本。 ( C( M- }' P! J9 k' i$ ^) L+ G H, N- T
' ^9 j1 s6 s7 n' f' E- X9 [1 R
多层前馈网络 , S$ ~) `* n3 s8 ?) V: o为解决上 述问题,考虑一个其结构如下图所示的人工神经网络,2 V7 I$ i2 D8 t( G / w# M3 ]& {7 ?6 ~! p0 Q# m7 F, n# w
5 T9 W4 o. p5 C3 W; K
# r6 s& d) f! ?! H. T& g7 D# |& P' T I6 m6 C6 s& b# V
图中最下面单元,即由•所示的一层称为输入层,用以输入已知测量值。在我们的例子中,它只需包括两个单元,一个用以输入触角长度,一个用以输入翅膀长度。中间一层称为处理层或隐单元层,单元个数适当选取,对于它的选取方法,有一些文献进行了讨论,但通过试验来决定,或许是最好的途径。在我们的例子中,取三个就足够了。最上面一层称为输出层,在我们的例子中只包含二个单元,用以输出与每一组输入数据相对应的分类信息.任何一个中间层单元接受所有输入单元传来的信号,并把处理后的结果传向每一个输出单元,供输出层再次加工,同层的神经元彼此不相联接,输入与输出单元之间也没有直接联接。这样,除了神经元的形式定义外,我们又给出了网络结构。有些文献将这样的网络称为两层前传网络,称为两层的理由是,只有中间层及输出层的单元才对信号进行处理;输入层的单元对输入数据没有任何加工,故不计算在层数之内。 # r ^) ]) N0 G+ \7 N2 y, j 7 _$ ?1 G b0 R' M1 b$ w9 C) G( h" D8 X' P4 g5 a
下面利用上文所叙述的网络结构及方法,对蠓虫分类问题求解。编写 Matlab 程序如下:# q1 h8 E, l& d