神经网络技术及其在故障诊断中的应用.ppt
第四章 神经网络技术及其在故障诊断中的应用,神经网络基础 典型结构的神经网络 改进型BP算法及其在故障诊断中的应用,一、神经网络基础,神经网络的发展及特点,神经网络就是用物理上可以实现的器件、系统或现有的计算机来模拟人脑的结构和功能的人工系统。它由大量简单神经元经广泛互联构成一种计算结构,在某种程度上可以模拟人脑生物神经系统的工作过程。,1、神经网络的发展,神经网络的发展可以追溯到一个世纪之前。一般将这一百多年的历史分为三个阶段。自1890年至1969年为初始发展期;1969年至1986年为发展的过渡时期;自1986年以来,步入了发展的高潮期。,初始发展期,1890年,美国生理学家W.James出版了生理学一书,首次阐明了人脑的结构及其功能,以及一些学习、联想、记忆的基本规则。,1943年,和W.Pitts根据已知的神经细胞生物基础,描述了一个简单的人工神经元模型,即后来的“MP模型”。,1949年发表了论著行为自组织,提出了很多有价值的观点。Hebb同时提出了网络学习的规则,从而使神经网络具有了可塑性。,1958年,F.Rosenblatt提出了“感知器(perception)”模型,用于模拟一个生物视觉模型。这是第一个真正的神经网络。,过渡时期,1969年,M.Minsky和S.Paper经过对“感知器”模型的深入研究,发表了论著感知器,分析了一些简单的单层感知器,说明这些单层的感知器只能解决线性分类问题,对于非线性或其他的分类则会遇到很大困难。这个观点使得许多专家放弃了对神经网络的研究。但在这个阶段,也还有一些研究人员在继续进行探索。,1982年,物理学家提出了全连接神经网络,后来被称为Hopfield神经网络,在网络的理论分析和综合上达到了相当的深度。虽然早期的Hopfield网络存在一些问题,如,网络的权值固定、不能学习、大规模的网络实现困难,而且无法克服局部极小点问题等等,但Hopfield的研究为神经网络带来了复兴的希望,极大地推动了神经网络的发展。,这个时期,由等多人组成的并行分布处理研究小组提出了误差反向传播神经网络,即BP网络。这是一种按照一定的输入输出关系进行自组织的神经网络。同时他们还明确揭示了神经网络的三个主要属性,即网络模型的结构、神经元的输入输出变换函数及算法,对神经网络在各领域的推广应用起了很大的作用。BP网络目前已成为一种应用最为广泛的神经网络。,1987年,在美国圣地亚哥召开了第一届国际神经网络会议,此后国际神经网络协会成立。从此,神经网络技术的研究呈现出蓬勃活跃的局面,理论研究不断深入,各种类型的网络模型和算法纷纷出现,应用范围不断扩大。,发展高潮期,1994年,在美国奥兰多首次召开IEEE全球计算智能大会,此次会议将模糊算法、神经网络和遗传算法三个领域综合起来,有力地促进了不同研究领域之间的交叉渗透和共同发展。,2、神经网络的特点,神经网络具有以下四个基本特点:,(1)广泛连接的巨型系统。,脑科学已经证明人脑是由数量及其庞大的脑细胞组成的,每个细胞之间又有着及其广泛复杂的相互连接。人工神经网络着眼于模拟人脑,虽然目前还无法实现和人脑一样庞大的结构体系,但从本质上说,它是一个广泛连接的巨型系统。,(2)分布式存储信息。,神经网络系统中,信息是以某种形式分布在广大神经元及其相互连接中的。,(3)并行处理功能。,研究表明,神经元之间的信息传递是毫秒级的,比电子开关的速度慢得多;而实际上人在瞬间就能完成一幅图像的辨识。由此可以推断,人脑对信息的处理是并行式的。,(4)自学习、自组织和自适应功能。,学习功能是神经网络的一个重要特征,正是因为神经网络具有自学习能力,才使得它在应用中表现出强大的自组织和自适应能力。,神经网络技术的出现,为故障诊断问题提供了一种新的解决途径。特别是对复杂系统,由于基于解析模型的故障诊断方法面临难以建立系统模型的实际困难,基于知识的故障诊断方法成了重要的、也是实际可行的方法。,神经网络的基础,1、神经元模型,神经网络的基本单元称为“神经元”,它是对生物神经元的简化和模拟。,生物神经元由细胞体、树突和轴突三部分组成。如下图所示。,树突是细胞的输入端,通过细胞体之间连接的节点“突触”接受周围细胞传出的神经冲动;轴突相当于细胞的输出端,其端部的众多神经末梢为信号的输出端子,用于传出神经冲动。,图 生物神经元结构示意图,生物神经元具有两种工作状态:“兴奋”和“抑制”。,当传入的神经冲动使细胞膜电位升至高于其阈值时,细胞进入兴奋状态,产生神经冲动,由轴突输出;,反之,若传入的神经冲动使细胞膜电位下降至低于阈值时,细胞进入抑制状态,就没有神经冲动输出。,基于生物神经元的结构和工作特性,对生物神经元进行模拟,得到人工神经元。如下图所示。,图中,各变量的下标i表示神经网络中的第i个神经元。该神经元是一个多输入、单输出的非线性元件。,图 人工神经元模型示意图,人工神经元的输入输出关系可描述为:,其中,xj(j=1n)为来自其他神经元的输入信号;i为该神经元的阈值;ij表示从神经元j到神经元i的连接权值;si表示神经元的状态;f()为某种非线性函数,它将神经元的状态si变换成神经元的输出yi,所以称为神经元的输出函数或者传递函数。,为了便于统一处理,上式可表示为:,式中:i0-i;x01。,神经元模型中的传递函数f()可以有多种形式。下面介绍几种常用的形式。,(1)阈值单元模型,或,其中,u(x)表示单位阶跃函数。,阈值单元模型的特点是其传递函数为二值函数,神经元的输出为0,1或者1。感知器、M-P模型以及最初的Hopfield模型中都采用这种类型的传递函数。,(2)限幅线性函数,其中,a0。,(3)Sigmoid型函数,常用的Sigmoid型函数有以下两种:,Sigmoid型函数因其连续、可微的性质,得到了广泛的应用。在BP网络中就采用了这种类型的传递函数。,(4)高斯型函数,基本的高斯型函数如下:,在RBF(径向基函数)神经网络中采用了这种类型的传递函数。,2、神经网络的拓扑结构,神经网络是由大量神经元相互连接而构成的网络。根据连接方式的不同,神经网络的拓扑结构通常可分成两大类:层状结构和网状结构。,层状结构的神经网络由若干层组成,其中一层为网络的输入层,另一层为网络的输出层,其余介于输入层和输出层之间的则为隐含层。每一层都包括一定数量的神经元。在相邻层中神经元单向连接,而同一层内的神经元相互之间无连接关系。根据层与层之间有无反馈连接,层状结构的神经网络可进一步分为“前馈网络”与“反馈网络”两种类型。,前馈网络又称为前向网络,其特点是在前后相邻的两层之间神经元相互连接,在各神经元之间没有反馈。每个神经元可以从前一层接收多个输入,并产生一个输出传递给下一层的各个神经元,信息只能从输入层开始逐层向前依次传递。前馈网络可以包括许多层,但三层前馈网络即可满足实际应用的要求。,下图为三层前馈网络的结构图。它包括三个单层的输入层、隐含层和输出层。神经网络中有计算功能的节点称为计算单元,因此,前馈网络的隐含层和输出层节点属于计算单元。,图 三层前馈网络的结构图,反馈网络在输出层和隐含层、或者隐含层和隐含层之间具有反馈连接,即相应的节点同时接收来自前面一层单元的输入和来自后面节点的反馈输入。递归神经网络(recurrent neural network-RNN)是目前一种常用的反馈网络。构成递归神经网络模型总的思路是通过对前馈网络中引入一些附加的内部反馈通道来增强网络的信息处理能力。,根据状态信息的反馈途径,可以构成两种基本的递归结构模型:Jordan型和Elman型,如下图所示。,(a)Jordan型,(b)Elman型,图 基本的RNN结构模型,网状结构的神经网络又称为互联网络,其特点是任何两个神经元之间都可能存在双向的连接关系,所有的神经元既作为输入节点,同时又作为输出节点。,图 网状结构的神经网络,输入信号要在所有神经元之间反复传递,从某一初始状态开始,经过若干次变化,直到收敛于某一稳定状态或进入周期振荡等状态为止。,网状结构的神经网络如下图所示。,3、神经网络的学习规则,神经网络卓越的信息处理能力来自于网络中各神经元之间的连接权值。要模拟人脑的信息处理能力,必须使神经网络具有学习功能。学习的本质是调整各神经元之间的连接权值,而如何调整连接权值就构成了不同的学习算法。,神经网络的学习方法有两大类:有导师学习和无导师学习。,在无导师学习中,没有直接的误差信息,需要建立一个间接的评价函数,以对网络的某种行为进行评价。,在有导师学习方法中,神经网络的输出与期望的输出(即教师值)相比较,然后根据两者之间的误差函数(又称为目标函数)来调整网络的权值,最终使误差函数达到最小值。,下面介绍几种常用的神经网络学习规则。,(1)Hebbian学习规则,Hebbian学习规则来源于Hebb关于生物神经元学习过程的假设:当两个神经元同时处于兴奋状态时,它们之间的连接应当加强。,令ij表示从神经元j到神经元i的连接权值,则ij按下式确定的变化量调整:,此式为有导师的Hebbian学习规则。其中,自变量t表示当前时间;ti(t)为教师信号;g(,)和h(,)为适当的非线性函数。,当没有教师信号时,可以设g(,)的函数值为yi(t),h(,)的函数值正比于yj(t),因此,连接权值的变化量按下式调整:,上式为无导师的Hebbian学习规则。其中,0表示学习速率的系数。,在有导师的Hebbian学习规则中,如果g(,)的函数值正比于教师信号ti(t)与神经元i的输出yi(t)之间的差值,即,并且,h(,)的函数值与神经元j的输出yj(t)成正比,即,其中,10为系数。,其中,20为系数。则由Hebbian学习规则可得:,上式即为学习规则。式中,0表示学习速率的系数。,(2)Delta()学习规则,在学习规则中,教师信号可看作为期望的输出,式,中的反映了神经网络期望输出和实际输出之间的差异。,学习规则的实质就是通过迭代计算逐步调整网络权值ij,直到使误差达到最小。,竞争式学习规则属于无导师学习方式。它认为,神经网络是由许多“区域”组成的,各个区域包含一定数量的神经元,当有外界刺激输入时,在同一个区域里的各个神经元发生竞争性响应,其结果是只有一个神经元获胜从而达到兴奋状态,其余神经元则被抑制。,(3)竞争式学习规则,“自组织竞争人工神经网络”是一种模拟某类生物神经网络结构和现象的人工神经网络模型。在该类生物神经网络中存在一种侧抑制现象,即一个神经细胞兴奋后,通过它的分支会对周围其他神经细胞产生抑制。这种侧抑制使神经细胞之间出现竞争,一个兴奋最强的神经细胞对周围神经细胞的抑制作用也最强。,“竞争式学习规则”是自组织竞争神经网络中的一种基本学习规则。,设j为三层前向网络输入层中某个神经元(j=1n),i为隐含层神经元(i=1h),且隐含层神经元采用Sigmoid型传递函数。假设整个隐含层属于同一个竞争区域,则竞争式学习规则如下:,式中,表示隐含层神经元i的状态,表示该神经元的输出;表示输入层神经元j的状态,表示该神经元的输出。,如果在隐含层中竞争的结果神经元k获胜,则其输出达到最大,根据式,输入层所有与该神经元相连接的权值ij都将发生变化,其结果将使kj yj(sj),即 0,从而使权值的调整达到稳态。,而此时其他竞争失败的神经元受抑制,其输出为最小:,二、典型结构的神经网络,反向传播(BP)网络,BP(Back Propagation)网络是一种最为常用的前馈网络,其结构如下图所示。它有一个输入层,一个输出层,一个或多个隐含层。每一层上包含若干个节点,每个节点代表一个神经元。同一层上的各个节点之间无耦合连接关系,信息从输入层开始在各层之间单向传播,依次经过各隐含层节点,最后到达输出层节点。,图 BP网络,设BP网络接受的输入数据为n个,以向量x表示:,网络产生m个输出数据,用向量y表示:,则网络将对应地有n个输入节点、m个输出节点。BP网络可视为从n维输入空间到m维输出空间地非线性映射,即,定理1:给定任一连续函数:f:0,1n Rm,f可以精确地用一个三层BP网络实现,该网络的第一层即输入层有n个神经元,中间层有(2n1)个神经元,第三层即输出层有m个神经元。该定理反映了映射网络的存在性。,定理2:给定任意0,对于任意的L2型连续函数f:0,1n Rm,存在一个三层BP网络,它在任意平方误差精度内逼近f。,由上述两个定理表明,只要用三层的BP网络就可实现L2型连续函数。基于这一结论,在实际应用中三层BP网络已成为最为广泛应用的BP网络。,在BP网络的应用中,如何选取BP网络的隐含层数及其节点数,目前尚无准确的理论和方法。以下是几个确定三层BP网络隐含层节点数h的经验参考公式:,(1),其中,n为输入神经元数;m为输出神经元数;a为110之间的常数。,(2),BP网络的学习采用BP算法,即“误差反向传播算法”。,在BP算法中要用到梯度下降法,下面先介绍梯度下降法,然后再介绍BP算法。,梯度下降法,梯度下降法源于最优化计算方法,它是各类有导师学习算法中最为基本的一种方法。,梯度下降法的基本思想是以神经网络期望的输出和网络实际输出之间的误差平方作为学习的目标函数,根据使其最小化的原则来调整网络的权值。,定义如下误差函数:,式中,k为网络的离散时间变量;W为网络所有权值组成的向量;Y(k)为期望的网络输出向量;为网络的实际输出向量;表示向量的欧几里德范数。,梯度下降法就是沿着E(W)的负梯度方向不断修正W的值,直至使E(W)达到最小值。,式中,(k)是控制权值调整速度的变量,通常和计算的步长有关。,用数学公式表示为:,BP算法,设BP网络共有M层(不包括输入层),第l层的节点数为nl,yk(l)表示第l层节点k的输出,则yk(l)由下两式确定:,式中,sk(l)为第l层神经元k的状态,神经元的状态按式 表示,即,(为该神经元的阈值。),上式采用了向量表示法,其中,Wk(l)为由网络权值组成的系数行向量,y(l-1)为第l-1层的输出列向量。输入层作为第0层处理,因此,y(0)=x,x为网络的输入向量。,给定样本模式X,Y后,BP网络的权值将被调整,使如下的误差目标函数达到最小:,式中,为网络的输出;W表示BP网络中所有的权值;nM为最后一层(输出层)的节点数,因此nMm,且。,根据梯度下降最优化方法,可以通过E(W)的梯度来修正权值。连至第l层第i个神经元的权值向量Wi(l)的修正量由下式确定:,对于输出层(第M层),上式中的 为:,对于隐含层 为:,以上即为BP算法。对于给定的输入输出样本,按照上述过程反复调整权值,最终使网络的输出接近期望的输出。,由于权值的修正是在输入所有样本并计算总体误差后进行的,所以BP算法属于批处理的方法。,BP算法整个处理过程可以分为两个阶段:,第二个阶段:对权值的修正,从网络的输出层开始逐层向后进行计算和修正,这是反向传播过程。,第一个阶段:从BP网络的输入层开始逐层向前计算,根据输入样本计算出各层的输出,最终求出网络输出层的输出,这是前向传播过程;,这两个过程反复交替,直到收敛为止。,反向传播的适用情况正向传播用于进行网络计算,对其输入求出它的输出;反向传播用于逐层传递误差,修改连接权值,以使网络能进行正确的计算。一旦网络经过训练用于求解现实问题,则就只需正向传播,不需要再进行反向传播。,网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;,网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;,多层前向BP网络的优点:,网络具有一定的推广、概括能力。,BP算法的实质是梯度下降法,因而可能存在陷入局部极小以及收敛速度慢等问题。为了解决这些问题,通常采用全局最优算法与BP算法相结合的方法,同时还可以采取以下措施:,给权值加以扰动。在学习的过程中给权值加以扰动,有可能使网络脱离当前局部最小点的陷阱;,选择合适的初始权值;,在网络的学习样本中适当加些噪声,可避免网络依靠死记的办法来学习;,多层前向BP网络存在的问题及采取的措施:,当网络的输出与样本之间的差小于给定的允许误差范围时,则对此样本神经网络不再修正其权值,以此来加快网络的学习速度;,适当选择网络的大小,尽可能使用三层网络,这样可以避免因层数多、节点数多、计算复杂化而可能导致反向误差发散的情况。,径向基函数(RBF)网络,径向基函数(radial basis functionRBF)网络也是一种常用的前馈网络,其结构如下图所示。,图 RBF网络,从结构上看,径向基函数(RBF)网络它属于三层前馈网络,包括一个输入层、一个输出层和一个隐含层。,输入层节点的作用是将输入数据x1,x2,xn传递到隐含层节点;隐含层节点称为RBF节点,由以高斯型传递函数为典型代表的辐射状函数神经元构成;输出层节点的传递函数通常为简单的线性函数。,隐含层节点的高斯核函数对输入数据将在局部产生响应。即当输入数据靠近高斯核函数的中心时,隐含层节点将产生较大的输出;反之则产生较小的输出。,高斯核函数的表达式为:,式中:,x=(x1,x2,xn)T是RBF网络的输入数据向量;uj是第j个隐含层节点的输出,且uj0,1;Cj是高斯核函数的中心值;h为隐含层RBF节点数;j为标准化常数。,RBF网络的输出是隐含层节点输出的线性组合,即,式中:,第一阶段:根据所有输入样本决定隐含层各节点的高斯核函数的中心值Cj和标准化常数j;,第二阶段:当决定了隐含层的参数后,再根据样本,利用最小二乘原则,求出输出层的权值向量Wi。,RBF网络的学习过程分为两个阶段:,Hopfield网络是典型的反馈型神经网络(feedback neural network)。,Hopfield网络,在反馈型神经网络中,输入数据决定了反馈系统的初始状态,经过一系列状态转移后,系统逐渐收敛至平衡状态。这个平衡状态就是反馈型神经网络经计算后的输出结果。,稳定性是反馈型神经网络最重要的问题之一。如果能找到网络的李雅普若夫(Lyapunov)函数,则可以根据李雅普若夫稳定性定理来分析、设计反馈型神经网络,进而保证网络对任意的初始状态都具有稳定收敛的性质。,Hopfield网络分连续型和离散型两种。,连续型Hopfield网络可用如下的非线性微分方程描述:,连续型Hopfield网络的非线性微分方程可由相应的电路模拟,如下图所示。,图中,电阻Ri和电容Ci并联,以模拟生物神经元输出的时间常数;跨导tij模拟生物神经元之间互连的突触特性;运算放大器Ai用来模拟生物神经元的非线性特性yi=gi(si);神经元的状态(si)和输出(yi)取电压量纲,而输入(xi)取电流量纲。,图 连续型Hopfield网络的电路模拟,对于离散型Hopfield神经网络,考虑由n个神经元构成的单层全反馈型网络,网络结构如下图所示。,其中,i,si,yj分别表示神经元i的阈值、状态和输出;xi为网络的第i个输入信号。,图 离散的Hopfield神经网络(单层全反馈型),对于神经元i,其模型方程如下:,其中,sgn为符号函数。,自组织特征映射网络,自组织特征映射神经网络(self-organizing feature map)是一种典型的自组织神经网络(self-organizing neural network)。,自组织神经网络是一种无教师学习的神经网络,它能够模拟人类应用过去的经验来自动适应无法预测的环境变化的能力。由于没有教师信号,自组织神经网络通常利用竞争学习规则来进行网络的学习。,递归神经网络,递归神经网络(RNN)有完全递归和部分递归两种类型。完全递归网络具有任意的前馈和反馈连接,其所有连接权值都可修正调整。部分递归网络的主体结构仍为前馈型,反馈连接则由一组结构(Context)单元实现,其连接权值固定。,图 递归神经网络(RNN),基于递归神经网络的结构如下图所示。,在该网络中,输入单元仅起输入信号传输作用;输出单元起线性加权求和作用;结构单元则记忆前一时刻的网络输出值,即起延时算子的作用。Wi,Wo,Wc分别表示输入层至隐含层、隐含层至输出层以及结构单元至隐含层的权值矩阵。,设递归神经网络的输入向量为:,网络的输出向量为:,反馈向量为:,隐含层节点的输出向量为:,则递归神经网络的模型可以用下述方程描述:,上式中,k为离散时间变量;o,h分别为输出层和隐含层神经元的阈值向量;W为由(Wo,o,Wi,Wc,h)组成的整个网络的参数矩阵。,在上述模型方程中,不同的反馈规则将导致不同的递归神经网络结构:,(1)若F(k)0,则递归神经网络将退化为普通的前馈网络;,由于在递归神经网络中引入了递归结构,所以能够实现对先验输入数据的记忆,即通过递归变量F,依据网络输出层和隐含层的状态信息保留系统中过去的信息。,输出层到隐含层有反馈,(3)若F(k)V(k-1),则为Elman型递归网络。,(2)若F(k)Y(k-1),则为Jordan型递归网络;,隐含层和隐含层之间有反馈,三、改进型BP算法及其在故障诊断中的应用,改进型BP算法,前面我们已经介绍了BP网络以及BP算法。BP网络是一种基本的神经网络,它在故障诊断中得到了广泛的应用。,BP算法具有较为简单、清晰、有效的优点,但在实际应用中,存在两个主要问题:,一是其收敛速度较慢;,二是容易陷入局部极小点。,影响BP算法收敛速度和可能陷入局部极小点的因素很多,主要的影响因素有:隐节点的数目、学习步长的选择、样本集的预处理、以及网络初始权值的选择等。,针对BP算法存在的问题,提出了不少改进型BP算法,如“变步长算法”和“引入动量因子的改进BP算法”等。,变步长算法,基本的BP算法是定步长的,这不利于计算的快速收敛。变步长算法的基本思想是:,其中,是与步长有关的参数;为步长的增大、缩小因子。,引入动量因子的改进BP算法,考虑一个三层BP网络,设它有n个输入节点、m个输出节点、h个隐含层节点。网络的输入和输出数据分别用向量X和Y来表示,即:,给定样本集,BP网络的权值将被调整,使如下的误差目标函数达到最小:,上式中,为BP网络的输出向量,WRt为BP网络中所有权值组成的权向量。,网络的学习可归结为如下的无约束最优化问题:,基本的BP算法根据梯度法来解决这个问题。权向量按照误差函数E(W)的负梯度方向来修正,直到E(W)达到最小值。因此,权向量的迭代公式为:,上式中,为常数,表示学习的步长;G(k)为E(W)的负梯度,即,(1),为了加快BP算法的收敛速度,引入动量因子,从而将式(1)中的权向量迭代修正规则改进成为:,上式中:,它记忆了上一时刻权向量的修改方向,从而使式(2)的形式类似于共轭梯度算法。动量因子 的取值范围0 1,它的选取对网络学习的收敛速度有着重要的调节作用。,(2),(1),改进型BP算法在船舶主柴油机冷却系统故障诊断中的应用,应用神经网络技术解决故障诊断问题的主要步骤包括:根据诊断问题组织学习样本;根据问题和样本构造神经网络;选择合适的学习算法和参数。,下面针对船舶主柴油机冷却系统的故障诊断问题,介绍基于引入动量因子的改进型BP算法的应用。,冷却系统是船舶主柴油机系统的一个子系统,其简化的流程如下图所示。,冷却系统属于船舶机舱高温淡水冷却回路,它用海水作为冷介质,通过热交换器去冷却高温淡水;经冷却后的高温淡水再去冷却主柴油机;高温淡水循环使用,必要时可通过淡水柜补充系统中的淡水循环量。,图 船舶主柴油机冷却系统流程图,根据故障机理分析以及该领域的专家知识,可以得到冷却系统的故障征兆集、故障原因集以及它们之间的关系。,T1:淡水温度(0C);T2:海水温度(0C)P1:淡水压力(MPa);P2:海水压力(MPa)Q1:淡水流量(t/hr);Q2:海水流量(t/hr),以上6个参数作为神经网络的输入变量。,该系统的故障征兆可由以下6个可测的工艺参数表征:,该系统常见的故障原因如下:,F0:系统正常;F1:气缸超载F2:气缸后燃;F3:淡水阀关闭或损坏F4:淡水泵压力高;F5:淡水管系泄漏,F6:淡水泵压力高;F7:淡水旁通阀开度小F8:淡水管系堵塞;F9:冷却器管系堵塞F10:海域气候;F11:海水泵压力低,F12:海水滤器堵塞;F13:海水泵压力高F14:海水旁通阀开度大;F15:海水阀堵塞,以上16个参数作为神经网络的输出变量。,用一个BP网络来处理该系统的故障诊断问题,因此,网络的输入节点数为6;输出节点数为16。,将故障征兆和故障原因之间的关系作为网络的学习对象,故障样本如下表所示。,表中,N,H,L分别表示Normal,High,Low。,为了确定BP网络的结构并取得优良的故障诊断效果,在设定允许误差限度的情况下,针对三层BP网络结构和学习样本,采用引入动量因子的改进型BP算法,研究网络结构参数和算法参数对学习速度的影响,寻求参数的优化。,作如下仿真实验:,(1)固定网络的隐含层节点数h和学习效率,分析动量因子 对算法的影响。结果表明,引入动量因子有利于加速学习收敛,并且在一定范围内其收敛速度随 的增加而加快。优化的动量因子为 0.9。,(2)固定学习效率和动量因子,分析BP网络的隐含层节点数h对算法的影响。结果表明,隐含层节点数对网络学习的收敛性也有很大的影响。最佳的隐含层节点数为h7。,(3)选择优化的动量因子 0.9 和最佳的隐含层节点数h7,然后选用不同的学习率 训练网络。结果表明,当 较小时网络收敛慢;而 取得过大则又会出现振荡而影响收敛。最终确定一个优化的学习率 0.7。,以上的参数优化显著改善了BP网络学习能力。通过学习训练,BP网络获得了柴油机冷却系统故障诊断的知识,这些知识隐性地表达在神经网络的拓扑结构、连接形式和权值分布之中。,引入实际运行中的数据对该神经网络进行验证:,实验结果表明:对于已学习过的样本知识,网络输出与期望结果充分相符,表明该网络能够正确地实现故障诊断;当输入数据在一定范围内偏离样本知识时,网络的输出具有接近样本输出的倾向,因而表明神经网络在故障诊断方面的实际可用性;对于远远偏离样本的输入数据,神经网络的诊断能力大大下降,甚至可能得出错误结论。这表明,采用神经网络处理故障诊断问题,故障诊断机理的必要知识起着重要的作用。,内容补充:基于神经网络技术的故障诊断在MATLAB中的实现,一、MATLAB语言简介,1、MATLAB概述,MATLAB诞生于20世纪70年代,它的编写者是Cleve Moler博士和他的同事们。,1984年,Cleve Moler和John Little成立了MathWorks公司,正式把MATLAB推向市场,并继续进行MATLAB开发。,1993年,MathWorks公司推出MATLAB 4.0;1997年,推出MATLAB 5.0;2002年8月,MathWorks公司发布MATLAB 6.5;2004年9月,MathWorks公司发布MATLAB 7;,2006年9月,MathWorks公司发布MATLAB 7.2。从06年开始,MathWorks公司每年将进行两次产品发布,时间分别在每年的3月和9月,而且,每一次发布都会包含所有的产品模块,如产品的new feature、bug fixes和新产品模块的推出。,MATLAB长于数值计算,能处理大量的数据,而且效率比较高。,MathWorks公司在此基础上,加强了MATLAB的符号计算、文字处理、可视化建模和实时控制能力,增强了MATLAB的市场竞争力,使MATLAB成为了市场主流的数值计算软件。,2、MATLAB功能,MATLAB的核心是一个基于矩阵运算的快速解释程序,它交互式地接收用户输入的各项命令,输出计算结果。MATLAB提供了一个开放式的集成环境,用户可以运行系统提供的大量命令,包括数值计算、图形绘制和代码编制等。,具体来说,MATLAB具有以下功能:,数据可视化功能;矩阵运算功能;大量的工具箱;绘图功能;GUI设计;Simulink仿真。,3、MATLAB语言特点,MATLAB语言有不同于其他高级语言的特点,他被称为第四代计算机语言。MATLAB语言最大的特点就是简单快捷。,具体来说,MATLAB主要有以下特点:,编程效率高:,MATLAB是一种面向科学与工程计算的高级语言,允许用数学形式的语言来编写程序,比Basic、Fortran和C等语言更加接近我们书写计算公式的思维方式。,用MATLAB语言编写程序犹如在演算纸上排列出公式与求解问题一样。因此,MATLAB语言也可以通俗地称为“演算纸”式科学算法语言。正是由于它编写简单,所以编程效率高,易学易懂。,用户使用方便:,MATLAB语言是一种解释执行的语言,它灵活、方便,调试手段丰富,调试速度快。MATLAB语言与其他语言相比,把编辑、编译、连接和执行融为一体。具体地说,在运行MATLAB时,如果直接在命令行输入MATLAB语句(命令),包括调用M文件的语句,每输入一条语句,就会立即对其进行处理,完成编译、连接和运行的全过程。,扩充能力强,交互性好:,高版本的MATLAB语言拥有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且MATLAB的库函数同用户文件在形成方式上一样,所以用户文件也可以作为库函数被调用。另外,在Fortran、C语言和MATLAB之间可以方便的调用,具有良好的交互性。,移植性好,开放性好:,MATLAB是用C语言编写的,而C语言的可移植性很好。除了内部函数外,MATLAB所有的核心文件和工具箱文件都是公开的,用户可以通过对源文件的修改和自己编程构成新的工具箱。,语句简单,内涵丰富,高效方便的矩阵和数组运算,方便的绘图功能:,MATLAB的绘图功能是十分方便的,它有一系列绘图函数(命令),例如线性坐标、对数坐标、半对数坐标及极坐标。在调用函数时,可以通过调整自变量绘出不同颜色的点、线、复线或多重线。,二、MATLAB快速入门,MATLAB之所以易学易用,主要在于它向用户提供了成系列的交互式工作界面。下面,专门介绍MATLAB主窗口中最常用的交互界面。,1、命令行窗口(Command Window),可以在命令行窗口中输入MATLAB命令,可以是一个单独的MATLAB语句,也可以是一段利用MATLAB编程功能实现的代码。,例1:在命令行窗口创建一个BP神经网络。,net=newff(0 10,5 1,tansig purelin);,例2:输入一个简单的矩阵。,在创建神经网络时,经常需要用到矩阵,在MATLAB命令行中,矩阵有两种输入方式。,0 1,0 2,方法1:在命令行中输入A0 1;0 2。,方法2:在命令行中输入A0 1 0 2。,函数plot在利用神经网络工具箱时会被经常用到,它是最基本的二维绘图函数。plot的基本调用格式有以下三种。,(1)plot(x),(2)plot(x,y),(3)plot(x,y,s),s表示线条的颜色和类型,如r+,表示各点是由红色的+号绘制的。如果没有特别说明,则默认的类型为蓝色的线条。,例3:绘制三条正弦曲线,其中在第一张图上绘制两条,在第二张图上绘制一条。除plot外,还要用到:hold on:用于保存绘制句柄;hold off:用于释放(停止)绘制句柄;figure:用于重开一张图进行绘制。,x=-5:0.1:5;y1=sin(x);y2=sin(2*x);y3=sin(1.5*x);plot(x,y1);hold onplot(x,y2,r+);hold offfigureplot(x,y3,bo),程序:,2、命令行历史窗口(Command History窗口),该窗口中存储了在命令行窗口中输入的所有命令。如果想重新执行已经运行过的命令,该窗口提供了一个很好的选择。如果需要重新运行该窗口的命令,只需在窗口中选中该命令,然后双击鼠标即可。,3、当前路径窗口(Current Directory窗口),该窗口指定了当前的路径窗口。如果不加改动的话,每次启动MATLAB,该窗口默认的当前为:X:/MATLAB 7/work(X为MATLAB的安装盘符)。,4、工作空间浏览器(Workspace Browser),工作空间浏览器存储并显示了当前命令行窗口中所有的变量。这些变量是保存在内存中的,在MATLAB进程结束以前,一直是活动的。,在命令行窗口中输入who和whos,可以查看当前内存中的所有变量,包括变量的名称、大小和类型。,例4:在命令行窗口输入who和whos。,5、MATLAB帮助系统,MATLAB 7提供了丰富的帮助资源,有PDF形式,也有网页形式。所有的PDF帮助文档都在安装过程中默认放置在X:/MATLAB 7/help/pdf_doc文件夹,可根据需要选择相应的帮助文档进行查看。,例5:在命令行窗口输入help。(可显示所有的帮助主题。),例6:如需要有关前向型网络的创建函数newff的有关信息,可在命令行窗口中输入如下命令:,在命令行窗口输入help name。(如需要某个函数或工具箱的帮助信息,可在命令行输入该命令。name为需要帮助的函数或工具箱的名称。),help newff,在结果中,提供了丰富的帮助信息,包括函数的功能、调用方法、各参数的意义、使用过程中的注意事项和示例,最后还给出了与该函数相关的其他函数的名称。,另外,在MATLAB主窗口中,在【help】菜单下选中【MATLAB Help】命令,即可启动集成式的帮助系统。,三、神经网络工具箱,最新版本的神经网络工具箱几乎涵盖了所有的神经网络的基本常用模型,如感知器、BP网络、径向基网络等。,对于各种不同的网络类型,神经网络工具箱集成了多种学习算法,为用户提供了极大的方便。另外,工具箱中还给出了大量的示例程序和帮助文档,能够快速地帮助用户掌握工具箱的应用方法。,目前,神经网络工具箱中提供的神经网络模型主要应用于:,函数逼近和模型拟合;信息处理和预测;神经网络控制;故障诊断。,确定信息表达方式,在实际应用中,面对一个具体问题,首先需要分析利用神经网络求解问题的性质,然后依据问题特点,确定网络模型。最后通过对网络进行训练、仿真等,检验网络是否满足要求。具体过程概括为:,将领域问题及其相应的领域知识转化为网络可以接受并处理的形式,即将领域问题抽象为适合于网络求解所能接受的某种数据形式。,网络模型的确定,根据问题的实际情况,选择模型的类型、结构等。,网络参数的选择,确定网络的输入输出神经元的数目,如果是多层网络,还需要进一步确定隐含层神经元的个数。,训练模式的确定,包括选择合理的训练算法,确定合适的训练步数,指定适当的训练目标误差,以获得较好的网络性能。,网络测试,选择合理的测试样本,对网络进行测试,或者将网络应用于实际问题,检验网络性能。,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。,(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:函数返回值,最终的层延迟。,2)trainb,该函数用于对神经网络权值和阈值的训练。它不能直接调用,而是通过函数train隐含调用。,训练之前,需要设定以下参数。,表:训练参数,3)learnp,该函数用于