神经网络与神经网络集成.doc_第1页
神经网络与神经网络集成.doc_第2页
神经网络与神经网络集成.doc_第3页
神经网络与神经网络集成.doc_第4页
神经网络与神经网络集成.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

神经网络与神经网络集成与神经网络相关的研究可以追溯到上世纪中期,然而对神经网络的深入研究和广泛应用是在上世纪八十年代末到九十年代初,标志是Hopfield网络结构和BP学习算法的相继提出。20世纪50年代,F. Rosenblatt提出了感知器模型,这是神经网络最初的雏形,由于它只有一层的权值可调,因此解决不了非线性可分问题。针对感知器在处理非线性问题中存在的不足,Minsky于1969年出版的专著Perceptrons一度使神经网络的研究沉寂近20年,同时该书也指出通过加入隐层神经元有可能解决非线性可分问题,但他对加入隐层神经元后能否给出一个有效算法持悲观态度。这一时期,相当一部分人工智能研究者的研究兴趣转向了专家系统这一领域。Hopfield网络的提出,使神经网络相关研究在70年代末期得到了复苏。但真正掀起神经网络研究高潮的是在80年代初期,D. Werbos,D. Rumelhart和D. Parker三人各自独立发明的误差反向传播算法(Error Back-Propagation, EBP),使多层前馈神经网络的实现成为可能,并使神经网络的研究前进了一大步。BP网络的提出,极大地激发了人工智能研究者的热情,此后,各种神经网络模型与相应算法纷纷提出,典型如BAM、径向基函数、自组织映射等。神经网络集成的提出主要是针对单个神经网络的不确定性而提出的。8.1 神经网络理论一、神经网络基本理论神经网络是对人脑神经系统的数学模拟,其目的是学习和模仿人脑的信息处理能力。撇开神经网络的具体结构形式和学习算法,一般地认为神经网络的信息处理过程包括学习和工作两个相互独立的阶段。在学习阶段,由学习样本集获得权值向量,权值向量中蕴涵学习样本所包含的知识。设为输入向量,W为权值向量,B为输出向量,则对于监督学习,其过程可表为: (8.1.1)其中是教师信号,如BP网络等。对于非监督学习,其过程可表为: (8.1.2)如用于主成分分析的PCA网络等。在工作阶段,由输入和权值获得输出图8.1 神经元结构图 (8.1.3)二、人工神经元模型人们对神经系统的研究已经有了很长一段历史,早在19世纪末,人们就开始认识到,人脑包含着数量大约在10101012之间的神经元,这些神经元存在着复杂的联接,并形成一个整体,使得人脑具有各种智能行为。尽管在外观形状上,这些神经元各不相同,然而这些形形色色的神经元都由三个区组成:细胞体、树突、轴突。如图8.1所示。 从图中我们可以看出:一般的神经元有多个树突,它们起感受作用即接受外部(包括其它神经元)传递过来的信息。轴突只有一条,与树突相比它显得长而细,用于传递和输出信息。神经元之间通过突触联结,突触是一个神经元轴突的末梢与另一个神经元的细胞体或树突相接触的地方,每个神经元大约有103104个突触,换句话说,每个神经元大约与103104个其它神经元有连接,正是因为这些突触才使得全部大脑神经元形成一个复杂的网络结构。依据上述理论,可以画出神经元的等效模型图8.2。图8.2 神经元等效模型从图8.2可以看出人脑神经系统的工作原理:外部刺激信号或上级神经元信号经合成后由树突传给神经元细胞体处理,最后由突触输出给下级神经元或作出响应。基于神经细胞的这种理论知识,自1943年McCulloch和Pitts提出的第一个人工神经元模型以来,人们相继提出了多种人工神经元模型,其中被人们广泛接受并普遍应用的是图8.3所示的模型。图8.3 人工神经元模型图中的为实连续变量,是神经元的输入,称为阈值(也称为门限),是本神经元与上级神经元的连接权值。神经元对输入信号的处理包括两个过程:第一个过程是对输入信号求加权和,然后减去阈值变量,得到神经元的净输入,即 (8.1.4)上式表明,连接权大于0的输入对求和起着增强的作用,因而这种连接又称为兴奋连接,相反连接权小于0的连接称为抑制连接。第二个过程是对净输入进行函数运算,得出神经元的输出,即 (8.1.5)通常被称为变换函数(或特征函数),简单的变换函数有图8.4所示的几种。 这几种变换函数分别满足如下关系:1)线性函数 2)阶跃函数 3)Sigmoid函数(S函数) 4)双曲正切函数 从生理学角度看,阶跃函数最符合人脑神经元的特点,事实上,人脑神经元正是通过电位的高低两种状态来反映该神经元的兴奋与抑止。然而,由于阶跃函数不可微,因此,实际上更多使用的是与之相仿的Sigmoid函数。有些情况下,也可以结合使用,如在后面介绍的前向多层神经网络中,可能采用的是:隐含层使用Sigmoid函数,输出层使用线性函数。图8.4 神经元的几种常用变换函数8.2 前向多层神经网络、BP算法一、前向多层神经网络基于上面介绍的神经元结构,人们又提出了很多种神经网络结构模型,如Hopfield网络、Boltzmann机、ART网络和BAM网络等。其中应用最为广泛的是前向多层神经网络。三层前向神经网络的结构如图8.5所示(有一种观点认为图示网络只有两层,其理由是输入层神经元只起数据传输作用,而没有进行任何计算,即不影响该网络的计算能力,因而在计算网络层数时不应该包括输入层)。最下面为输入层,中间为隐含层,最上面为输出层。网络中相邻层采取全互连方式连接,同层各神经元之间没有任何连接,输出层与输入层之间也没有直接的连系。为方便以后的讨论,在此假设输入层、隐含层及输出层神经元的个数分别为。图8.5 前向多层神经网络模型 可以证明:在隐含层神经元可以根据需要自由设置的情况下,那么用三层前向神经网络可以实现以任意精度逼近任意连续函数。 前向多层神经网络中的动力学过程有两类:一类是学习过程,在这类过程中,神经元之间的连接权将得到调整,使之与环境信息相符合。连接权的调整方法称为学习算法;另一类过程是指神经网络的计算过程(也称为工作过程),在该过程中将实现神经网络的活跃状态的模式变换。二、BP算法 现在,我们来推导前向多层神经网络的学习算法。设从第层神经元j到第层神经元i的连接权值为,为当前学习样本,为在样本下第层第i个神经元的输出,变换函数取为Sigmoid函数,即。 对于第个样本,网络的输出误差用下式表示 (8.2.1)上式中为输入第个样本时第个神经元的理想输出即期望值,对应第个样本的教师信号,是它的实际输出。 考虑多层神经网络中的层(隐含层或输出层,即),假设第层有J个神经元,第层有I个神经元,具有如下的通用结构:图8.6 BP神经网络的通用层结构为了使系统的实际输出与理想输出相接近,即使下降,根据梯度算法,我们可以对层按下式进行调整: , (8.2.2)对于非输入层神经元具有 (8.2.3) (8.2.4) 在式(8.2.3)中,如果将看作是第层的一个虚拟神经元的输出,即设, 则式(8.2.3)可改写为 (8.2.5)又 (8.2.6)由式(8.2.5)可以得到 (8.2.7)定义:,并综合式(8.2.2)、(8.2.3)、(8.2.5)和(8.2.7)得出 , (8.2.8) 可见,为求出调整值,必须先求出。 (8.2.9)由式(8.2.4)得到 现在,我们分两种情况来讨论:1)如果所讨论的神经元为输出神经元,则由式(8.2.1)可得,代人式(8.2.9)得到 , (8.2.10)2)如果所讨论的神经元为隐层神经元,则有 将此结果代人式 (8.2.9)得到, (8.2.11)从上式可以看出,为求出隐含层的输出误差系数,必须用到输出层的,所以这个过程也称为误差反向传播过程。现在来讨论中的,由于采用Sigmoid函数,即 由此,我们可以得到 (8.2.12)将式(8.2.12)代入式(8.2.10)和(8.2.11)得到 , (8.2.13)和, (8.2.14)将式(8.2.13)和式(8.2.14)代人式(8.2.8)得到当(输出层)时 , (8.2.15)当(隐含层)时 (8.2.16) , 至此为止,推导完了BP学习算法,式(8.2.15)和式(8.2.16)为推导的最后结果。 现在我们再来讨论BP学习算法中的几个值得注意的问题。 1) 神经网络输入层、输出层的神经元个数由研究对象的输入、输出信息确定,如何合适地选取隐含层神经元的个数无规律可循,然而隐含层神经元的数目是否合适对整个网络能否正常工作具有重要的意义。隐含层神经元数目如果太少,则网络可能难以收敛;如果隐含层神经元数目刚刚够,则网络鲁棒性差,无法辨识以前未见过的模式;如果隐含层神经元过多,则除了需要较多的学习样本外,还可能会建立一个“老祖母”式的网络:无误差地学习了所有训练样本模式,却无法准确判断测试样本的模式,此即机器学习中经常提及的所谓过学习问题。有文献给出隐含层神经元数目确定方法的经验公式 (8.2.17)式中分别为隐含层神经元数目、输入层神经元数目和输出层神经元数目。为110之间的整数。 2) 学习算法中的表示学习速率,或称为步幅,较大时,权值的修改量就较大,学习速率比较快,但有时会导致振荡;值较小时,学习速率慢,然而学习过程平稳。这样,在实际的学习过程中,可以将值取为一个与学习过程相关的变量,并且在学习刚开始时值相对大,然后随着学习的深入,值逐步减小。 3) 在权值的修改公式(8.2.8)中,往往还加入一个惯性项(有时称为动量项),即 (8.2.18)式中表示第层第个神经元与上一层第i个神经元之间的连接权的当前修改值,表示上一个学习周期对同一个学习样本的权值修改值。 惯性项校正系数应与协调选取。4) 由于单个神经元的变换函数大都是采用Sigmoid函数而不是阶跃函数,因而输出层各神经元的实际输出值只能趋近于1或者0,而不可能达到1或者0。因而,在设置各训练样本的理想输出分量时,有时可取为接近1或0的数值,如0.9或0.1等,而不直接取为1或0。 5) 在学习开始时,必须给各个连接权赋初值。我们可以对每个连接权赋一个随机值,但不能使所有的连接权初值都相等。通常的处理方法是给每一个连接权赋以至1之间的一个随机数。 6) BP算法学习的目的是为了寻找连接权,使得误差趋于全局最小,然而在实际操作时,获得的连接权常常不能使误差趋于全局最小,而只能使之趋于一个相对大一点的误差值,我们称为局部最优。如何避免在学习过程中陷入局部最小是BP算法的一大难题。 我们知道,当出现局部最优的情况时,表现出来的特征是:各权值收敛到某一稳定值,而误差值却不是最小。因此,我们可以按下式判定: , (8.2.19)式中,为一小数,如。 如符合上式,则认为此时BP网络陷入局部极小点。 网络陷入局部最小点后的处理方法有很多种,最简单的方法是从头重新做起,此外还可以在BP学习过程中融入模拟退火算法或遗传算法来消除局部最小问题。 综合上面的讨论,我们可以按照以下步骤来设计具体的学习过程: 1)网络结构及学习参数的确定:输入层、隐含层、输出层的神经元数目,步长以及惯性项校正系数、权值收敛因子及误差收敛因子。 2)网络状态初始化:用较小的(绝对值为1以内)随机数对网络权值、阈值置初值。 3)提供学习样本:输入向量和目标向量。 4)学习开始:对每一个样本进行如下操作:4.1)计算网络隐含层及输出层各神经元的输出 4.2)计算训练误差 (输出层) (隐含层)4.3)修改权值和阈值 5)是否满足?若满足执行第6)步,否则返回4)步。 6)是否满足?若满足执行第7)步,否则返回第2)步。 7)停止。需要特别指出的是:由于在理论上三层BP神经网络在隐含层神经元数目可以任意设定的情况下,可以以任意精度逼近任意连续函数,因此此处介绍BP算法时也只介绍三层(即单隐含层)时的情况。但是,该算法也同样适用于多隐含层BP神经网络的情况。三、神经网络性能分析神经网络在很多方面表现出优秀的性能,诸如:知识容量大;非线性逼近能力强;计算速度快。这些优越性,已有较多文献作了详细的阐述,并使得神经网络已经在很多领域中获得了广泛的应用。神经网络本身所存在的不足也很明显,正因为如此,才导致目前关于支持向量机研究的兴起,有关支持向量机的内容将在第七章中进行介绍。以前馈多层神经网络为例,不足主要体现为以下几点:1) 在神经网络的结构上,如何最优地确定隐层数目及各隐层神经元的数目,在这一点上,人们没有很多的理论作指导,所凭借的只是一些经验性的知识和试凑。2) 在一定的训练样本和网络模型与结构下,网络训练的结果存在很多个全局最优点,这样就导致网络的权值不仅与训练样本集相关,还与其初始值的选取直接相关,从而增加了网络的不确定性。3) 网络的“黑箱”性质,使用户对输出的结果产生怀疑,它能对未学习样本作出准确的预测吗?这一点实际上考察的是神经网络的泛化能力,神经网络的“过学习问题”充分说明其泛化能力是得不到保证的。8.3 前向多层神经网络的一个应用实例由于在学习过程中采用BP算法,前向多层神经网络也称为BP网络,本节主要讨论BP网络在模式分类中的应用。一、多层前馈神经网络在模式识别中的应用方式根据网络中输出神经元数量的多少,将多层前馈神经网络应用于模式识别领域的方式分为以下两种形式:1 多输出型 这是用前向多层神经网络进行模式识别的最基本方式。网络的每一个输入节点对应输入样本一个特征,而输出层节点数等于类别数,一个输出节点对应一个类别。在训练阶段,如果输入训练样本的类别标号是i,则训练时将第i个输出节点的期望输出设置为1,而其余输出节点均设置为0。在识别阶段,当一个未知类别的样本作用到输入端时,考查各输出节点的输出,并将这个样本的类别判定为与输出值最大的那个节点对应的类别。在某些情况下,如果输出最大的节点与其他节点输出的差距较小(小于某个域值),则可以作出拒识决策。 实际上,多输出型神经网络还可以有很多其他的形式。更一般地,网络可以有个输出节点,用它们的某种编码来代表个类别。上面这种方式只是其中的一个特例,有人把它称为“10”编码模式或者“中取1”模式。2 单输出型 很多实验表明,在多输出方式中,由于网络要同时适应所有类别,势必需要更多的隐层节点;而且学习过程往往收敛较慢,此时可以采用多个多输入单输出形式的网络,让每个网络只完成识别两类分类,即判断样本是否属于某个类别。这样可以克服类别之间的耦合,经常可以得到更好的结果。 具体作法是,网络的每一个输入节点对应样本一个特征,而输出层节点只有一个。为每个类建立一个这样的网络(网络的隐层节点数可以不同)。对每一类进行分别训练,将属于这一类的样本的期望输出设为1,而把属于其他类的样本的期望输出设为0。在识别阶段,将未知类别的样本输入到每一个网络,如果某个网络的输出接近1(或大于某个域值,比如0.5),则判断该样本属于这一类,而如果有多个网络的输出均大于域值,则或者将类别判断为具有最大输出的那一类,或者作出拒识决策,当所有网络的输出均小于域值时也可采取类似的决策方法。显然,在两类情况下,我们只需要一个单输出网络即可。将一类对应于输出1,另一类对应于输出0,识别时只要输出大于0.5则决策为第一类,否则决策为第二类;或者也可以在两类之间设定一个域值,当输出在这个域值之间时作拒识决策。二、基于遗传神经网络的科研立项评审方法从本质上讲,各级基金项目的立项评审是一个分类问题,即将所有的申请项目分为资助与不资助两大类,或资助、不资助与联合资助三大类。评审指标也就与模式识别中的特征相对应。1 某省自然科学基金项目立项评审方法以1990年代中后期某省自然科学基金项目的立项评审过程为例,评审过程主要是由多名评审专家从四个大方面16个具体指标对各申请项目进行考察,整个评审指标体系如表6.12所示。该省基金项目立项评审的具体操作过程可大致分为四个阶段,如图8.7所示图8.7基金项目立项评审过程示意图(1) 打分:由多名(通常为57)学术专家对申请课题的各项指标进行打分,一般每个指标可以根据申请课题水平的高低打A、B、C、D四个值,这样对于每一份申请表都会得到多份评审表格;(2) 综合:由工作人员采用某一方法(如中间平均值方法、聚类平均方法等)将这些表格进行综合,成为一份与评审表格完全相同的综合表格;(3) 分类:根据综合表格的具体数据,对全体项目进行分类操作,并淘汰一批申请项目,剩下的项目称为评议项目进入到下一阶段;(4) 评议:请评议项目的申请者进行统一答辩,再由评委(由基金委员会的相关同志和相关学科的专家组成)根据申请者的答辩成绩结合评审专家的打分成绩决定资助情况:全额资助、联合资助或不资助。 与一般的分类问题相比,基金项目立项评审有其特殊性,在此,我们将符合与之相似特征的分类问题称为正分类问题。定义8.3.1:该分类问题称为正分类问题,简称PCP,若该分类满足:为评价指标集,对任两个输入向量,若,即存在 则优于,分别为所对应的分类结果。对于正分类问题,如采用输出层神经元数目为1的多层前馈神经网络来实现分类,由于该网络采用的变换函数通常为单调递增函数(如Sigmoid函数),为保证结论的准确性和合理性,可使所有的连接权值为正(需要指出的是阈值可以为负),传统的BP算法由于采用误差反传算法,不能控制连接权值的正负。遗传算法是实现这一要求的有效途径。然而,进一步考虑到遗传算法较弱的局部搜索能力导致神经网络的训练精度不可能太高,因此为获得理想的解最终还必须结合BP算法。这正是为什么采用遗传神经网络来进行科研立项研究的根本原因。2 遗传神经网络学习算法以多输入、单输出的多层前馈神经网络为例,设计遗传神经网络的训练方法。对于多输入多输出多层前馈神经网络或其它类型神经网络稍作修改即可应用。在描述详细的学习算法之前,先定义一些参数。:学习样本数目:群体初始数目,即初始化后染色体总数,存于数组D0中:群体现存数目,即在进化过程中,D0中染色体的数目:学习误差,对于第个染色体,误差,分别为在第个染色体作用下,第个学习样本的理想输出和实际输出:适应值,可取为误差的倒数,即,在本节后面的仿真例子中,为保证染色体的多样性,取为:全局最小误差限:全局最小小邻域误差限:全局最小大邻域误差限:符合的染色体数目,存放于数组D1中:符合的染色体数目,存放于数组D2中:进行基因低位变异操作的最大次数,以避免进入死循环对于误差,满足,如可取,图8.8给出了误差与权值向量的关系曲线示意图,设 (8.3.1)从图中可以看出:对任意权值向量,有 (8.3.2)图8.8 BP神经网络误差权值关系曲线当处于不同区域时,采取不同的算法:当,采用遗传算法中的三个算子即选择算子、交叉算子和高位变异算子,实现权值向量在较大范围内发生变化;当,采用遗传算法中的一个算子即低位变异算子,实现权值向量在较小范围内发生变化;当,采用BP算法,以获得精确的全局收敛解;当,且所有权值都不小于0(阈值除外),则可认为算法已找到符合要求的解。误差限的确立可使后面的BP算法在一个较小的范围内进行,从而达到控制连接权值符号和尽可能避免进入局部最小点的目的。整个算法的具体过程如下:STEP 1 对样本进行甄别,淘汰不符合要求的样本,形成个学习样本;STEP 2 确定与本算法相关的参数;STEP 3 随机产生组权值和阈值,存放于D0中,要求每一个权值都为正,阈值可正可负,对其进行实数编码,令,;STEP 4 判断,若是转STEP 5;STEP 4.1 对DO中组染色体计算适应值,按适应值大小进行复制操作;STEP 4.2 对组样本进行杂交和高位变异操作;STEP 4.3 对D0中任一染色体计算误差,对进行判断STEP 4.3.1 成立,转STEP 9STEP 4.3.2 成立,保存该染色体于数组D1中,转STEP 4STEP 4.3.3 成立,保存该染色体于数组D2中,转STEP 4STEP 4.3.4 转STEP 4STEP 5 STEP 6 判断或?STEP 6.1 不成立,STEP 6.1.1 对D2中的染色体串进行低位变异操作;STEP 6.1.2 对D2中的任一染色体计算误差,对进行判断;STEP 6.1.2.1 成立,转STEP 9STEP 6.1.2.2 成立,保存该染色体串于数组D1中,转STEP 6STEP 6.1.2.3 转STEP 6STEP 6.2 成立,转STEP 7STEP 7 执行BP算法模块STEP 8 本次神经网络训练失败,扩大染色体串长,转STEP 2STEP 9 该适应值对应的染色体串符合神经网络训练要求;STEP 10 译码,获得神经网络的连接权值;STEP 11 算法结束。上述算法中,STEP 7可分解为如下算法:STEP 7.1 判断?STEP 7.1.1 成立,转STEP 8STEP 7.1.2 不成立,从D1中取出一个染色体串,;STEP 7.1.3 对该染色体进行译码,获得神经网络的初试化权值;STEP 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,输入神经元与隐含神经元之间的权值表示为(分别为输入神经元和隐含神经元的编号),隐含神经元与输出神经元之间的权值表示为(分别为隐含神经元和输出神经元的编号,),分别表示隐含层神经元和输出层神经元的阈值,参见图8.10,则对任一个染色体可表示为 (8.3.3)式(8.3.3)中每一个基因都是一个十进制数据,如13.45,其中可将小数点前的数字看作基因的高位,小数点后的数字看作基因的低位。设存在两个染色体 (8.3.4)则算法中用到的几种算子可用下面几式表示:单点杂交算子: (8.3.5)多点杂交算子: (8.3.6)高位变异算子: (8.3.7)低位变异算子: (8.3.8) 从(8.3.7)式和(8.3.8)式可以看出:基因的高位变异更能使染色体适应值产生较大的变化,低位变异则具有更好的局部搜索能力。对于STEP 4.1,对第个染色体,复制概率为 (8.3.9)式中为染色体的适应值,复制过程可采用轮盘法。在STEP 8中,扩大染色体串长,相当于给整个算法扩大了搜索空间,从而增大了找到解的可能性。结合全面章节对多层前馈神经网络与遗传算法的介绍和图8.9可以看出,本算法有机地结合了遗传算法和BP算法各自具有的优点,既具有遗传算法的全局搜索能力,又具有BP算法的局部搜索精度。4 与一般BP网络的比较为了比较本算法与传统BP算法在非线性拟合能力上的差异,选择函数 (8.3.10)显然在时,神经元的转换函数采用Sigmoid函数。对式(8.3.10)进行采样,得到12个样本点如表8.1所示。需要指出的是:为了提高神经网络学习的速度和权值的质量,选择采样点时应考虑三点:遍历性,样本要具有代表性;相容性,样本之间不能自相矛盾;致密性,样本要有一定的数量。表8.1 神经网络学习样本NO.NO.1000070.510.750.6414200.250.50.12580.750.500.385330.2500.250.1590.750.510.685340.250.50.750.3957100.750.250.750.510750.25100.211100.50.360.500.250.1914121111对表8.1中的样本集,采用三层前馈神经网络,神经元个数分别是3-2-1,用本节算法和BP算法分别训练该网络,得到图8.10所示权值集合。 (a) 本节算法所得权值 (b) 传统BP算法所得权值图8.10 多层前馈神经网络权值为验证本节算法的优越性,由式(8.3.10)随机产生10对检验样本,如表8.2所示。表8.2 遗传神经网络检验表NO.10.950.230.610.52720.51312.67800.5544-5.144020.490.890.760.61220.6430-5.04150.7102-16.006030.460.020.820.32890.273016.72070.29669.824840.440.620.790.52720.49835.48930.5928-12.449550.920.740.180.57100.54514.54840.6755-18.298860.410.940.920.64400.6919-7.43520.7367-14.392170.410.890.060.30550.30231.03800.256516.027480.350.810.010.24790.24252.18660.208715.810490.140.200.200.14790.130411.80860.060259.2770100.600.270.200.33040.295210.650.276616.28670.00480.0249利用图8.10所示的权值,进行计算,所得结果也列在表8.2中,其中为由式(8.3.10)产生的理论输出值即所谓的期望输出,为遗传神经网络所得结果,为BP算法所得结果,为误差,满足: (8.3.11) (8.3.12)和分别为采用本算法和BP算法10个检验样本的误差平方和。,;从式(8.3.15)中可看出,针对MCP问题,多层前馈神经网络采用本节算法所得结果比传统BP算法具有更好的非线性处理能力。5 在科研立项管理中的应用在上述介绍的基础上,我们就可以利用多层前馈神经网络进行科研立项评审。以该省同一年份同一学科以往的评审数据作为学习样本,采用三层前馈神经网络,神经元个数分别是16-10-1,需要指出的是资助建议(即输出)包括三个取值,用一个输入神经元。用本节算法训练该网络,建立基于遗传神经网络的科研立项评审系统,由于权值和样本数据过多,具体的细节不在这里作介绍。研究结果表明,由于本系统采用的多层前馈神经网络考虑了科研立项操作的特点,因此比以往的评价系统更具有合理性。8.4 双向联想记忆(BAM) 联想记忆(associative memory)是人脑记忆的一种重要形式,例如:看到某人的名字时,就会联想到这个人的容貌、性格等特征,听到某首歌的曲调就会联想到它的歌词等。联想记忆就其输入输出模式上讲可分为自联想记忆和异联想记忆两种。 自联想记忆的功能是实现对自身的联想。联想的过程是首先在联想记忆中存储一组模式,然后向联想记忆中输入这m个模式中的某一个带有噪声的模式,自联想记忆就会输出一个与之相应的模式,且与具有某种定义上的最短距离。 异联想记忆能存储成对的模式,和是不同向量空间中的向量。在联想时,设对异联想记忆输入向量A,则输出向量为B,且如果A与最接近,则B就是与成对的。自联想记忆也可以看作是异联想记忆的一种特例,此时存在。图8.11 BAM的拓扑结构 从上面的定义也可以看出:联想记忆的操作可以分为两个阶段,信息存储阶段和联想阶段。在信息存储阶段即学习阶段,联想记忆通过对输入样本的学习来构造一个学习(存储)矩阵,用以将提供的模式信息全部包含进去;在联想阶段,联想记忆针对当前的输入模式,找出与之最为接近的存储在联想记忆中的相应模式。在寻找最为接近或具有最短距离的存储模式上,通常要用到贴近度等数学工具。 由Kosko提出的双向联想记忆(Bidirectional Associative Memory简称BAM)属于异联想记忆中的一种,它是由两层层间互连且同层不连的神经元域FA和FB构成的反馈神经网络,拓扑结构如图8.11所示。 构成BAM的是非线性神经元,一般情况下,它们的输出取0,1之间的值,但通常情况下域FA中的每一个神经元和域FB中的每一个神经元的输出值均为二元值0,1。 BAM中所有信息都包含在一个的权值矩阵M(即前面说过的学习矩阵)中,它的双向联想功能也是通过权值矩阵M来实现的。一、 M矩阵的确定M矩阵的确定由以下两步来完成: 1)对于给定的个学习样本向量(矩阵)对中的每一个求其双极向量(矩阵)。 所谓双极向量或矩阵是指在二值向量或矩阵的基础上,将0代之以而得到的向量或矩阵。如二值向量对和对应的双极向量对为和。 2) 对于每一个双极向量对计算与之相应的双极伴随矩阵,再将它们相加,即得到权值矩阵W。 (8.4.1)值得注意的是:样本数量必须小于FA和FB中的元素个即有公式 (8.4.2)因为只有这样才能将不同的样本向量对都放在局部能量最小点上。由此可见,BAM网络在存储容量上与BP网络相比很小。 下面举一个例子,具体看BAM是如何将这些联想对记住的。设有如下三个记忆对: , , , 由于符合式(8.4.2),因此BAM可以将这些记忆对记住。现在将这些记忆对变换成联想记忆对,则有 , , ,根据式(8.4.1)我们便可以得到权矩阵: 如果要从BAM中擦除某个记忆对,只需要在权矩阵中将与这个记忆对相对应的双极伴随矩阵减掉即可。如下式便将记忆对擦除了。 二、双向联想功能的实现BAM通过以下几步来实现双向联想功能1)将输入模式A送人BAM的域FA中。 2)计算域FB中各节点的接收值 (8.4.3)式中为矩阵中第i行列的元素。计算域FA中各节点的接收值 (8.4.4)3)修正的值 (8.4.5) (8.4.6)式中分别为的阈值。 4)检查是否已稳定(即不再变化),如不稳定返回2),如稳定则结束,此时FB的输出即为A的联想结果。三、BAM在故障诊断中的应用例子 在BAM中,域FA和域FB为不同的向量空间,如果将域FA与故障征兆向量对应,域FB与故障原因向量对应则可以直接应用于故障诊断。 分析一个生产过程控制系统,结构如图8.12所示,整个系统包括调节器、阀门、测量仪表和控制对象。系统中的某个部分出现故障都将导致整个系统的故障,或者系统异常。为方便讨论,这里仅诊断调节器和阀门两部分故障。采用图8.11所示的两层BAM神经网络,输入层有四个神经元,它们的阈值均置为零,令为输入向量,输入各种故障现象。四个输入神经元的定义如下:图8.12 生产过程控制系统表示调节器故障;表示调节器误指令;表示不工作;表示阀工误操作。 输出层也是四个神经元,它们的阈值同样均置为零,令为输出向量,输出解决故障的办法。四个输出神经元的定义如下:表示检查调节器的传动机构;表示检修调节器;表示检查阀门的传动机构; 表示检修阀门。存储样本对的内容和含义为 调节器误指令检查调节器的传动机构 调节器不工作检修整个调节器 阀门误操作检查阀门的传动机构 阀门不工作检修整个阀门 将这四个样本转化成双极联想记忆对: 因此它们的联想记忆权矩阵为 现在,假设BAM的输入为存入网络中的一个,那么可以得到 它们的反向信息流分别为 从上面的讨论可以看出:当输入A与存入网络中的任一个相同时,BAM只需要一个往返即可以使系统稳定,且输出为相应的。当输入不是中的一个时,BAM也可以给出满意的结果。例如输入时,按上面的定义规则,只知道该生产过程控制系统具有调节器故障,但究竟是那一类还不清楚,可以依照 (8.4.7)来计算A与各个的海明贴近度,则有 说明输入的信息与和较为接近,这跟人们的直观理解也是一致的。事实上, 收敛到,说明解决办法和两种都要考虑,这为进行正确的故障诊断提供了依据。8.5 径向基函数神经网络 径向基函数(radial basis function,RBF)神经网络的研究起源于1985年,Powell提出了多变量插值的径向基函数方法。1988年,Broomhead和Lowe首先将RBF应用于神经网络设计,从而构成了RBF神经网络。 从网络结构上讲,RBF网络属于三层前向网络,如图8.13所示。输入层由信号源节点组成。第二层为隐含层,单元数视所描述的问题而定。第三层为输出层,它对输入模式的作用作出响应。从输入空间到隐含层空间的变换是非线性的,而从隐含层空间到输出层空间的变换是线性的。隐单元的变换函数是RBF,它是一种局部分布的对中心点径向对称的衰减非负非线性函数。图8.13 径向基网络结构示意图构成RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐含层空间。当RBF的中心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论