您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第3章 神经网络故障诊断与预测(2)
(1)产生数据样本集(2)确定网络的类型和结构(3)训练和测试3.2.3神经网络的训练(1)产生数据样本集这里包括原始数据的收集、数据分析、变量选择以及数据的预处理。首先要在大量的原始测量数据中确定出最主要的输入模式。这就需要对原始数据进行统计分析,检验它们之间的相关性。找出其中最主要的量作为输入。在确定了最重要的输入量后,需进行尺度变换和预处理。尺度变换常常将它们变换到[-1,1]或[0,1]的范围。在进行尺度变换前必须先检查是否存在异常点(或称野点),这些点必须剔除。对于一个复杂问题应该选择多少数据,这也是一个很关键的问题。系统的输入输出关系就包含在这些数据样本中。所以一般说来,取的数据越多,学习和训练的结果便越能正确反映输入输出关系。(1)产生数据样本集但是选太多的数据将增加收集、分析数据以及网络训练的所付的代价。选太少的数据则可能得不到正确的结果。事实上数据的多少取决于许多因素,如网络的大小、网络测试的需要以及输入输出的分布等。其中网络大小最关键。通常较大的网络需要较多的训练数据。一个经验规则是:训练模式应是连接权总数的5至10倍。(1)产生数据样本集在神经网络训练完成后,需要有另外的测试数据来对网络加以检验,测试数据应是独立的数据集合。最简单的方法是:将收集到的可用数据随机地分成两部分,譬如说其中三分之二用于网络的训练,另外三分之一用于将来的测试,随机选取的目的是为了尽量减小这两部分数据的相关性。影响数据大小的另一个因素是输入模式和输出结果的分布,对数据预先加以分类可以减少所需的数据量。相反,数据稀薄不匀甚至互相覆盖则势必要增加数据量。(1)产生数据样本集(2)确定网络的类型和结构在训练神经网络之前,首先要确定所选的网络类型。若主要用于模式分类,尤其是线性可分的情况,则可采用较为简单的感知器网络;若主要用于函数估计,则可应用BP网络。实际上,神经网络的类型很多,需根据问题的性质和任务的要求来合适地选择网络类型。一般是从已有的网络类型中选用一种比较简单而又能满足要求的网络。在网络的类型确定后,剩下的问题是选择网络的结构和参数。以BP网络为例,需选择网络的层数、每层的节点数、初始权值、阈值、学习算法、节点变换函数及参数、学习率及动量项因子等参数。这里有些项的选择有一些指导原则,但更多的是靠经验和试凑。(2)确定网络的类型和结构具体选择有如下两种方法:a.先设置较少节点,对网络进行训练,并测试网络的逼近误差,然后逐渐增加节点数,直到测试的误差不再有明显减小为止。若确定了输入和输出变量后,网络输入层和输出层的节点个数也便随之确定了。对于隐层的层数可首先考虑只选择一个隐层。剩下的问题是如何选择隐层的节点数。其选择原则是:在能正确反映输入输出关系的基础上,尽量选取较少的隐层节点数,而使网络尽量简单。(2)确定网络的类型和结构b.先设置较多的节点,在对网络进行训练时,采用如下的误差代价函数jiqqijQqninjqijQpiPpnipifwEwxdEqqQ,,)(111)(2)(11)(211引入第二项的作用相当于引入一个“遗忘”项,其目的是为了使训练后的连接权系数尽量小,可求得这时对的梯度为fE)(qijw)(sgn)()()(qijqijqijfwwEwE(2)确定网络的类型和结构利用该梯度可求得相应的学习算法,利用该学习算法,在训练过程中只有那些确实必要的连接权才予以保留,而那些不很必要的连接将逐渐衰减为零。最后可去掉那些影响不大的连接权和相应的节点,从而得到一个适当规模的网络结构。若采用上述任一方法得到的隐层节点数太多。这时可考虑采用二个隐层。为达到相同的映射关系,采用二个隐层的节点总数常常可比只用一个隐层时少。(2)确定网络的类型和结构(3)训练和测试在训练过程中对训练样本数据需要反复地使用。对所有样本数据正向运行一次,并反传修改连接权一次称为一次训练(或一次学习),这样的训练需要反复地进行下去直至获得合适的映射结果。通常训练一个网络需要成百上千次。应注意,并非训练的次数越多越好。训练网络的目的在于找出蕴含在样本数据中的输入和输出之间的本质联系,从而对于未经训练的输入也能给出合适的输出,即具备泛化功能。由于所收集的数据都是包含噪声的,训练的次数过多,网络将包含噪声的数据都记录了下来,但是对于新的输入数据却不能给出合适的输出,也即并不具备很好的泛化功能。(3)训练和测试从如下误差曲线可以看出,在用测试数据检验时,均方误差开始逐渐减小,当训练次数再增加时,测试检验误差反而增加。误差曲线上极小点所对应的即为恰当的训练次数,若再训练即为“过度训练”了。(3)训练和测试BP网络在函数逼近中的应用一、问题的提出要求设计一个BP网络,逼近以下指数衰减函数:2*2pte隐层采用S型正切函数(tansig),输出层采用线性型(purelin)。程序见hs.m学习速率一般选取为0.001-0.8之间,一般倾向于较小的学习速率,本例选0.1;BP网络训练时间较长,易陷入拒不饱和现象,可通过附加动量参数进行改进,动量因子一般选取为0.95左右,通过Matlab工具箱中的learnbpm函数可以添加动量因子,本实验动量因子为0.9。(1)由训练结果显示:能完成很好的逼近功能,误差是收敛的。将输入步长从0.05变为0.1,可看到训练网络具体有泛化能力。(2)对同一训练样本,进行再次的训练时发现训练的轮数差距比较大。其原因是:权值的自动选取功能。(3)修改隐层神经元的个数,观察函数的逼近及其训练轮数(最初隐层神经元的个数为5)。隐层神经元n=10时:训练需要498轮。隐层神经元n=20时:训练需要1521轮。隐层神经元n=30时:到达最大训练轮数都没完成函数逼近。隐层神经元n=3时:训练需要339轮。隐层神经元n=2时:训练需要130轮。对本函数逼近来说,n=5时,误差曲线衰减最快,n=5可以说是最好的隐层的个数。增加隐层的数量会进一步降低误差,但是会使网络学习的时间加长。神经网络控制理论在基于BP和Elmam神经网络的故障诊断一、神经网络用于故障诊断的优点⑴训练过的神经网络能存储有关过程的知识,能直接从历史故障信息中学习。可根据对象的历史数据训练网络,然后将此信息与当前测量数据进行比较,以确定故障类型。⑵神经网络具有滤除噪声及在有噪声情况下,得出正确结论的能力。可以训练神经网络来识别故障信息,使其能在噪声环境中有效地工作,这种滤除噪声的能力,使得神经网络适合在线故障检测和诊断。二、基于神经网络诊断系统结构作为一种自适应模式识别技术,不需要预先给出有关模式的经验知识和判别函数,通过自身的学习机制自动形成所要求的决策区域。网络特性由其拓扑结构、神经元特性、学习和训练规则所决定。可以充分利用状态信息,对来自于不同状态的信息逐一进行训练而获得某种映射关系。而且网络可以连续学习,若环境发生改变,这种映射关系还可自适应地调整。典型的神经网络模式识别功能诊断系统结构图图中的神经网络的诊断过程分为两步。首先,基于一定数量训练样本集(通常称为“征兆-故障”数据集)对神经网络进行训练,得到期望的诊断网络;其次,根据当前诊断输入对系统进行诊断,诊断的过程即为利用神经网络进行前向计算的过程。二、基于神经网络诊断系统结构在学习和诊断前,通常需要对诊断原始数据和训练样本数据进行适当的处理,包括预处理和特征选择/提取等,目的是为诊断网络提供合适的诊断输入和训练样本。此外,尽管神经网络与传统故障诊断是两种不同的诊断方法,但两者是紧密联系的。如采用小波分析等数据处理方法,可用为神经网络诊断提供可以利用的特征向量。三、基于BP网络的齿轮箱故障诊断1、问题描述变速箱是整机进行减速增扭的部件,它受扭转和拉压两种载荷综合作用,据统计,以齿轮为代表的变速箱故障发生率占据除发动机故障以外的其他所有故障的59%~70%。在非拆卸状态下,传统的齿轮箱故障诊断依赖于专家经验判断。但是,齿轮箱是一种非常复杂的传动机构,它的故障模式和特征量之间是一种非常复杂的非线性关系,加上齿轮箱在不同工况下的随机因素,专家经验并不能解决所有诊断问题。2、征兆/故障样本集的收集与设计对于特征量的选取,主要考虑它是否与故障有比较确定的因果关系。统计表明:齿轮箱故障中有60%左右都是由齿轮导致,所以这里只研究齿轮故障的诊断。对于齿轮的故障,这里选取了频域中的几个特征量。频域中齿轮故障比较明显的是在啮合频率处的边缘带上。而用神经网络可有效避免这个问题。它的自适应、自学习和对非线性系统超强分析能力注定它可以在齿轮箱的故障诊断中大显身手。3、BP网络设计1、网络创建对一般模式识别,三层网络可很好地解决,用newff函数创建网络。隐层神经元n2与输入层神经元n1之间有如下近似关系:n2=2n1+1输入层神经元15个(取2、4、6挡,1、2、3轴边频带族处幅值,是一个15维向量)隐层神经元31,输出层神经元3。输入向量已归一化,范围[0,1],隐层神经元的传递函数用s型正切函数tansig,输出层神经元传递函数用s型对数函数logsig,这是由于输出模式为0-1,正好满足网络输出要求。2、网络训练(程序见bp1.m)训练函数:trainlm;训练参数:训练次数为1000次,训练目标0.01,学习速率0.1。输入向量P共9组,其中前3组为无故障,中间3组为齿根裂纹,后3组为断齿;输出向量T包括3种故障模式:无故障:(1,0,0)齿根裂纹:(0,1,0)断齿:(0,0,1)接下来通过一组实际数据对网络进行测试,看网络是否可以正确诊断出齿轮的故障。如果正确诊断出故障,则网络可以投入使用。分别在无故障、齿根裂纹和断齿时进行测量,得到各参数的值,将这些数据作为输入向量,利用仿真函数计算网络输出,通过故障判别准则看是否出了故障。3、网络测试测试结果某次输出结果故障类别0.99130.10550.0205无故障0.00061.00000.0000齿根裂纹0.03970.00071.0000断齿结果分析分析:网络成功地诊断出了所有故障。因此,可以将网络投入实际工程应用了。本例采用的样本量比较少,这样一来,故障诊断的数据范围就不会很大,对于那些和训练样本数据相差很大的数据,网络可能无法做出正确的诊断。在这种情况下,如果想提高网络的故障识别准确率,建议采用大容量的训练样本。四、基于Elmam网络的齿轮箱故障诊断BP网络是一种前向神经网络,相对于反馈型网络来讲,收敛速度相对较慢,而且有可能收敛到局部极小点,因此尝试用Elmam网络对上例进行故障诊断,并比较两者的结果。程序:elman1.m相对于BP网络来说,Elmam网络的误差要大一些,但并不影响实际由于应用;由于在Elmam网络中引入了反馈,网络的训练误差要比BP网络平滑。结果分析基于BP神经网络的电力系统负荷预报1、问题描述近几年,我国南方一直处于”电荒”的被动情况,为了更好地利用电能,必须做好电力负荷的短期预报工作。负荷预报的误差将导致运行和生产费用的剧增,因此,精确的预报就成了电力工作者致力解决的问题。电力系统负荷变化受多方面影响,呈现强烈的非线性特性。2、负荷预报的通常2种解决办法1.统计技术:分时间系列模型和回归模型。缺点:不能充分利用对负荷性能有很大影响的气候信息和其他因素,精确模型的建立困难。2.专家系统:利用专家的经验知识和推理规则,使节假日或有重大活动日子的负荷预报精度得到了提高。缺点:将专家知识和经验等准确地化为一系列规则是不容易的。负荷曲线是与很多因素相关的一个非线性函数。对于抽取和逼近这种非线性函数,神经网络是一种合适的方法。神经网络优点:不依靠专家经验,只利用观察到的数据,可从训练过程中通过学习来抽取和逼近隐含的输入/输出非线性关系。研究表明,相对于前两种方法,用神经网络进行电力系统短期负荷预报可获得更高的精度。3、神经网络划分负荷类型和日期类型由相关文献资料,常有以下两种划分模式:将一周7天分为工作日(星期一到星期五)和休息日(星期六和星期天)等两种类型;将一周7天的每天都看作一种类型,共有7种类型
本文标题:第3章 神经网络故障诊断与预测(2)
链接地址:https://www.777doc.com/doc-4024927 .html