版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、神经网络基础神经网络的发展及特点神经网络就是用物理上可以实现的器件、系统或现有的计算机来模拟人脑的结构和功能的人工系统。它由大量简单神经元经广泛互联构成一种计算结构,在某种程度上可以模拟人脑生物神经系统的工作过程。当前第1页\共有169页\编于星期四\20点1、神经网络的发展神经网络的发展可以追溯到一个世纪之前。一般将这一百多年的历史分为三个阶段。自1890年至1969年为初始发展期;1969年至1986年为发展的过渡时期;自1986年以来,步入了发展的高潮期。当前第2页\共有169页\编于星期四\20点初始发展期1890年,美国生理学家W.James出版了《生理学》一书,首次阐明了人脑的结构及其功能,以及一些学习、联想、记忆的基本规则。1943年,和W.Pitts根据已知的神经细胞生物基础,描述了一个简单的人工神经元模型,即后来的“M-P模型”。当前第3页\共有169页\编于星期四\20点1949年发表了论著《行为自组织》,提出了很多有价值的观点。Hebb同时提出了网络学习的规则,从而使神经网络具有了可塑性。1958年,F.Rosenblatt提出了“感知器(perception)”模型,用于模拟一个生物视觉模型。这是第一个真正的神经网络。当前第4页\共有169页\编于星期四\20点过渡时期1969年,M.Minsky和S.Paper经过对“感知器”模型的深入研究,发表了论著《感知器》,分析了一些简单的单层感知器,说明这些单层的感知器只能解决线性分类问题,对于非线性或其他的分类则会遇到很大困难。这个观点使得许多专家放弃了对神经网络的研究。但在这个阶段,也还有一些研究人员在继续进行探索。当前第5页\共有169页\编于星期四\20点1982年,物理学家提出了全连接神经网络,后来被称为Hopfield神经网络,在网络的理论分析和综合上达到了相当的深度。虽然早期的Hopfield网络存在一些问题,如,网络的权值固定、不能学习、大规模的网络实现困难,而且无法克服局部极小点问题等等,但Hopfield的研究为神经网络带来了复兴的希望,极大地推动了神经网络的发展。当前第6页\共有169页\编于星期四\20点这个时期,由等多人组成的并行分布处理研究小组提出了误差反向传播神经网络,即BP网络。这是一种按照一定的输入输出关系进行自组织的神经网络。同时他们还明确揭示了神经网络的三个主要属性,即网络模型的结构、神经元的输入输出变换函数及算法,对神经网络在各领域的推广应用起了很大的作用。BP网络目前已成为一种应用最为广泛的神经网络。当前第7页\共有169页\编于星期四\20点1987年,在美国圣地亚哥召开了第一届国际神经网络会议,此后国际神经网络协会成立。从此,神经网络技术的研究呈现出蓬勃活跃的局面,理论研究不断深入,各种类型的网络模型和算法纷纷出现,应用范围不断扩大。发展高潮期当前第8页\共有169页\编于星期四\20点1994年,在美国奥兰多首次召开IEEE全球计算智能大会,此次会议将模糊算法、神经网络和遗传算法三个领域综合起来,有力地促进了不同研究领域之间的交叉渗透和共同发展。当前第9页\共有169页\编于星期四\20点2、神经网络的特点神经网络具有以下四个基本特点:(1)广泛连接的巨型系统。脑科学已经证明人脑是由数量及其庞大的脑细胞组成的,每个细胞之间又有着及其广泛复杂的相互连接。人工神经网络着眼于模拟人脑,虽然目前还无法实现和人脑一样庞大的结构体系,但从本质上说,它是一个广泛连接的巨型系统。当前第10页\共有169页\编于星期四\20点(2)分布式存储信息。神经网络系统中,信息是以某种形式分布在广大神经元及其相互连接中的。(3)并行处理功能。研究表明,神经元之间的信息传递是毫秒级的,比电子开关的速度慢得多;而实际上人在瞬间就能完成一幅图像的辨识。由此可以推断,人脑对信息的处理是并行式的。当前第11页\共有169页\编于星期四\20点(4)自学习、自组织和自适应功能。学习功能是神经网络的一个重要特征,正是因为神经网络具有自学习能力,才使得它在应用中表现出强大的自组织和自适应能力。当前第12页\共有169页\编于星期四\20点神经网络技术的出现,为故障诊断问题提供了一种新的解决途径。特别是对复杂系统,由于基于解析模型的故障诊断方法面临难以建立系统模型的实际困难,基于知识的故障诊断方法成了重要的、也是实际可行的方法。当前第13页\共有169页\编于星期四\20点神经网络的基础1、神经元模型神经网络的基本单元称为“神经元”,它是对生物神经元的简化和模拟。当前第14页\共有169页\编于星期四\20点生物神经元由细胞体、树突和轴突三部分组成。如下图所示。树突是细胞的输入端,通过细胞体之间连接的节点“突触”接受周围细胞传出的神经冲动;轴突相当于细胞的输出端,其端部的众多神经末梢为信号的输出端子,用于传出神经冲动。图生物神经元结构示意图当前第15页\共有169页\编于星期四\20点生物神经元具有两种工作状态:“兴奋”和“抑制”。当传入的神经冲动使细胞膜电位升至高于其阈值时,细胞进入兴奋状态,产生神经冲动,由轴突输出;反之,若传入的神经冲动使细胞膜电位下降至低于阈值时,细胞进入抑制状态,就没有神经冲动输出。当前第16页\共有169页\编于星期四\20点基于生物神经元的结构和工作特性,对生物神经元进行模拟,得到人工神经元。如下图所示。图中,各变量的下标i表示神经网络中的第i个神经元。该神经元是一个多输入、单输出的非线性元件。图人工神经元模型示意图当前第17页\共有169页\编于星期四\20点人工神经元的输入输出关系可描述为:其中,xj(j=1~n)为来自其他神经元的输入信号;
θi为该神经元的阈值;
ωij表示从神经元j到神经元i的连接权值;si表示神经元的状态;f(·)为某种非线性函数,它将神经元的状态si变换成神经元的输出yi,所以称为神经元的输出函数或者传递函数。当前第18页\共有169页\编于星期四\20点为了便于统一处理,上式可表示为:式中:ωi0=-θi;x0=1。当前第19页\共有169页\编于星期四\20点神经元模型中的传递函数f(·)可以有多种形式。下面介绍几种常用的形式。(1)阈值单元模型或其中,u(x)表示单位阶跃函数。阈值单元模型的特点是其传递函数为二值函数,神经元的输出为0,1或者±1。感知器、M-P模型以及最初的Hopfield模型中都采用这种类型的传递函数。当前第20页\共有169页\编于星期四\20点(2)限幅线性函数其中,a>0。当前第21页\共有169页\编于星期四\20点(3)Sigmoid型函数常用的Sigmoid型函数有以下两种:Sigmoid型函数因其连续、可微的性质,得到了广泛的应用。在BP网络中就采用了这种类型的传递函数。当前第22页\共有169页\编于星期四\20点(4)高斯型函数基本的高斯型函数如下:在RBF(径向基函数)神经网络中采用了这种类型的传递函数。当前第23页\共有169页\编于星期四\20点2、神经网络的拓扑结构神经网络是由大量神经元相互连接而构成的网络。根据连接方式的不同,神经网络的拓扑结构通常可分成两大类:层状结构和网状结构。层状结构的神经网络由若干层组成,其中一层为网络的输入层,另一层为网络的输出层,其余介于输入层和输出层之间的则为隐含层。每一层都包括一定数量的神经元。在相邻层中神经元单向连接,而同一层内的神经元相互之间无连接关系。根据层与层之间有无反馈连接,层状结构的神经网络可进一步分为“前馈网络”与“反馈网络”两种类型。当前第24页\共有169页\编于星期四\20点前馈网络又称为前向网络,其特点是在前后相邻的两层之间神经元相互连接,在各神经元之间没有反馈。每个神经元可以从前一层接收多个输入,并产生一个输出传递给下一层的各个神经元,信息只能从输入层开始逐层向前依次传递。前馈网络可以包括许多层,但三层前馈网络即可满足实际应用的要求。当前第25页\共有169页\编于星期四\20点下图为三层前馈网络的结构图。它包括三个单层的输入层、隐含层和输出层。神经网络中有计算功能的节点称为计算单元,因此,前馈网络的隐含层和输出层节点属于计算单元。图三层前馈网络的结构图当前第26页\共有169页\编于星期四\20点反馈网络在输出层和隐含层、或者隐含层和隐含层之间具有反馈连接,即相应的节点同时接收来自前面一层单元的输入和来自后面节点的反馈输入。递归神经网络(recurrentneuralnetwork-RNN)是目前一种常用的反馈网络。构成递归神经网络模型总的思路是通过对前馈网络中引入一些附加的内部反馈通道来增强网络的信息处理能力。当前第27页\共有169页\编于星期四\20点根据状态信息的反馈途径,可以构成两种基本的递归结构模型:Jordan型和Elman型,如下图所示。(a)Jordan型(b)Elman型图基本的RNN结构模型当前第28页\共有169页\编于星期四\20点网状结构的神经网络又称为互联网络,其特点是任何两个神经元之间都可能存在双向的连接关系,所有的神经元既作为输入节点,同时又作为输出节点。图网状结构的神经网络输入信号要在所有神经元之间反复传递,从某一初始状态开始,经过若干次变化,直到收敛于某一稳定状态或进入周期振荡等状态为止。网状结构的神经网络如下图所示。当前第29页\共有169页\编于星期四\20点3、神经网络的学习规则神经网络卓越的信息处理能力来自于网络中各神经元之间的连接权值。要模拟人脑的信息处理能力,必须使神经网络具有学习功能。学习的本质是调整各神经元之间的连接权值,而如何调整连接权值就构成了不同的学习算法。当前第30页\共有169页\编于星期四\20点神经网络的学习方法有两大类:有导师学习和无导师学习。在无导师学习中,没有直接的误差信息,需要建立一个间接的评价函数,以对网络的某种行为进行评价。在有导师学习方法中,神经网络的输出与期望的输出(即教师值)相比较,然后根据两者之间的误差函数(又称为目标函数)来调整网络的权值,最终使误差函数达到最小值。当前第31页\共有169页\编于星期四\20点下面介绍几种常用的神经网络学习规则。(1)Hebbian学习规则Hebbian学习规则来源于Hebb关于生物神经元学习过程的假设:当两个神经元同时处于兴奋状态时,它们之间的连接应当加强。当前第32页\共有169页\编于星期四\20点令ωij表示从神经元j到神经元i的连接权值,则ωij按下式确定的变化量调整:此式为有导师的Hebbian学习规则。其中,自变量t表示当前时间;ti(t)为教师信号;g(·,·)和h(·,·)为适当的非线性函数。当前第33页\共有169页\编于星期四\20点当没有教师信号时,可以设g(·,·)的函数值为yi(t),h(·,·)的函数值正比于yj(t),因此,连接权值的变化量按下式调整:上式为无导师的Hebbian学习规则。其中,η>0表示学习速率的系数。当前第34页\共有169页\编于星期四\20点在有导师的Hebbian学习规则中,如果g(·,·)的函数值正比于教师信号ti(t)与神经元i的输出yi(t)之间的差值,即并且,h(·,·)的函数值与神经元j的输出yj(t)成正比,即其中,η1>0为系数。其中,η2>0为系数。则由Hebbian学习规则可得:上式即为δ学习规则。式中,η>0表示学习速率的系数。(2)Delta(δ)学习规则当前第35页\共有169页\编于星期四\20点在δ学习规则中,教师信号可看作为期望的输出,式中的δ反映了神经网络期望输出和实际输出之间的差异。δ学习规则的实质就是通过迭代计算逐步调整网络权值ωij,直到使误差δ达到最小。当前第36页\共有169页\编于星期四\20点竞争式学习规则属于无导师学习方式。它认为,神经网络是由许多“区域”组成的,各个区域包含一定数量的神经元,当有外界刺激输入时,在同一个区域里的各个神经元发生竞争性响应,其结果是只有一个神经元获胜从而达到兴奋状态,其余神经元则被抑制。(3)竞争式学习规则当前第37页\共有169页\编于星期四\20点“自组织竞争人工神经网络”是一种模拟某类生物神经网络结构和现象的人工神经网络模型。在该类生物神经网络中存在一种侧抑制现象,即一个神经细胞兴奋后,通过它的分支会对周围其他神经细胞产生抑制。这种侧抑制使神经细胞之间出现竞争,一个兴奋最强的神经细胞对周围神经细胞的抑制作用也最强。“竞争式学习规则”是自组织竞争神经网络中的一种基本学习规则。当前第38页\共有169页\编于星期四\20点设j为三层前向网络输入层中某个神经元(j=1~n),i为隐含层神经元(i=1~h),且隐含层神经元采用Sigmoid型传递函数。假设整个隐含层属于同一个竞争区域,则竞争式学习规则如下:式中,表示隐含层神经元i的状态,表示该神经元的输出;表示输入层神经元j的状态,表示该神经元的输出。当前第39页\共有169页\编于星期四\20点如果在隐含层中竞争的结果神经元k获胜,则其输出达到最大根据式输入层所有与该神经元相连接的权值ωij都将发生变化,其结果将使ωkj≈yj(sj),即≈0,从而使权值的调整达到稳态。而此时其他竞争失败的神经元受抑制,其输出为最小:当前第40页\共有169页\编于星期四\20点二、典型结构的神经网络反向传播(BP)网络BP(BackPropagation)网络是一种最为常用的前馈网络,其结构如下图所示。它有一个输入层,一个输出层,一个或多个隐含层。每一层上包含若干个节点,每个节点代表一个神经元。同一层上的各个节点之间无耦合连接关系,信息从输入层开始在各层之间单向传播,依次经过各隐含层节点,最后到达输出层节点。图BP网络当前第41页\共有169页\编于星期四\20点设BP网络接受的输入数据为n个,以向量x表示:网络产生m个输出数据,用向量y表示:则网络将对应地有n个输入节点、m个输出节点。BP网络可视为从n维输入空间到m维输出空间地非线性映射,即当前第42页\共有169页\编于星期四\20点定理1:给定任一连续函数:f:[0,1]n
→Rm,f可以精确地用一个三层BP网络实现,该网络的第一层即输入层有n个神经元,中间层有(2n+1)个神经元,第三层即输出层有m个神经元。该定理反映了映射网络的存在性。定理2:给定任意ε>0,对于任意的L2型连续函数f:[0,1]n
→Rm,存在一个三层BP网络,它在任意ε平方误差精度内逼近f。由上述两个定理表明,只要用三层的BP网络就可实现L2型连续函数。基于这一结论,在实际应用中三层BP网络已成为最为广泛应用的BP网络。当前第43页\共有169页\编于星期四\20点在BP网络的应用中,如何选取BP网络的隐含层数及其节点数,目前尚无准确的理论和方法。以下是几个确定三层BP网络隐含层节点数h的经验参考公式:(1)其中,n为输入神经元数;m为输出神经元数;a为1~10之间的常数。(2)当前第44页\共有169页\编于星期四\20点BP网络的学习采用BP算法,即“误差反向传播算法”。在BP算法中要用到梯度下降法,下面先介绍梯度下降法,然后再介绍BP算法。梯度下降法梯度下降法源于最优化计算方法,它是各类有导师学习算法中最为基本的一种方法。当前第45页\共有169页\编于星期四\20点梯度下降法的基本思想是以神经网络期望的输出和网络实际输出之间的误差平方作为学习的目标函数,根据使其最小化的原则来调整网络的权值。定义如下误差函数:式中,k为网络的离散时间变量;W为网络所有权值组成的向量;Y(k)为期望的网络输出向量;为网络的实际输出向量;表示向量的欧几里德范数。当前第46页\共有169页\编于星期四\20点梯度下降法就是沿着E(W)的负梯度方向不断修正W的值,直至使E(W)达到最小值。式中,η(k)是控制权值调整速度的变量,通常和计算的步长有关。用数学公式表示为:当前第47页\共有169页\编于星期四\20点BP算法设BP网络共有M层(不包括输入层),第l层的节点数为nl,yk(l)表示第l层节点k的输出,则yk(l)由下两式确定:式中,sk(l)为第l层神经元k的状态,神经元的状态按式表示,即,(θ为该神经元的阈值。)当前第48页\共有169页\编于星期四\20点上式采用了向量表示法,其中,Wk(l)为由网络权值组成的系数行向量,y(l-1)为第l-1层的输出列向量。输入层作为第0层处理,因此,y(0)=x,x为网络的输入向量。当前第49页\共有169页\编于星期四\20点给定样本模式{X,Y}后,BP网络的权值将被调整,使如下的误差目标函数达到最小:式中,为网络的输出;W表示BP网络中所有的权值;nM为最后一层(输出层)的节点数,因此nM=m,且。当前第50页\共有169页\编于星期四\20点根据梯度下降最优化方法,可以通过E(W)的梯度来修正权值。连至第l层第i个神经元的权值向量Wi(l)的修正量由下式确定:对于输出层(第M层),上式中的为:对于隐含层为:当前第51页\共有169页\编于星期四\20点以上即为BP算法。对于给定的输入输出样本,按照上述过程反复调整权值,最终使网络的输出接近期望的输出。由于权值的修正是在输入所有样本并计算总体误差后进行的,所以BP算法属于批处理的方法。当前第52页\共有169页\编于星期四\20点BP算法整个处理过程可以分为两个阶段:第二个阶段:对权值的修正,从网络的输出层开始逐层向后进行计算和修正,这是反向传播过程。第一个阶段:从BP网络的输入层开始逐层向前计算,根据输入样本计算出各层的输出,最终求出网络输出层的输出,这是前向传播过程;这两个过程反复交替,直到收敛为止。当前第53页\共有169页\编于星期四\20点反向传播的适用情况正向传播用于进行网络计算,对其输入求出它的输出;反向传播用于逐层传递误差,修改连接权值,以使网络能进行正确的计算。
一旦网络经过训练用于求解现实问题,则就只需正向传播,不需要再进行反向传播。
当前第54页\共有169页\编于星期四\20点①网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;②网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;多层前向BP网络的优点:③网络具有一定的推广、概括能力。当前第55页\共有169页\编于星期四\20点BP算法的实质是梯度下降法,因而可能存在陷入局部极小以及收敛速度慢等问题。为了解决这些问题,通常采用全局最优算法与BP算法相结合的方法,同时还可以采取以下措施:②给权值加以扰动。在学习的过程中给权值加以扰动,有可能使网络脱离当前局部最小点的陷阱;①选择合适的初始权值;③在网络的学习样本中适当加些噪声,可避免网络依靠死记的办法来学习;多层前向BP网络存在的问题及采取的措施:当前第56页\共有169页\编于星期四\20点④当网络的输出与样本之间的差小于给定的允许误差范围时,则对此样本神经网络不再修正其权值,以此来加快网络的学习速度;⑤适当选择网络的大小,尽可能使用三层网络,这样可以避免因层数多、节点数多、计算复杂化而可能导致反向误差发散的情况。当前第57页\共有169页\编于星期四\20点径向基函数(RBF)网络径向基函数(radialbasisfunction-RBF)网络也是一种常用的前馈网络,其结构如下图所示。图RBF网络当前第58页\共有169页\编于星期四\20点从结构上看,径向基函数(RBF)网络它属于三层前馈网络,包括一个输入层、一个输出层和一个隐含层。输入层节点的作用是将输入数据x1,x2,…,xn传递到隐含层节点;隐含层节点称为RBF节点,由以高斯型传递函数为典型代表的辐射状函数神经元构成;输出层节点的传递函数通常为简单的线性函数。当前第59页\共有169页\编于星期四\20点隐含层节点的高斯核函数对输入数据将在局部产生响应。即当输入数据靠近高斯核函数的中心时,隐含层节点将产生较大的输出;反之则产生较小的输出。高斯核函数的表达式为:式中:x=(x1,x2,…,xn)T是RBF网络的输入数据向量;uj是第j个隐含层节点的输出,且uj∈[0,1];Cj是高斯核函数的中心值;h为隐含层RBF节点数;σj为标准化常数。当前第60页\共有169页\编于星期四\20点RBF网络的输出是隐含层节点输出的线性组合,即式中:当前第61页\共有169页\编于星期四\20点第一阶段:根据所有输入样本决定隐含层各节点的高斯核函数的中心值Cj和标准化常数σj;第二阶段:当决定了隐含层的参数后,再根据样本,利用最小二乘原则,求出输出层的权值向量Wi。RBF网络的学习过程分为两个阶段:当前第62页\共有169页\编于星期四\20点Hopfield网络是典型的反馈型神经网络(feedbackneuralnetwork)。Hopfield网络在反馈型神经网络中,输入数据决定了反馈系统的初始状态,经过一系列状态转移后,系统逐渐收敛至平衡状态。这个平衡状态就是反馈型神经网络经计算后的输出结果。当前第63页\共有169页\编于星期四\20点稳定性是反馈型神经网络最重要的问题之一。如果能找到网络的李雅普若夫(Lyapunov)函数,则可以根据李雅普若夫稳定性定理来分析、设计反馈型神经网络,进而保证网络对任意的初始状态都具有稳定收敛的性质。当前第64页\共有169页\编于星期四\20点Hopfield网络分连续型和离散型两种。连续型Hopfield网络可用如下的非线性微分方程描述:当前第65页\共有169页\编于星期四\20点连续型Hopfield网络的非线性微分方程可由相应的电路模拟,如下图所示。图中,电阻Ri和电容Ci并联,以模拟生物神经元输出的时间常数;跨导tij模拟生物神经元之间互连的突触特性;运算放大器Ai用来模拟生物神经元的非线性特性yi=gi(si);神经元的状态(si)和输出(yi)取电压量纲,而输入(xi)取电流量纲。图连续型Hopfield网络的电路模拟当前第66页\共有169页\编于星期四\20点对于离散型Hopfield神经网络,考虑由n个神经元构成的单层全反馈型网络,网络结构如下图所示。其中,θi,si,yj分别表示神经元i的阈值、状态和输出;xi为网络的第i个输入信号。图离散的Hopfield神经网络(单层全反馈型)当前第67页\共有169页\编于星期四\20点对于神经元i,其模型方程如下:其中,sgn为符号函数。当前第68页\共有169页\编于星期四\20点自组织特征映射网络自组织特征映射神经网络(self-organizingfeaturemap)是一种典型的自组织神经网络(self-organizingneuralnetwork)。自组织神经网络是一种无教师学习的神经网络,它能够模拟人类应用过去的经验来自动适应无法预测的环境变化的能力。由于没有教师信号,自组织神经网络通常利用竞争学习规则来进行网络的学习。当前第69页\共有169页\编于星期四\20点递归神经网络递归神经网络(RNN)有完全递归和部分递归两种类型。完全递归网络具有任意的前馈和反馈连接,其所有连接权值都可修正调整。部分递归网络的主体结构仍为前馈型,反馈连接则由一组结构(Context)单元实现,其连接权值固定。当前第70页\共有169页\编于星期四\20点图递归神经网络(RNN)基于递归神经网络的结构如下图所示。在该网络中,输入单元仅起输入信号传输作用;输出单元起线性加权求和作用;结构单元则记忆前一时刻的网络输出值,即起延时算子的作用。Wi,Wo,Wc分别表示输入层至隐含层、隐含层至输出层以及结构单元至隐含层的权值矩阵。当前第71页\共有169页\编于星期四\20点设递归神经网络的输入向量为:网络的输出向量为:反馈向量为:隐含层节点的输出向量为:当前第72页\共有169页\编于星期四\20点则递归神经网络的模型可以用下述方程描述:上式中,k为离散时间变量;θo,θh分别为输出层和隐含层神经元的阈值向量;W为由(Wo,θo,Wi,Wc,θh)组成的整个网络的参数矩阵。当前第73页\共有169页\编于星期四\20点在上述模型方程中,不同的反馈规则将导致不同的递归神经网络结构:(1)若F(k)=0,则递归神经网络将退化为普通的前馈网络;由于在递归神经网络中引入了递归结构,所以能够实现对先验输入数据的记忆,即通过递归变量F,依据网络输出层和隐含层的状态信息保留系统中过去的信息。输出层到隐含层有反馈(3)若F(k)=V(k-1),则为Elman型递归网络。(2)若F(k)=Y(k-1),则为Jordan型递归网络;隐含层和隐含层之间有反馈当前第74页\共有169页\编于星期四\20点三、改进型BP算法及其在故障诊断中的应用改进型BP算法前面我们已经介绍了BP网络以及BP算法。BP网络是一种基本的神经网络,它在故障诊断中得到了广泛的应用。BP算法具有较为简单、清晰、有效的优点,但在实际应用中,存在两个主要问题:一是其收敛速度较慢;二是容易陷入局部极小点。当前第75页\共有169页\编于星期四\20点影响BP算法收敛速度和可能陷入局部极小点的因素很多,主要的影响因素有:隐节点的数目、学习步长的选择、样本集的预处理、以及网络初始权值的选择等。针对BP算法存在的问题,提出了不少改进型BP算法,如“变步长算法”和“引入动量因子的改进BP算法”等。当前第76页\共有169页\编于星期四\20点变步长算法基本的BP算法是定步长的,这不利于计算的快速收敛。变步长算法的基本思想是:其中,是与步长有关的参数;为步长的增大、缩小因子。当前第77页\共有169页\编于星期四\20点引入动量因子的改进BP算法考虑一个三层BP网络,设它有n个输入节点、m个输出节点、h个隐含层节点。网络的输入和输出数据分别用向量X和Y来表示,即:当前第78页\共有169页\编于星期四\20点给定样本集BP网络的权值将被调整,使如下的误差目标函数达到最小:上式中,为BP网络的输出向量,W∈Rt为BP网络中所有权值组成的权向量。当前第79页\共有169页\编于星期四\20点网络的学习可归结为如下的无约束最优化问题:基本的BP算法根据梯度法来解决这个问题。权向量按照误差函数E(W)的负梯度方向来修正,直到E(W)达到最小值。因此,权向量的迭代公式为:上式中,为常数,表示学习的步长;G(k)为E(W)的负梯度,即(1)当前第80页\共有169页\编于星期四\20点为了加快BP算法的收敛速度,引入动量因子,从而将式(1)中的权向量迭代修正规则改进成为:上式中:它记忆了上一时刻权向量的修改方向,从而使式(2)的形式类似于共轭梯度算法。动量因子的取值范围0<<1,它的选取对网络学习的收敛速度有着重要的调节作用。(2)(1)当前第81页\共有169页\编于星期四\20点改进型BP算法在船舶主柴油机冷却系统故障诊断中的应用应用神经网络技术解决故障诊断问题的主要步骤包括:根据诊断问题组织学习样本;根据问题和样本构造神经网络;选择合适的学习算法和参数。当前第82页\共有169页\编于星期四\20点下面针对船舶主柴油机冷却系统的故障诊断问题,介绍基于引入动量因子的改进型BP算法的应用。冷却系统是船舶主柴油机系统的一个子系统,其简化的流程如下图所示。冷却系统属于船舶机舱高温淡水冷却回路,它用海水作为冷介质,通过热交换器去冷却高温淡水;经冷却后的高温淡水再去冷却主柴油机;高温淡水循环使用,必要时可通过淡水柜补充系统中的淡水循环量。图船舶主柴油机冷却系统流程图当前第83页\共有169页\编于星期四\20点根据故障机理分析以及该领域的专家知识,可以得到冷却系统的故障征兆集、故障原因集以及它们之间的关系。T1:淡水温度(0C);T2:海水温度(0C)P1:淡水压力(MPa);P2:海水压力(MPa)Q1:淡水流量(t/hr);Q2:海水流量(t/hr)以上6个参数作为神经网络的输入变量。该系统的故障征兆可由以下6个可测的工艺参数表征:当前第84页\共有169页\编于星期四\20点该系统常见的故障原因如下:F0:系统正常;F1:气缸超载F2:气缸后燃;F3:淡水阀关闭或损坏F4:淡水泵压力高;F5:淡水管系泄漏F6:淡水泵压力高;F7:淡水旁通阀开度小F8:淡水管系堵塞;F9:冷却器管系堵塞F10:海域气候;F11:海水泵压力低F12:海水滤器堵塞;F13:海水泵压力高F14:海水旁通阀开度大;F15:海水阀堵塞以上16个参数作为神经网络的输出变量。用一个BP网络来处理该系统的故障诊断问题,因此,网络的输入节点数为6;输出节点数为16。将故障征兆和故障原因之间的关系作为网络的学习对象,故障样本如下表所示。当前第85页\共有169页\编于星期四\20点样本序号输入数据输出数据故障类型T1P1Q1T2P2Q2Y0Y1Y2Y3Y4Y51NNNNNN100000F02HNNHLL011000F1F23HLNNNN000111F3F4F54LHNNNN000000F6F75HNLNNN000000F8F96LNHNNN000000F67LNNLNN000000F108HNNHNN000000F109HNNNLN000000F11F1210LNNNHN000000F1311HNNNNL000000F14F1512LNNNNH000000F13表中,N,H,L分别表示Normal,High,Low。当前第86页\共有169页\编于星期四\20点样本序号输出数据故障类型Y6Y7Y8Y9Y10Y11Y12Y13Y14Y1510000000000F020000000000F1F230000000000F3F4F541100000000F6F750011000000F8F961000000000F670000100000F1080000100000F1090000011000F11F12100000000100F13110000000011F14F15120000000100F13当前第87页\共有169页\编于星期四\20点为了确定BP网络的结构并取得优良的故障诊断效果,在设定允许误差限度的情况下,针对三层BP网络结构和学习样本,采用引入动量因子的改进型BP算法,研究网络结构参数和算法参数对学习速度的影响,寻求参数的优化。作如下仿真实验:(1)固定网络的隐含层节点数h和学习效率,分析动量因子对算法的影响。结果表明,引入动量因子有利于加速学习收敛,并且在一定范围内其收敛速度随的增加而加快。优化的动量因子为=0.9。当前第88页\共有169页\编于星期四\20点(2)固定学习效率和动量因子,分析BP网络的隐含层节点数h对算法的影响。结果表明,隐含层节点数对网络学习的收敛性也有很大的影响。最佳的隐含层节点数为h=7。(3)选择优化的动量因子=0.9和最佳的隐含层节点数h=7,然后选用不同的学习率训练网络。结果表明,当较小时网络收敛慢;而取得过大则又会出现振荡而影响收敛。最终确定一个优化的学习率=0.7。当前第89页\共有169页\编于星期四\20点以上的参数优化显著改善了BP网络学习能力。通过学习训练,BP网络获得了柴油机冷却系统故障诊断的知识,这些知识隐性地表达在神经网络的拓扑结构、连接形式和权值分布之中。当前第90页\共有169页\编于星期四\20点引入实际运行中的数据对该神经网络进行验证:实验结果表明:对于已学习过的样本知识,网络输出与期望结果充分相符,表明该网络能够正确地实现故障诊断;当输入数据在一定范围内偏离样本知识时,网络的输出具有接近样本输出的倾向,因而表明神经网络在故障诊断方面的实际可用性;对于远远偏离样本的输入数据,神经网络的诊断能力大大下降,甚至可能得出错误结论。这表明,采用神经网络处理故障诊断问题,故障诊断机理的必要知识起着重要的作用。当前第91页\共有169页\编于星期四\20点内容补充:基于神经网络技术的故障诊断在MATLAB中的实现一、MATLAB语言简介1、MATLAB概述MATLAB诞生于20世纪70年代,它的编写者是CleveMoler博士和他的同事们。1984年,CleveMoler和JohnLittle成立了MathWorks公司,正式把MATLAB推向市场,并继续进行MATLAB开发。当前第92页\共有169页\编于星期四\20点1993年,MathWorks公司推出MATLAB4.0;1997年,推出MATLAB5.0;2002年8月,MathWorks公司发布MATLAB6.5;2004年9月,MathWorks公司发布MATLAB7;2006年9月,MathWorks公司发布MATLAB7.2。从06年开始,MathWorks公司每年将进行两次产品发布,时间分别在每年的3月和9月,而且,每一次发布都会包含所有的产品模块,如产品的newfeature、bugfixes和新产品模块的推出。当前第93页\共有169页\编于星期四\20点MATLAB长于数值计算,能处理大量的数据,而且效率比较高。MathWorks公司在此基础上,加强了MATLAB的符号计算、文字处理、可视化建模和实时控制能力,增强了MATLAB的市场竞争力,使MATLAB成为了市场主流的数值计算软件。当前第94页\共有169页\编于星期四\20点2、MATLAB功能MATLAB的核心是一个基于矩阵运算的快速解释程序,它交互式地接收用户输入的各项命令,输出计算结果。MATLAB提供了一个开放式的集成环境,用户可以运行系统提供的大量命令,包括数值计算、图形绘制和代码编制等。具体来说,MATLAB具有以下功能:数据可视化功能;矩阵运算功能;大量的工具箱;绘图功能;GUI设计;Simulink仿真。当前第95页\共有169页\编于星期四\20点3、MATLAB语言特点MATLAB语言有不同于其他高级语言的特点,他被称为第四代计算机语言。MATLAB语言最大的特点就是简单快捷。具体来说,MATLAB主要有以下特点:编程效率高:MATLAB是一种面向科学与工程计算的高级语言,允许用数学形式的语言来编写程序,比Basic、Fortran和C等语言更加接近我们书写计算公式的思维方式。用MATLAB语言编写程序犹如在演算纸上排列出公式与求解问题一样。因此,MATLAB语言也可以通俗地称为“演算纸”式科学算法语言。正是由于它编写简单,所以编程效率高,易学易懂。当前第96页\共有169页\编于星期四\20点用户使用方便:MATLAB语言是一种解释执行的语言,它灵活、方便,调试手段丰富,调试速度快。MATLAB语言与其他语言相比,把编辑、编译、连接和执行融为一体。具体地说,在运行MATLAB时,如果直接在命令行输入MATLAB语句(命令),包括调用M文件的语句,每输入一条语句,就会立即对其进行处理,完成编译、连接和运行的全过程。当前第97页\共有169页\编于星期四\20点扩充能力强,交互性好:高版本的MATLAB语言拥有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且MATLAB的库函数同用户文件在形成方式上一样,所以用户文件也可以作为库函数被调用。另外,在Fortran、C语言和MATLAB之间可以方便的调用,具有良好的交互性。移植性好,开放性好:MATLAB是用C语言编写的,而C语言的可移植性很好。除了内部函数外,MATLAB所有的核心文件和工具箱文件都是公开的,用户可以通过对源文件的修改和自己编程构成新的工具箱。当前第98页\共有169页\编于星期四\20点语句简单,内涵丰富高效方便的矩阵和数组运算方便的绘图功能:MATLAB的绘图功能是十分方便的,它有一系列绘图函数(命令),例如线性坐标、对数坐标、半对数坐标及极坐标。在调用函数时,可以通过调整自变量绘出不同颜色的点、线、复线或多重线。当前第99页\共有169页\编于星期四\20点二、MATLAB快速入门MATLAB之所以易学易用,主要在于它向用户提供了成系列的交互式工作界面。下面,专门介绍MATLAB主窗口中最常用的交互界面。1、命令行窗口(CommandWindow)可以在命令行窗口中输入MATLAB命令,可以是一个单独的MATLAB语句,也可以是一段利用MATLAB编程功能实现的代码。当前第100页\共有169页\编于星期四\20点例1:在命令行窗口创建一个BP神经网络。net=newff([010],[51],{‘tansig’‘purelin’});例2:输入一个简单的矩阵。在创建神经网络时,经常需要用到矩阵,在MATLAB命令行中,矩阵有两种输入方式。0102方法1:在命令行中输入A=[01;02]。方法2:在命令行中输入A=[0102]。当前第101页\共有169页\编于星期四\20点函数plot在利用神经网络工具箱时会被经常用到,它是最基本的二维绘图函数。plot的基本调用格式有以下三种。(1)plot(x)(2)plot(x,y)(3)plot(x,y,s)s表示线条的颜色和类型,如‘r+’,表示各点是由红色的‘+’号绘制的。如果没有特别说明,则默认的类型为蓝色的线条。当前第102页\共有169页\编于星期四\20点例3:绘制三条正弦曲线,其中在第一张图上绘制两条,在第二张图上绘制一条。除plot外,还要用到:holdon:用于保存绘制句柄;holdoff:用于释放(停止)绘制句柄;figure:用于重开一张图进行绘制。x=-5:0.1:5;y1=sin(x);y2=sin(2*x);y3=sin(1.5*x);plot(x,y1);holdonplot(x,y2,'r+');holdofffigureplot(x,y3,'bo')程序:当前第103页\共有169页\编于星期四\20点2、命令行历史窗口(CommandHistory窗口)该窗口中存储了在命令行窗口中输入的所有命令。如果想重新执行已经运行过的命令,该窗口提供了一个很好的选择。如果需要重新运行该窗口的命令,只需在窗口中选中该命令,然后双击鼠标即可。3、当前路径窗口(CurrentDirectory窗口)该窗口指定了当前的路径窗口。如果不加改动的话,每次启动MATLAB,该窗口默认的当前为:X:/MATLAB7/work(X为MATLAB的安装盘符)。当前第104页\共有169页\编于星期四\20点4、工作空间浏览器(WorkspaceBrowser)工作空间浏览器存储并显示了当前命令行窗口中所有的变量。这些变量是保存在内存中的,在MATLAB进程结束以前,一直是活动的。在命令行窗口中输入who和whos,可以查看当前内存中的所有变量,包括变量的名称、大小和类型。例4:在命令行窗口输入who和whos。当前第105页\共有169页\编于星期四\20点5、MATLAB帮助系统MATLAB7提供了丰富的帮助资源,有PDF形式,也有网页形式。所有的PDF帮助文档都在安装过程中默认放置在X:/MATLAB7/help/pdf_doc文件夹,可根据需要选择相应的帮助文档进行查看。例5:在命令行窗口输入help。(可显示所有的帮助主题。)当前第106页\共有169页\编于星期四\20点例6:如需要有关前向型网络的创建函数newff的有关信息,可在命令行窗口中输入如下命令:在命令行窗口输入helpname。(如需要某个函数或工具箱的帮助信息,可在命令行输入该命令。name为需要帮助的函数或工具箱的名称。)helpnewff在结果中,提供了丰富的帮助信息,包括函数的功能、调用方法、各参数的意义、使用过程中的注意事项和示例,最后还给出了与该函数相关的其他函数的名称。另外,在MATLAB主窗口中,在【help】菜单下选中【MATLABHelp】命令,即可启动集成式的帮助系统。当前第107页\共有169页\编于星期四\20点三、神经网络工具箱最新版本的神经网络工具箱几乎涵盖了所有的神经网络的基本常用模型,如感知器、BP网络、径向基网络等。对于各种不同的网络类型,神经网络工具箱集成了多种学习算法,为用户提供了极大的方便。另外,工具箱中还给出了大量的示例程序和帮助文档,能够快速地帮助用户掌握工具箱的应用方法。目前,神经网络工具箱中提供的神经网络模型主要应用于:函数逼近和模型拟合;信息处理和预测;神经网络控制;故障诊断。当前第108页\共有169页\编于星期四\20点确定信息表达方式在实际应用中,面对一个具体问题,首先需要分析利用神经网络求解问题的性质,然后依据问题特点,确定网络模型。最后通过对网络进行训练、仿真等,检验网络是否满足要求。具体过程概括为:将领域问题及其相应的领域知识转化为网络可以接受并处理的形式,即将领域问题抽象为适合于网络求解所能接受的某种数据形式。网络模型的确定根据问题的实际情况,选择模型的类型、结构等。当前第109页\共有169页\编于星期四\20点网络参数的选择确定网络的输入输出神经元的数目,如果是多层网络,还需要进一步确定隐含层神经元的个数。训练模式的确定包括选择合理的训练算法,确定合适的训练步数,指定适当的训练目标误差,以获得较好的网络性能。网络测试选择合理的测试样本,对网络进行测试,或者将网络应用于实际问题,检验网络性能。当前第110页\共有169页\编于星期四\20点1、神经网络工具箱中的通用函数(1)神经网络仿真函数sim该函数用于对神经网络进行仿真,调用格式:[Y,Pf,Af,E,perf]=sim(net,P,Pi,Ai,T)式中,Y:函数返回值,网络输出;Pf:函数返回值,最终输入延迟;Af:函数返回值,最终的层延迟;E:函数返回值,网络误差;perf:函数返回值,网络性能;net:待仿真的神经网络;P:网络输入;Pi:初始输入延迟,默认为0;Ai:初始的层延迟,默认为0;T:网络目标,默认为0。当前第111页\共有169页\编于星期四\20点(2)神经网络训练及学习函数1)train该函数用于对神经网络进行训练,调用格式:[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai)式中,NET:待训练的神经网络;P:网络的输入信号;T:网络目标,默认为0;Pi:初始输入延迟,默认为0;Ai:初始的层延迟,默认为0;net:函数返回值,训练后的神经网络;tr:函数返回值,训练记录(包括步数和性能);Y:函数返回值,神经网络输出信号;E:函数返回值,神经网络误差;Pf:函数返回值,最终输入延迟;Af:函数返回值,最终的层延迟。当前第112页\共有169页\编于星期四\20点2)trainb该函数用于对神经网络权值和阈值的训练。它不能直接调用,而是通过函数train隐含调用。训练之前,需要设定以下参数。表:训练参数训练参数名称默认值属性net.trainParam.epochs100最大训练步数net.trainParam.goal0性能参数net.trainParam.max_fail5确认失败的最大次数net.trainParam.show25两次显示之间的训练步数net.trainParam.timeinf最大训练时间(单位:秒)当前第113页\共有169页\编于星期四\20点3)learnp该函数用于神经网络权值和阈值的学习。4)learnpn该函数也是一个神经网络权值和阈值的学习函数。但它在输入向量的幅值变化非常大或者存在奇异值时,其学习速度比learnp要快得多。当前第114页\共有169页\编于星期四\20点5)adapt该函数使得神经网络能够自适应,调用格式:[net,Y,E,Pf,Af,tr]=adapt(NET,P,T,Pi,Ai)式中,NET:未自适应的神经网络;P:网络输入;T:网络目标,默认为0;Pi:初始输入延迟,默认为0;Ai:初始的层延迟,默认为0。net:自适应后的神经网络;Y:网络输出;E:网络误差;Pf:最终输入延迟;Af:最终的层延迟。tr:训练记录(包括步数和性能)。通过设定自适应的参数net.adaptParam和自适应的函数net.adaptFunc可调用该函数,并返回如下参数:当前第115页\共有169页\编于星期四\20点(3)神经网络初始化函数1)init该函数用于对神经网络进行初始化,调用格式为:NET=init(net)式中,NET:返回参数,表示已经初始化后的神经网络;net:待初始化的神经网络。2)initwb该函数用于对一个层进行初始化,它按照设定的每层的初始化函数对每层的权值和阈值进行初始化,调用格式为:NET=initwb(net,i)式中,net:待初始化的神经网络;i:层次索引;NET:返回参数,表示已经初始化后的神经网络。当前第116页\共有169页\编于星期四\20点例1:根据给定的输入向量P和目标向量T,创建一个感知器网络,对其进行训练并初始化。其中,P=[0101;0011],T=[0001]。程序:net=newp([01;-22],1);创建一个感知器网络net.iw{1,1};感知器的权值和阈值net.b{1}P=[0101;0011]T=[0001]net=train(net,P,T);对感知器进行训练net.iw{1,1}net.b{1}net=init(net);对感知器进行初始化net.iw{1,1}net.b{1}当前第117页\共有169页\编于星期四\20点(4)神经网络输入函数1)netsum该函数是一个输入求和函数,它通过将某一层的加权输入和阈值相加作为该层的输入。2)netprod该函数是一个输入求积函数,它通过将某一层的权值和阈值相乘作为该层的输入。3)concur该函数的作用在于使得本来不一致的权值向量和阈值向量的结构一致,以便于进行相加或相乘处理。当前第118页\共有169页\编于星期四\20点例2:有两个加权输入向量,z1和z2,调用函数netsum将两者相加,调用netprod将两者相乘。程序:z1=[124;341];z2=[-122;-5-61];b=[0;-1];con1=concur(b,3);n1=netsum(z1,z2);n2=netprod(z1,z2);n3=netsum(z1,z2,con1);当前第119页\共有169页\编于星期四\20点(5)神经网络传递函数传递函数的作用是将神经网络的输入转换为输出。1)hardlim该函数为硬限幅传递函数。该函数的原型函数为:hardlim(n)=10n≥0n<02)hardlims该函数为对称的硬限幅传递函数。该函数的原型函数为:hardlims(n)=1-1n≥0n<0当前第120页\共有169页\编于星期四\20点2、BP网络的神经网络工具箱函数(1)BP网络创建函数1)newcf该函数用于创建级联前向BP网络。2)newfftd该函数用于创建一个存在输入延迟的前向网络。当前第121页\共有169页\编于星期四\20点3)newff该函数用于创建一个BP网络。调用格式为:net=newff(PR,[S1S2…SN1],{TF1TF2…TFN1},BTF,BLF,PF)式中,net=newff:用于在对话框中创建一个BP网络;PR:由每组输入(共有R组输入)元素的最大值和最小值组成的R×2维的矩阵;Si:第i层的长度,共计N1层;TFi:第i层的传递函数,默认为“tansig”;BTF:BP网络的训练函数,默认为“trainlm”;BLF:权值和阈值的BP学习算法,默认为“learngdm”;PF:网络的性能函数,默认为“mse”。当前第122页\共有169页\编于星期四\20点(2)神经元上的传递函数传递函数是BP网络的重要组成部分。传递函数又称为激活函数,必须是连续可微的。BP网络常采用S型的对数或正切函数和线性函数。1)logsig该传递函数为S型的对数函数。2)tansig该函数为双曲正切S型的传递函数。3)purelin该函数为线性传递函数。当前第123页\共有169页\编于星期四\20点(3)BP网络学习函数1)learngd该函数为梯度下降权值/阈值学习函数。它通过神经元的输入和误差,以及权值和阈值的学习速率,来计算权值或阈值的变化率。2)learngdm该函数为梯度下降动量学习函数。它利用神经元的输入和误差,以及权值和阈值的学习速率和动量常数,来计算权值或阈值的变化率。当前第124页\共有169页\编于星期四\20点(4)BP网络训练函数1)traingd该函数为梯度下降BP算法函数。2)traingdm该函数为梯度下降动量BP算法函数。此外,MATLAB7神经网络工具箱中还有一系列训练函数可用于BP网络的训练,如:trainlm:Levenberg-MarquardtBP训练函数;traingda:自适应lrBP的梯度递减训练函数;trainoss:一步正切BP训练函数。当前第125页\共有169页\编于星期四\20点(5)性能函数1)mse该函数为均方误差性能函数。2)msereg该函数也是性能函数,它通过两个因子的加权和来评价网络的性能。这两个因子分别是均方误差、均方权值和阈值。当前第126页\共有169页\编于星期四\20点(6)显示函数1)plotperf该函数用于绘制网络的性能。2)plotes该函数用于绘制一个单独神经元的误差曲面。3)plotep该函数用于绘制权值和阈值在误差曲面上的位置。当前第127页\共有169页\编于星期四\20点4)errsurf该函数用于计算单个神经元的误差曲面。调用格式为:E=errsurf(P,T,WV,BV,F)式中,P:输入行向量;T:目标行向量;WV:权值列向量;BV:阈值列向量;F:传递函数的名称。当前第128页\共有169页\编于星期四\20点例3:分析一个BP网络中某个神经元的误差,并绘制出其误差曲面与轮廓线。程序:P=[-6-6.1-4.1-444.166.1];T=[000.970.990.010.0311];wv=-1:0.1:1;bv=-2.5:0.25:2.5;es=errsurf(P,T,wv,bv,’logsig’);计算神经元的误差曲面plotes(wv,bv,es,[60,30]);绘制单个神经元的误差曲面当前第129页\共有169页\编于星期四\20点例4:给出输入向量P和目标向量T,建立一个BP网络,找出P和T之间的关系。(P=[012345678910];T=[01234321234])BP网络的一个重要功能是非线性映射的能力,这一功能非常适合函数逼近,即适合找出两组数据之间的关系。程序:P=[012345678910];T=[01234321234];net=newff([010],[51],{‘tansig’‘purelin’});创建一个BP网络,网络的中间层有5个神经元,传递函数为tansig,输出层有1个神经元,传递函数为purelin。Y=sim(net,P);训练前对网络进行仿真得到的输出结果
plot(P,T,P,Y,’o’);绘制训练前网络的输出图,直线表示输入向量和目标向量之间的函数关系,‘o’表示对训练前的网络进行仿真得到的输出,从结果中可以看出,在训练以前,网络的非线性映射性能很差。
当前第130页\共有169页\编于星期四\20点=200;net=train(net,P,T);训练函数取默认值trainlmfigure;Y=sim(net,P);plot(P,T,P,Y,’o’);网络经过训练后,绘制出训练后的网络输出。直线表示输入向量和目标向量之间的函数关系,‘o’表示对训练后的网络进行仿真得到的输出,从结果中可以看出,网络经过训练后,网络对P和T之间的非线性映射关系的拟合是精确的。
当前第131页\共有169页\编于星期四\20点上例中,创建的BP网络的学习函数、训练函数和性能函数都采用默认值,分别为learngdm、trainlm和mse。下面,针对同一问题,建立一个学习函数为learngd、训练函数为traingd和性能函数为msereg的BP网络。程序:P=[012345678910];T=[01234321234];net=newff([010],[51],{‘tansig’‘purelin’},’traingd’,’learngd’,’msereg’);=200;net=train(net,P,T);figure;Y=sim(net,P);plot(P,T,P,Y,’o’);仿真结果:当网络经过200次训练后,网络的输出误差比较大,而且网络误差的收敛速度非常慢。这主要是因为训练函数traingd为单纯的梯度下降训练函数,训练速度比较慢,而且容易陷入局部最小的情况。当前第132页\共有169页\编于星期四\20点在这种情况下,将训练函数修改为traingdx,该函数也是梯度下降法训练函数,但是在训练过程中,它的学习速率是可变的。程序:P=[012345678910];T=[01234321234];net=newff([010],[51],{‘tansig’‘purelin’},’traingdx’,’learngd’,’msereg’);=200;net=train(net,P,T);figure;Y=sim(net,P);plot(P,T,P,Y,’o’);仿真结果:当网络经过200次训练后,网络的输出误差相比来说不是很大,从这里可以看出,采用学习速率可变的训练函数对网络进行训练,训练后网络的性能应该不错。当前第133页\共有169页\编于星期四\20点四、基于神经网络的故障诊断应用实例下面以某型号拖拉机的齿轮箱为工程背景,利用MATLAB的神经网络工具箱,基于BP网络进行齿轮箱故障诊断。1、工程描述拖拉机的很多故障出现于变速箱中齿轮即传动轴等机械系统中。传统的齿轮箱故障诊断手段往往依赖于专家的经验判断。但是,由于齿轮箱是一个非常复杂的传动机构,它的故障模式和特征向量之间是一种非常复杂的非线性关系,仅仅依靠专家经验并不能解决所有的诊断问题。(一)基于BP网络的齿轮箱故障诊断当前第134页\共有169页\编于星期四\20点而应用神经网络可以解决这类问题。神经网络的自适应、自学习和对非线性系统超强的分析能力,使得它可以适用于齿轮箱的故障诊断。2、输入和目标向量设计神经网络输入的确定实际上就是特征向量的提取。对于特征向量的选取,主要考虑它是否与故障有比较确定的因果关系,如果输入/输出征兆参数和故障没有任何关系,就不能建立它们之间的联系。当前第135页\共有169页\编于星期四\20点统计表明,齿轮箱故障中有60%左右都是由齿轮故障导致的,所以在这里只讨论齿轮故障的诊断。对于齿轮的故障这里选取了频域中的几个特征量。频域中齿轮故障比较明显的是在啮合频率处的边缘带上。所以,在频域特征信号的提取中选取了在2、4、6档时,在1、2、3轴的边频带族fs±nfz处的幅值Ai,j1、Ai,j2和Ai,j3,其中fs表示齿轮的啮合频率,fz是轴的转频,n=1,2,3,i=2,4,6表示档位,j=1,2,3表示轴的序号,由于在2轴和3轴上有两对齿轮啮合,所以用1、2分别表示两个啮合频率。这样,网络的输入就是一个15维的向量。当前第136页\共有169页\编于星期四\20点由于这些数据具有不同的单位和量级,所以在输入神经网络之前应该首先进行归一化处理。下表给出了输入向量的9组数据,它们都是已经归一化后的样本数据。数据序号特征样本齿轮状态10.22860.12920.0720.15920.13350.07330.11590.0940.05220.13450.0090.1260.36190.0690.1828无故障20.2090.09470.13930.13870.25580.090.07710.08820.03930.1430.01260.1670.2450.05080.1328无故障30.04420.0880.11470.05630.33470.1150.14530.04290.18180.03780.00920.22510.15160.08580.067无故障40.26030.17150.07020.27110.14910.1330.09680.19110.25450.08710.0060.17930.10020.07890.0909齿根裂纹50.3690.22220.05620.51570.18720.16140.14250.15060.1310.050.00780.03480.04510.07070.088齿根裂纹60.03590.11490.1230.5460.19770.12480.06240.08320.1640.10020.00590.15030.18370.12950.07齿根裂纹表齿轮箱状态样本数据当前第137页\共有169页\编于星期四\20点数据序号特征样本齿轮状态70.17590.23470.18290.18110.29220.06550.07740.22730.20560.09250.00780.18520.35010.1680.2668断齿8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度节能减排环保产业投资合作协议3篇
- 2025年版钢材贸易代理及分销渠道建设合同4篇
- 2025年物业管理公司员工安全责任与应急疏散通道维护合同3篇
- 2025年度铝材产品质量检测与认证服务合同4篇
- 二零二五年度旅游车辆租赁与景区景点讲解合同4篇
- 2025年度洗涤房租赁与洗涤技术培训合同3篇
- 二零二五年度城市绿化工程临时工派遣服务合同模板4篇
- 2025年昌月离婚协议书全新版本2篇
- 2025年度铝合金模板工程安装与绿色认证合同4篇
- 2025年版校企合作人才引进与培养合同模板2篇
- GB/T 11072-1989锑化铟多晶、单晶及切割片
- GB 15831-2006钢管脚手架扣件
- 有机化学机理题(福山)
- 医学会自律规范
- 商务沟通第二版第4章书面沟通
- 950项机电安装施工工艺标准合集(含管线套管、支吊架、风口安装)
- 微生物学与免疫学-11免疫分子课件
- 《动物遗传育种学》动物医学全套教学课件
- 弱电工程自检报告
- 民法案例分析教程(第五版)完整版课件全套ppt教学教程最全电子教案
- 7.6用锐角三角函数解决问题 (2)
评论
0/150
提交评论