收藏 分享(赏)

神经网络与神经网络集成.doc

上传人:hwpkd79526 文档编号:9207502 上传时间:2019-07-29 格式:DOC 页数:27 大小:1.84MB
下载 相关 举报
神经网络与神经网络集成.doc_第1页
第1页 / 共27页
神经网络与神经网络集成.doc_第2页
第2页 / 共27页
神经网络与神经网络集成.doc_第3页
第3页 / 共27页
神经网络与神经网络集成.doc_第4页
第4页 / 共27页
神经网络与神经网络集成.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、165神经网络与神经网络集成与神经网络相关的研究可以追溯到上世纪中期,然而对神经网络的深入研究和广泛应用是在上世纪八十年代末到九十年代初,标志是 Hopfield 网络结构和 BP 学习算法的相继提出。20 世纪 50 年代,F. Rosenblatt 提出了感知器模型,这是神经网络最初的雏形,由于它只有一层的权值可调,因此解决不了非线性可分问题。针对感知器在处理非线性问题中存在的不足,Minsky 于1969 年出版的专著Perceptrons一度使神经网络的研究沉寂近 20 年,同时该书也指出通过加入隐层神经元有可能解决非线性可分问题,但他对加入隐层神经元后能否给出一个有效算法持悲观态度。

2、这一时期,相当一部分人工智能研究者的研究兴趣转向了专家系统这一领域。Hopfield 网络的提出,使神经网络相关研究在 70 年代末期得到了复苏。但真正掀起神经网络研究高潮的是在 80 年代初期,D. Werbos,D. Rumelhart 和 D. Parker 三人各自独立发明的误差反向传播算法(Error Back-Propagation, EBP) ,使多层前馈神经网络的实现成为可能,并使神经网络的研究前进了一大步。BP 网络的提出,极大地激发了人工智能研究者的热情,此后,各种神经网络模型与相应算法纷纷提出,典型如 BAM、径向基函数、自组织映射等。神经网络集成的提出主要是针对单个神经

3、网络的不确定性而提出的。8.1 神经网络理论一、神经网络基本理论神经网络是对人脑神经系统的数学模拟,其目的是学习和模仿人脑的信息处理能力。撇开神经网络的具体结构形式和学习算法,一般地认为神经网络的信息处理过程包括学习和工作两个相互独立的阶段。在学习阶段,由学习样本集获得权值向量,权值向量中蕴涵学习样本所包含的知识。设 为输X入向量,W 为权值向量,B 为输出向量,则对于监督学习,其过程可表为:(8.1.1),(YXf其中 是教师信号,如 BP 网络等。对于非监督学习,其过程可表为:Y(8.1.2)如用于主成分分析的 PCA 网络等。在工作阶段,由输入 和权值 获得输出AWB(8.1.3),(A

4、gB二、人工神经元模型人们对神经系统的研究已经有了很长一段历史,早在 19 世纪末,人们就开始认识到,人脑包含着数量大约在 101010 12 之间的神经元,这些神经元存在着复杂的联接,并形成一个整体,使得人脑具有各种智能行为。尽管在外观形状上,这些神经元各不相同,然而这些形形色色的神经元都由三个区组成:细胞体、图 8.1 神经元结构图166树突、轴突。如图 8.1 所示。从图中我们可以看出:一般的神经元有多个树突,它们起感受作用即接受外部(包括其它神经元)传递过来的信息。轴突只有一条,与树突相比它显得长而细,用于传递和输出信息。神经元之间通过突触联结,突触是一个神经元轴突的末梢与另一个神经元

5、的细胞体或树突相接触的地方,每个神经元大约有 10310 4 个突触,换句话说,每个神经元大约与 10310 4 个其它神经元有连接,正是因为这些突触才使得全部大脑神经元形成一个复杂的网络结构。依据上述理论,可以画出神经元的等效模型图 8.2。图 8.2 神经元等效模型从图 8.2 可以看出人脑神经系统的工作原理:外部刺激信号或上级神经元信号经合成后由树突传给神经元细胞体处理,最后由突触输出给下级神经元或作出响应。基于神经细胞的这种理论知识,自 1943 年 McCulloch 和 Pitts 提出的第一个人工神经元模型以来,人们相继提出了多种人工神经元模型,其中被人们广泛接受并普遍应用的是图

6、 8.3 所示的模型。图 8.3 人工神经元模型图中的 为实连续变量,是神经元的输入, 称为阈值(也称为门限) ,110,nx 是本神经元与上级神经元的连接权值。10,nw神经元对输入信号的处理包括两个过程:第一个过程是对输入信号求加权和,然后减去阈值变量,得到神经元的净输入 ,即et(8.1.4)10niixet上式表明,连接权大于 0 的输入对求和起着增强的作用,因而这种连接又称为兴奋连接,相反连接权小于 0 的连接称为抑制连接。第二个过程是对净输入 进行函数运算,得出神经元的输出 ,即net y(8.1.5)(etfy通常被称为变换函数(或特征函数) ,简单的变换函数有图 8.4 所示的

7、几种。f这几种变换函数分别满足如下关系:1)线性函数 2)阶跃函数kxf)( 01)(xf3)Sigmoid 函数(S 函数) 4)双曲正切函数xef1) )(thf从生理学角度看,阶跃函数最符合人脑神经元的特点,事实上,人脑神经元正是通过电位的高低两种状态来反映该神经元的兴奋与抑止。然而,由于阶跃函数不可微,因此,实际上更多使用的是与之相仿的 Sigmoid 函数。有些情况下,也可以结合使用,如在后面介绍的前向多层神经网络中,可能167采用的是:隐含层使用 Sigmoid 函数,输出层使用线性函数。图 8.4 神经元的几种常用变换函数8.2 前向多层神经网络、BP 算法一、前向多层神经网络基

8、于上面介绍的神经元结构,人们又提出了很多种神经网络结构模型,如 Hopfield 网络、Boltzmann 机、 ART 网络和 BAM 网络等。其中应用最为广泛的是前向多层神经网络。三层前向神经网络的结构如图 8.5 所示(有一种观点认为图示网络只有两层,其理由是输入层神经元只起数据传输作用,而没有进行任何计算,即不影响该网络的计算能力,因而在计算网络层数时不应该包括输入层) 。最下面为输入层,中间为隐含层,最上面为输出层。网络中相邻层采取全互连方式连接,同层各神经元之间没有任何连接,输出层与输入层之间也没有直接的连系。为方便以后的讨论,在此假设输入层、隐含层及输出层神经元的个数分别为 。N

9、ML,168图 8.5 前向多层神经网络模型可以证明:在隐含层神经元可以根据需要自由设置的情况下,那么用三层前向神经网络可以实现以任意精度逼近任意连续函数。前向多层神经网络中的动力学过程有两类:一类是学习过程,在这类过程中,神经元之间的连接权将得到调整,使之与环境信息相符合。连接权的调整方法称为学习算法;另一类过程是指神经网络的计算过程(也称为工作过程) ,在该过程中将实现神经网络的活跃状态的模式变换。二、BP 算法现在,我们来推导前向多层神经网络的学习算法。设从第 层神经元 j 到第 层神经元 i 的连接l1l权值为 , 为当前学习样本, 为在 样本下第 层第 i 个神经元的输出,变换函数

10、取为)(ljiwp)(lpiol fSigmoid 函数,即 。xef1)(对于第 个样本,网络的输出误差 用下式表示pE(8.2.1)02)(2NjpjjpotE上式中 为输入第 个样本时第 个神经元的理想输出即期望值,对应第 个样本的教师信号,jt p是它的实际输出。)2(pjo考虑多层神经网络中的 层(隐含层或输出层,即 ) ,假设第 层有 J 个神经元,第 层有l 2,1ll 1lI 个神经元,具有如下的通用结构:图 8.6 BP 神经网络的通用层结构为了使系统的实际输出与理想输出相接近,即使 下降,根据梯度算法,我们可以对 层按下式pEl进行调整:, (8.2.2)()(ljiplj

11、ipwE2,1对于非输入层神经元具有(8.2.3)(10)1()( ljIilpijlpjonet(8.2.4)()(ljjljtfo在式(8.2.3)中,如果将 看作是第 层的一个虚拟神经元的输出,即设 ,)(lj 1l 1)(lpIo, 则式(8.2.3)可改写为)()(ljljIw(8.2.5)(0)1()( ljIilpijlpjownet又169(8.2.6)()()( ljiplpjljipwnettE由式(8.2.5)可以得到(8.2.7)1(0)()()( lpiIklkjljiljip onet定义: ,并综合式(8.2.2)、(8.2.3)、(8.2.5) 和(8.2.7)

12、 得出)()(lpjlpjtE, , , (8.2.8)1)(lijljiowI,2 1,20Jj 2,l可见,为求出调整值,必须先求出 。)(lpj(8.2.9)()()()( lpjljlpjlpj netEnet由式(8.2.4)得到)()(lpjjlpjtfto现在,我们分两种情况来讨论:1)如果所讨论的神经元为输出神经元,则由式(8.2.1) 可得 ,代人式(8.2.9)得到)(2()(pjjlpjotE, , (8.2.10)()(2() lpjjpjlpj netfot21,0Nj2)如果所讨论的神经元为隐层神经元,则有)(110)1()( lpjkNklpklpj tetE10

13、)()(0)1(MilpilkilpjNlkownetE10)1(NklpkjnetE10)1(Nklkjlpw将此结果代人式 (8.2.9)得到, , (8.2.11)10)1()()(Nklkjlpljjlpj wntf 1,2j从上式可以看出,为求出隐含层的输出误差系数 ,必须用到输出层的 ,所以这个过程也称)1(pi)2(pj为误差反向传播过程。现在来讨论 中的 ,由于 采用 Sigmoid 函数,即)(lpi)(lpjjetff()()(1ljnetljj onetflpj由此,我们可以得到(8.2.12)()()lpjlpjljjtf将式(8.2.12)代入式(8.2.10) 和(

14、8.2.11) 得到, , (8.2.13)1)()(2)( lpilpiipjli ot21,0Nj和, , (8.2.14)()101()( lpilpiNklkjlplpiw1,2Mj将式(8.2.13)和式(8.2.14) 代人式(8.2.8) 得到当 (输出层)时2l, , (8.2.15)1(2)2()( pjipiipiijp oot1,0Ni j,20当 (隐含层)时1l170(8.2.16)0(1)1(102)()1( pjipiNkkipijp ow, ,jjxo)( ,M L,2至此为止,推导完了 BP 学习算法,式(8.2.15)和式(8.2.16)为推导的最后结果。现

15、在我们再来讨论 BP 学习算法中的几个值得注意的问题。1) 神经网络输入层、输出层的神经元个数由研究对象的输入、输出信息确定,如何合适地选取隐含层神经元的个数无规律可循,然而隐含层神经元的数目是否合适对整个网络能否正常工作具有重要的意义。隐含层神经元数目如果太少,则网络可能难以收敛;如果隐含层神经元数目刚刚够,则网络鲁棒性差,无法辨识以前未见过的模式;如果隐含层神经元过多,则除了需要较多的学习样本外,还可能会建立一个“老祖母”式的网络:无误差地学习了所有训练样本模式,却无法准确判断测试样本的模式,此即机器学习中经常提及的所谓过学习问题。有文献给出隐含层神经元数目确定方法的经验公式(8.2.17

16、)lnOIH式中 分别为隐含层神经元数目、输入层神经元数目和输出层神经元数目。 为 110 之间的In, l整数。2) 学习算法中的 表示学习速率,或称为步幅, 较大时,权值的修改量就较大,学习速率比较快,但有时会导致振荡; 值较小时,学习速率慢,然而学习过程平稳。这样,在实际的学习过程中,可以将 值取为一个与学习过程相关的变量,并且在学习刚开始时 值相对大,然后随着学习的深入,值逐步减小。3) 在权值的修改公式(8.2.8)中,往往还加入一个惯性项(有时称为动量项) ,即)1()nwlji(8.2.18)1()()( )1)( nwonwljilpiljlji 式中 表示第 层第 个神经元与

17、上一层第 i 个神经元之间的连接权的当前修改值,)(nlji表示上一个学习周期对同一个学习样本的权值修改值。1lji惯性项校正系数 应与 协调选取。4) 由于单个神经元的变换函数大都是采用 Sigmoid 函数而不是阶跃函数,因而输出层各神经元的实际输出值只能趋近于 1 或者 0,而不可能达到 1 或者 0。因而,在设置各训练样本的理想输出分量时,有时可取为接近 1 或 0 的数值,如 0.9 或 0.1 等,而不直接取为 1 或 0。pjt5) 在学习开始时,必须给各个连接权赋初值。我们可以对每个连接权赋一个随机值,但不能使所有的连接权初值都相等。通常的处理方法是给每一个连接权赋以 至 1

18、之间的一个随机数。6) BP 算法学习的目的是为了寻找连接权,使得误差趋于全局最小,然而在实际操作时,获得的连接权常常不能使误差趋于全局最小,而只能使之趋于一个相对大一点的误差值,我们称为局部最优。如何避免在学习过程中陷入局部最小是 BP 算法的一大难题。我们知道,当出现局部最优的情况时,表现出来的特征是:各权值收敛到某一稳定值,而误差值却不是最小。因此,我们可以按下式判定:, (8.2.19)pjpjtno)()(122)( 1,0Nj式中 , 为一小数,如 。2.如符合上式,则认为此时 BP 网络陷入局部极小点。网络陷入局部最小点后的处理方法有很多种,最简单的方法是从头重新做起,此外还可以

19、在 BP 学习过程中融入模拟退火算法或遗传算法来消除局部最小问题。综合上面的讨论,我们可以按照以下步骤来设计具体的学习过程:1711)网络结构及学习参数的确定:输入层、隐含层、输出层的神经元数目,步长 以及惯性项校正系数 、权值收敛因子 及误差收敛因子 。2)网络状态初始化:用较小的( 绝对值为 1 以内)随机数对网络权值、阈值置初值。3)提供学习样本:输入向量 和目标向量 。,2(Ppx),21(Ppt4)学习开始:对每一个样本进行如下操作:4.1)计算网络隐含层及输出层各神经元的输出i ljlijjlpjjlpj owfnetfo)()( ()1()( 4.2)计算训练误差(输出层)(12

20、(2)2()( pjjpjpjj t(隐含层)kkjjjjo14.3)修改权值和阈值)1()()()( )1() nwnwljiljilpijljilji 5)是否满足 ?若满足执行第 6)步,否则返回 4)步。1olpjlpj6)是否满足 ?若满足执行第 7)步,否则返回第 2)步。)()(tjlj7)停止。需要特别指出的是:由于在理论上三层 BP 神经网络在隐含层神经元数目可以任意设定的情况下,可以以任意精度逼近任意连续函数,因此此处介绍 BP 算法时也只介绍三层(即单隐含层)时的情况。但是,该算法也同样适用于多隐含层 BP 神经网络的情况。三、神经网络性能分析神经网络在很多方面表现出优秀

21、的性能,诸如:知识容量大;非线性逼近能力强;计算速度快。这些优越性,已有较多文献作了详细的阐述,并使得神经网络已经在很多领域中获得了广泛的应用。神经网络本身所存在的不足也很明显,正因为如此,才导致目前关于支持向量机研究的兴起,有关支持向量机的内容将在第七章中进行介绍。以前馈多层神经网络为例,不足主要体现为以下几点:1) 在神经网络的结构上,如何最优地确定隐层数目及各隐层神经元的数目,在这一点上,人们没有很多的理论作指导,所凭借的只是一些经验性的知识和试凑。2) 在一定的训练样本和网络模型与结构下,网络训练的结果存在很多个全局最优点,这样就导致网络的权值不仅与训练样本集相关,还与其初始值的选取直

22、接相关,从而增加了网络的不确定性。3) 网络的“黑箱”性质,使用户对输出的结果产生怀疑,它能对未学习样本作出准确的预测吗?这一点实际上考察的是神经网络的泛化能力,神经网络的“过学习问题”充分说明其泛化能力是得不到保证的。8.3 前向多层神经网络的一个应用实例由于在学习过程中采用 BP 算法,前向多层神经网络也称为 BP 网络,本节主要讨论 BP 网络在模式分类中的应用。一、多层前馈神经网络在模式识别中的应用方式根据网络中输出神经元数量的多少,将多层前馈神经网络应用于模式识别领域的方式分为以下两种形式:1 多输出型172这是用前向多层神经网络进行模式识别的最基本方式。网络的每一个输入节点对应输入

23、样本一个特征,而输出层节点数等于类别数,一个输出节点对应一个类别。在训练阶段,如果输入训练样本的类别标号是 i,则训练时将第 i 个输出节点的期望输出设置为1,而其余输出节点均设置为 0。在识别阶段,当一个未知类别的样本作用到输入端时,考查各输出节点的输出,并将这个样本的类别判定为与输出值最大的那个节点对应的类别。在某些情况下,如果输出最大的节点与其他节点输出的差距较小(小于某个域值) ,则可以作出拒识决策。实际上,多输出型神经网络还可以有很多其他的形式。更一般地,网络可以有 个输出节点,用m它们的某种编码来代表 个类别。上面这种方式只是其中的一个特例,有人把它称为“10”编码模c式或者“ 中

24、取 1”模式。c2 单输出型很多实验表明,在多输出方式中,由于网络要同时适应所有类别,势必需要更多的隐层节点;而且学习过程往往收敛较慢,此时可以采用多个多输入单输出形式的网络,让每个网络只完成识别两类分类,即判断样本是否属于某个类别。这样可以克服类别之间的耦合,经常可以得到更好的结果。具体作法是,网络的每一个输入节点对应样本一个特征,而输出层节点只有一个。为每个类建立一个这样的网络(网络的隐层节点数可以不同) 。对每一类进行分别训练,将属于这一类的样本的期望输出设为 1,而把属于其他类的样本的期望输出设为 0。在识别阶段,将未知类别的样本输入到每一个网络,如果某个网络的输出接近 1(或大于某个

25、域值,比如 0.5) ,则判断该样本属于这一类,而如果有多个网络的输出均大于域值,则或者将类别判断为具有最大输出的那一类,或者作出拒识决策,当所有网络的输出均小于域值时也可采取类似的决策方法。显然,在两类情况下,我们只需要一个单输出网络即可。将一类对应于输出 1,另一类对应于输出0,识别时只要输出大于 0.5 则决策为第一类,否则决策为第二类;或者也可以在两类之间设定一个域值,当输出在这个域值之间时作拒识决策。二、基于遗传神经网络的科研立项评审方法从本质上讲,各级基金项目的立项评审是一个分类问题,即将所有的申请项目分为资助与不资助两大类,或资助、不资助与联合资助三大类。评审指标也就与模式识别中

26、的特征相对应。1 某省自然科学基金项目立项评审方法以 1990 年代中后期某省自然科学基金项目的立项评审过程为例,评审过程主要是由多名评审专家从四个大方面 16 个具体指标对各申请项目进行考察,整个评审指标体系如表 6.12 所示。该省基金项目立项评审的具体操作过程可大致分为四个阶段,如图 8.7 所示专 家 打 分 申 请 人 答 辩专 家 评 议 决 策分 类综 合 表 格数 据 处 理评 审 表 格 淘 汰 项 目 评 议 项 目 资 助 情 况图 8.7 基金项目立项评审过程示意图(1) 打分:由多名(通常为 57)学术专家对申请课题的各项指标进行打分,一般每个指标可以根据申请课题水平

27、的高低打 A、B、C、D 四个值,这样对于每一份申请表都会得到多份评审表格;(2) 综合:由工作人员采用某一方法(如中间平均值方法、聚类平均方法等)将这些表格进行综合,成为一份与评审表格完全相同的综合表格;(3) 分类:根据综合表格的具体数据,对全体项目进行分类操作,并淘汰一批申请项目,剩下的项目称为评议项目进入到下一阶段;(4) 评议:请评议项目的申请者进行统一答辩,再由评委(由基金委员会的相关同志和相关学科的专家组成)根据申请者的答辩成绩结合评审专家的打分成绩决定资助情况:全额资助、联合资助或173不资助。与一般的分类问题相比,基金项目立项评审有其特殊性,在此,我们将符合与之相似特征的分类

28、问题称为正分类问题。定义 8.3.1:该分类问题称为正分类问题,简称 PCP,若该分类满足: 为评价指标集,X,对任两个输入向量 , ,若 ,即存在nxX,21jiX,jijijkin,21则 优于 , 分别为 所对应的分类结果。iYjY,ji对于正分类问题,如采用输出层神经元数目为 1 的多层前馈神经网络来实现分类,由于该网络采用的变换函数通常为单调递增函数(如 Sigmoid 函数) ,为保证结论的准确性和合理性,可使所有的连接权值为正(需要指出的是阈值可以为负) ,传统的 BP 算法由于采用误差反传算法,不能控制连接权值的正负。遗传算法是实现这一要求的有效途径。然而,进一步考虑到遗传算法

29、较弱的局部搜索能力导致神经网络的训练精度不可能太高,因此为获得理想的解最终还必须结合 BP 算法。这正是为什么采用遗传神经网络来进行科研立项研究的根本原因。2 遗传神经网络学习算法以多输入、单输出的多层前馈神经网络为例,设计遗传神经网络的训练方法。对于多输入多输出多层前馈神经网络或其它类型神经网络稍作修改即可应用。在描述详细的学习算法之前,先定义一些参数。:学习样本数目S:群体初始数目,即初始化后染色体总数,存于数组 D0 中N:群体现存数目,即在进化过程中,D0 中染色体的数目M:学习误差,对于第 个染色体,误差 , 分别为在第 个染色体作用下,Ei 21SjijiiyEij,i第 个学习样

30、本的理想输出和实际输出j:适应值,可取为误差的倒数,即 ,在本节后面的仿真例子中,为保证染色体的多样Fiif性,取为 5.01iiEf:全局最小误差限1:全局最小小邻域误差限2:全局最小大邻域误差限3:符合 的染色体数目,存放于数组 D1 中P21:符合 的染色体数目,存放于数组 D2 中Q32E:进行基因低位变异操作的最大次数,以避免进入死循环NMAX对于误差 ,满足 ,如可取 ,图 8.8 给出了误差 与权值向1, 32113230E量 的关系曲线示意图,设W(8.3.1)f从图中可以看出:对任意权值向量 ,有W(8.3.2)()(33221ff远 离 全 局 收 敛 区 域收 敛 到 全

31、 局 最 小 大 邻 域收 敛 到 全 局 最 小 小 邻 域收 敛 到 全 局 最 优 点174图 8.8 BP 神经网络误差 权值关系曲线当 处于不同区域时,采取不同的算法:当 ,采用遗传算法中的三个算子即选择算子、W3)(Wf交叉算子和高位变异算子,实现权值向量在较大范围内发生变化;当 ,采用遗传算法中32)(Wf的一个算子即低位变异算子,实现权值向量在较小范围内发生变化;当 ,采用 BP 算法,21以获得精确的全局收敛解;当 ,且所有权值都不小于 0(阈值除外) ,则可认为算法已找到符1)(f合要求的解。误差限 的确立可使后面的 BP 算法在一个较小的范围内进行,从而达到控制连接权32

32、,值符号和尽可能避免进入局部最小点的目的。整个算法的具体过程如下:STEP 1 对样本进行甄别,淘汰不符合要求的样本,形成 个学习样本;SSTEP 2 确定与本算法相关的参数;STEP 3 随机产生 组权值和阈值,存放于 D0 中,要求每一个权值都为正,阈值可正可负,对其N进行实数编码,令 , ;M0QPSTEP 4 判断 ,若是转 STEP 5;2STEP 4.1 对 DO 中 组染色体计算适应值,按适应值大小进行复制操作;STEP 4.2 对 组样本进行杂交和高位变异操作;STEP 4.3 对 D0 中任一染色体 计算误差 ,对 进行判断iiEiSTEP 4.3.1 成立,转 STEP 9

33、1iESTEP 4.3.2 成立,保存该染色体 于数组 D1 中, ,转 STEP 42 1,PMSTEP 4.3.3 成立,保存该染色体 于数组 D2 中, ,转 STEP 32i i Q4STEP 4.3.4 转 STEP 4STEP 5 0,KQSTEP 6 判断 或 ?2NMAXSTEP 6.1 不成立, 1STEP 6.1.1 对 D2 中的染色体串进行低位变异操作;STEP 6.1.2 对 D2 中的任一染色体 计算误差 ,对 进行判断;iiEiSTEP 6.1.2.1 成立,转 STEP 91iESTEP 6.1.2.2 成立,保存该染色体串于数组 D1 中, , ,2i 1QP

34、转 STEP 6STEP 6.1.2.3 转 STEP 6STEP 6.2 成立,转 STEP 7STEP 7 执行 BP 算法模块STEP 8 本次神经网络训练失败,扩大染色体串长,转 STEP 2175STEP 9 该适应值对应的染色体串符合神经网络训练要求;STEP 10 译码,获得神经网络的连接权值;STEP 11 算法结束。上述算法中,STEP 7 可分解为如下算法:STEP 7.1 判断 ?0PSTEP 7.1.1 成立,转 STEP 8STEP 7.1.2 不成立,从 D1 中取出一个染色体串, ;1PSTEP 7.1.3 对该染色体进行译码,获得神经网络的初试化权值;STEP

35、7.1.4 进行 BP 运算;STEP 7.1.4.1 不能收敛到全局最优点,转 STEP 7.1;STEP 7.1.4.2 权值不全为非负,转 STEP 7.1;STEP 7.1.4.3 转 STEP 93 对算法的一些说明整个 GNN 的学习算法大致分为遗传算法粗调、遗传算法细调和 BP 算法精调三大部分,可用下面框图简单表示图 8.9 学习算法流程框图编码采用十进制方式,每一个权值或阈值作为一个基因,所有的权值非负,所有的阈值可正可负。以三层前馈神经网络为例,设输入神经元数目为 3,隐含神经元数目为 2,输出神经元数目为 1,输入神经元与隐含神经元之间的权值表示为 ( 分别为输入神经元和

36、隐含神经元的编号) ,隐含神经元与ijw,输出神经元之间的权值表示为 ( 分别为隐含神经元和输出神经元的编号, ), 分别表示lkx, knm,隐含层神经元 和输出层神经元 的阈值,参见图 8.10,则对任一个染色体可表示 为mn)1 a(8.3.3),( 123212321 xwa式(8.3.3)中每一个基因都是一个十进制数据,如 13.45,其中可将小数点前的数字看作基因的高位,小数点后的数字看作基因的低位。设存在两个染色体(8.3.4)6.9)0,.18,7.9,346,0.12.3,48( 522591a则算法中用到的几种算子可用下面几式表示:单点杂交算子: .9),.18,6.9,7

37、340,0.162.3,487( 252591a(8.3.5).,.,., 3472多点杂交算子: ).1,896.,7.340.9,7.601,.348( 5225921a176(8.3.6) ).1,896.,7.340.26,8.945,2.3( 5270161a高位变异算子:).,.,.,.,.,05.9(1(8.3.7)2.5,1(1低位变异算子:).,43.9,72.,6.8,4.,6.(1a(8.3.8).,17509(1从(8.3.7)式和(8.3.8) 式可以看出:基因的高位变异更能使染色体适应值产生较大的变化,低位变异则具有更好的局部搜索能力。对于 STEP 4.1,对第

38、个染色体,复制概率为i(8.3.9)MfPji1式中 为染色体 的适应值,复制过程可采用轮盘法。ifi在 STEP 8 中,扩大染色体串长,相当于给整个算法扩大了搜索空间,从而增大了找到解的可能性。结合全面章节对多层前馈神经网络与遗传算法的介绍和图 8.9 可以看出,本算法有机地结合了遗传算法和 BP 算法各自具有的优点,既具有遗传算法的全局搜索能力,又具有 BP 算法的局部搜索精度。4 与一般 BP 网络的比较为了比较本算法与传统 BP 算法在非线性拟合能力上的差异,选择函数(8.3.10)325,.015.02xxy显然在 时, ,神经元的转换函数采用 Sigmoid 函数。对式(8.3.

39、10)进行采样,得1,321x到 12 个样本点如表 8.1 所示。需要指出的是:为了提高神经网络学习的速度和权值的质量,选择采样点时应考虑三点:遍历性,样本要具有代表性;相容性,样本之间不能自相矛盾;致密性,样本要有一定的数量。表 8.1 神经网络学习样本NO. 1x23xyNO. 1x23xy1 0 0 0 0 7 0.5 1 0.75 0.64142 0 0.25 0.5 0.125 8 0.75 0.5 0 0.38533 0.25 0 0.25 0.15 9 0.75 0.5 1 0.68534 0.25 0.5 0.75 0.3957 10 0.75 0.25 0.75 0.510

40、75 0.25 1 0 0.2 11 1 0 0.5 0.36 0.5 0 0.25 0.1914 12 1 1 1 1对表 8.1 中的样本集,采用三层前馈神经网络,神经元个数分别是 3-2-1,用本节算法和 BP 算法分别训练该网络,得到图 8.10 所示权值集合。177(a) 本节算法所得权值 (b) 传统 BP 算法所得权值图 8.10 多层前馈神经网络权值为验证本节算法的优越性,由式(8.3.10)随机产生 10 对检验样本,如表 8.2 所示。表 8.2 遗传神经网络检验表NO. 1x23xyEyE1 0.95 0.23 0.61 0.5272 0.5131 2.6780 0.55

41、44 -5.14402 0.49 0.89 0.76 0.6122 0.6430 -5.0415 0.7102 -16.00603 0.46 0.02 0.82 0.3289 0.2730 16.7207 0.2966 9.82484 0.44 0.62 0.79 0.5272 0.4983 5.4893 0.5928 -12.44955 0.92 0.74 0.18 0.5710 0.5451 4.5484 0.6755 -18.29886 0.41 0.94 0.92 0.6440 0.6919 -7.4352 0.7367 -14.39217 0.41 0.89 0.06 0.3055

42、0.3023 1.0380 0.2565 16.02748 0.35 0.81 0.01 0.2479 0.2425 2.1866 0.2087 15.81049 0.14 0.20 0.20 0.1479 0.1304 11.8086 0.0602 59.277010 0.60 0.27 0.20 0.3304 0.2952 10.65 0.2766 16.28671E0.0048 2E0.0249利用图 8.10 所示的权值,进行计算,所得结果也列在表 8.2 中,其中 为由式(8.3.10)产生的理论y输出值即所谓的期望输出, 为遗传神经网络所得结果, 为 BP 算法所得结果, 为误差,

43、满足:y y E,(8.3.11)%10y(8.3.12)E和 分别为采用本算法和 BP 算法 10 个检验样本的误差平方和。12, ;102)(iiy102)(iiyE%42.1901E从式(8.3.15)中可看出,针对 MCP 问题,多层前馈神经网络采用本节算法所得结果比传统 BP 算法具有更好的非线性处理能力。5 在科研立项管理中的应用在上述介绍的基础上,我们就可以利用多层前馈神经网络进行科研立项评审。以该省同一年份同一学科以往的评审数据作为学习样本,采用三层前馈神经网络,神经元个数分别是 16-10-1,需要指出的是资助建议(即输出)包括三个取值,用一个输入神经元。用本节算法训练该网络

44、,建立基于遗传神经网络的科研立项评审系统,由于权值和样本数据过多,具体的细节不在这里作介绍。研究结果表明,由于本系统采用的多层前馈神经网络考虑了科研立项操作的特点,因此比以往的评价系统更具有合理性。8.4 双向联想记忆(BAM)联想记忆(associative memory)是人脑记忆的一种重要形式,例如:看到某人的名字时,就会联想到这个人的容貌、性格等特征,听到某首歌的曲调就会联想到它的歌词等。联想记忆就其输入输出模式上讲可分为自联想记忆和异联想记忆两种。自联想记忆的功能是实现对自身的联想。联想的过程是首先在联想记忆中存储一组模式,然后向联想记忆中输入这 m 个模式中的某一个带有噪声的模式

45、,自联想记忆就会输mA,21 iA出一个与之相应的模式 ,且 与 具有某种定义上的最短距离。iiAi178异联想记忆能存储成对的模式 , , , 和 是不同向量空间中的向),(1BA),(2),(mBAii量。在联想时,设对异联想记忆输入向量 A,则输出向量为 B,且如果 A 与 最接近,则 B 就是与成对的 。自联想记忆也可以看作是异联想记忆的一种特例,此时存在 。iAiB ii从上面的定义也可以看出:联想记忆的操作可以分为两个阶段,信息存储阶段和联想阶段。在信息存储阶段即学习阶段,联想记忆通过对输入样本的学习来构造一个学习(存储)矩阵,用以将提供的模式信息全部包含进去;在联想阶段,联想记忆

46、针对当前的输入模式,找出与之最为接近的存储在联想记忆中的相应模式。在寻找最为接近或具有最短距离的存储模式上,通常要用到贴近度等数学工具。由 Kosko 提出的双向联想记忆(Bidirectional Associative Memory 简称 BAM)属于异联想记忆中的一种,它是由两层层间互连且同层不连的神经元域 FA和 FB构成的反馈神经网络,拓扑结构如图 8.11 所示。构成 BAM 的是非线性神经元,一般情况下,它们的输出取0,1之间的值,但通常情况下域 FA中的每一个神经元 和域 FB中的每一个神经元 的输出值均为二元值0,1。iajbBAM 中所有信息都包含在一个 的权值矩阵 M(即

47、前面说过的学习矩阵)中,它的双向联想mn功能也是通过权值矩阵 M 来实现的。一、 M 矩阵的确定M 矩阵的确定由以下两步来完成:1)对于给定的 个学习样本向量(矩阵)对 中的每一个p ),(),(,21pBABA求其双极向量(矩阵) 。)1)(,iBAi),(iYX所谓双极向量或矩阵是指在二值向量或矩阵的基础上,将 0 代之以 而得到的向量或矩阵。如二1值向量对 和 对应的双极向量对为 和 。1,0,i 0,1iB ),(iX)1,(iY2) 对于每一个双极向量对计算与之相应的双极伴随矩阵 ,再将它们相加,即得到权值矩阵iTYW。(8.4.1)pTTpiiT YXYX 211值得注意的是:样本

48、数量 必须小于 FA和 FB中的元素个即有公式(8.4.2),mn(因为只有这样才能将不同的样本向量对 都放在局部能量最小点上。由此可见,BAM 网络在存),(i储容量上与 BP 网络相比很小。下面举一个例子,具体看 BAM 是如何将这些联想对记住的。设有如下三个记忆对:,)1,0,(1A)0,(B,2 12,,3 ,3由于符合式(8.4.2),因此 BAM 可以将这些记忆对记住。现在将这些记忆对变换成联想记忆对,则有,)1,(1X)1,(Y,22,,3 ,3根据式(8.4.1)我们便可以得到权矩阵:图 8.11 BAM 的拓扑结构179 31 1313iiTYXW如果要从 BAM 中擦除某个记忆对,只需

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报