基于某BP神经网络地齿轮箱故障诊断.doc

上传人:夺命阿水 文档编号:16149 上传时间:2022-06-30 格式:DOC 页数:16 大小:533.62KB
返回 下载 相关 举报
基于某BP神经网络地齿轮箱故障诊断.doc_第1页
第1页 / 共16页
基于某BP神经网络地齿轮箱故障诊断.doc_第2页
第2页 / 共16页
基于某BP神经网络地齿轮箱故障诊断.doc_第3页
第3页 / 共16页
基于某BP神经网络地齿轮箱故障诊断.doc_第4页
第4页 / 共16页
基于某BP神经网络地齿轮箱故障诊断.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于某BP神经网络地齿轮箱故障诊断.doc》由会员分享,可在线阅读,更多相关《基于某BP神经网络地齿轮箱故障诊断.doc(16页珍藏版)》请在课桌文档上搜索。

1、目录1绪论1神经网络简介1研究课题22设计过程4故障模型与故障诊断问题的表示形式4常用算法5流程图6程序代码分析73运行结果分析8参数规如此与总体进度8训练过程曲线图9分析结果10参考文献10附录11基于BP神经网络的齿轮箱故障诊断1绪论思维学普遍认为,人类大脑的思维分为抽象逻辑思维、形象直观思维和灵感顿悟思维三种根本方式。逻辑性的思维是指根据逻辑规如此进展推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进展逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而,直观性的思维是将分布式存储的信息综合起来,结果是突然间产生想法或解决问题的方法。这种思维方式的根本之点在

2、于以下两点:1.信息是通过神经元上的兴奋模式分布储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。BP神经网络简介人工神经网络首先要以一定的学习准如此进展学习,然后才能工作。现以人工神经网络对手写“A、“B两个字母的识别为例进展说明,规定当“A输入网络时,应该输出“1,而当输入为“B时,输出为“0。所以网络学习的准如此应该是:如果网络作出错误的的判决,如此通过网络的学

3、习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比拟、再进展非线性运算,得到网络的输出。在此情况下,网络输出为“1和“0的概率各为50%,也就是说是完全随机的。这时如果输出为“1(结果正确),如此使连接权值增大,以便使网络再次遇到“A模式输入时,仍然能作出正确的判断。如果输出为“0(即结果错误),如此把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A模式输入时,减小犯同样错误的可能性。如此操作调整,当给网络轮番输入假如干个手写字母“A、“B后,经过网络按以

4、上学习方法进展假如干次学习后,网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,如此它能记忆、识别的模式也就越多。在人工神经网络开展历史中,很长一段时间里没有找到隐层的连接权值调整问题的有效算法。直到误差反向传播算法BP算法的提出,成功地解决了求解非线性连续函数的多层前馈神经网络权重调整问题。神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入

5、信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进展到网络输出的误差减少到可以承受的程度,或者预先设定的学习次数为止。BP神经网络模型BP网络模型包括其输入输出模型、

6、作用函数模型、误差计算模型和自学习模型。课题以某型拖拉机的齿轮箱为工程背景,介绍使用基于遗传算法的BP神经网络进展齿轮箱故障的诊断。统计明确,齿轮箱故障中60%左右都是由齿轮故障导致的,而对于齿轮的故障,选取频域中几个特征向量。频域中齿轮故障比拟明显的是在啮合频率处的边缘带上。所以在频域特征信号的提取中选取了在2,4,6档时,在1,2,3轴的边聘带族处的幅值,和,其中为齿轮的啮合频率,为轴的转频,n=1,2,3;i=2,4,6表示挡位,j=1,2,3表示轴的序号。由于在2轴和3轴上有两对齿轮啮合,所以1,2分别表示两个啮合频率。这样网络的输入就是一个15维的向量。因为这些数据具有不同的量纲和量

7、级,所以在输入神经网络之前首先进展归一化处理,表3-1和3-2列出了归一化后的齿轮箱状态样本数据。从表中可以看出齿轮有3种故障模式,故输出变量有三维:无故障:(1,0,0); 齿根裂纹0,1,0; 断齿0,0,1为了对训练好的网络进展测试,另外再给出三组新的数据作为网络的测试数据,如表3-2所示。要求:(1) 写出解题思路与步骤,包括:算法流程,神经网络的算法实现步骤网络创建、网络训练和测试,遗传算法的实现种群初始化、适应度函数、选择算子、交叉算子和变异算子等。(2) 写出所用的matlab程序代码,并按照上述步骤分段说明,并列举出每一段中用到的主要函数。提示,此题遗传算法局部使用sheffi

8、eld遗传算法工具箱,BP神经网络局部采用matlab自带的神经网络工具箱。(3) 写出程序运行的中间结果与最后结果,包括遗传算法和神经网络的每段,如神经网络的输入/输出设置,初始化,网络创建,训练和测试结果等。作出结果分析并绘制相应的仿真曲线。2设计过程故障模型与故障诊断问题的表示形式系统的故障表现为系统的失效,即妨碍系统完成或保持其应有的性能和功能系统运行时,故障以过失和失效的形式表现出来,因此,理想的故障诊断方法是在系统尚未运行时,就将故障诊断出来但事实上,相当数量的故障直到系统运行到出现过失、失效以至于崩溃时,人们才会意识到它们的存在因而,故障诊断更多的是根据系统早期的状态信息和已出现

9、的故障现象来进展的。故障诊断的首要问题就是故障的表示,我们将某一故障的属性组成一个固定的属性集令FS是系统 S的故障集,如此具体描述为: FS=f0,f1,f2,fn式中f0表示系统正常,即无故障,在此将无故障作为一种特殊的故障类型;f1,f2,fn表示各种故障。 ASi=Ai󰃜Ai 属性作为S的动态属性,表示由故障fi导致的过失IN-AS=Ak󰃜Ak 󰃜属性作为S的输入属性,决定S的动态特性 AS=n i=0 ASiAS=ASIN - AS 由此得到系统S的故障集FS对应的属性集AS,不妨设AS=A1,A2,Amt时刻诊断出系统S的故障 fi即

10、可表示为,5使得下式成立: (A1(t),A2(t),Am(t)=fi, i=0,1,n式中Aj(t)表示属性Aj在时刻t的取值,j=1,m也就代表具体的故障诊断方法假如把看作是系统专家进展的诊断,如此其自变量的取值应是属性集 AS在0-t时间段上的所有取值,而诊断结果如此可能不仅仅是某个fi,而且是FS中假如干个故障的逻辑运算因此,本质上,故障诊断就是寻找故障的表现形式(过失)到故障本身的映射,把故障诊断问题形式化表示的过程。故障诊断问题的形式化表示故障诊断过程其实就是根据诊断对象出现的异常征兆来查明被诊对象发生了什么故障和引起这些故障的可能原因的过程,对于一个诊断问题我们可以将其形式化为以

11、下的四元式:DP=(X,Y,E,X+)其中X=(x1,x2,xn)T,为一个非空的征兆集合;Y=(y1,y2,yn)T,为一个非空的故障集合;X+X为X的一个子集,表示目前已经观测到存在的征兆集合;EXY为定义在XY上的关系子集,即有关故障与征兆间因果关系方面的知识在传统的专家诊断系统中E可以是故障引起的征兆的概率,也可以是定义在XY上的因果二元有序模糊关系的隶属函数在神经网络诊断系统中,E最终表现为神经网络输入层与输出层之间的连接权值和阈值算法算法标准误差定义为各测量值误差的平方和的平均值的平方根。设n个测量值的误差为1、2n,如此这组测量值的标准误差等于:数理统计中均方误差是指参数估计值与

12、参数真值之差平方的期望值,记为MSE。MSE是衡量平均误差的一种较方便的方法,MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的准确度。赫布认为神经网络的学习过程最终是发生在神经元之间的突触部位,突触的联结强度随着突触前后神经元的活动而变化,变化的量与两个神经元的活性之和成正比。Hebb学习规如此是一个无监视学习规如此,这种学习的结果是使网络能够提取训练集的统计特性,从而把输入信息按照它们的相似性程度划分为假如干类。这一点与人类观察和认识世界的过程非常吻合,人类观察和认识世界在相当程度上就是在根据事物的统计特征进展分类。3.BP算法BP神经网络算法是在BP神经网络

13、现有算法的根底上提出的,是通过任意选定一组权值,将给定的目标输出直接作为线性方程的代数和来建立线性方程组的算法。如下列图。BP算法的根本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传人,经各隐层逐层处理后,传向输出层。假如输出层的实际输出与期望的输出(教师信号)不符,如此转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进展的。权值不断调整的过程,也就是网络的学习

14、训练过程。此过程一直进展到网络输出的误差减少到可承受的程度,或进展到预先设定的学习次数为止。流程图NYYN算法开始算法完毕是否满足精度要求改良的BP算法训练是否满足精度要求对权值进展遗传算法操作随机生成N组网络权值分析clear;clc;. 0.3619 0.0690 0.1828;. 0.0508 0.1328;. 0.0858 0.0670;. 0.0789 0.0909;. 0.0707 0.0880;. 0.1295 0.0700;. 0.1680 0.2668;. 0.2718 0.2494;. 0.2273 0.3220;%清空工作空间初始化,输入齿轮状态样本数据为P 15x9 d

15、oubleT = 1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;%网络输出三种模式,即无故障、齿轮断纹、断齿。3x9 doublethreshold = 0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;%当前输入层权值和阈值,最大值与最小值15x2 doublenet = newff(threshold,31,3,tansig,logsig,trainlm);%创建神经网络,隐含层神经传递元函数采用S型正切函数tansig,输出%层神经传递元函数采用S型对数函数

16、logsig。1x1 network net.trainParam.epochs = 1000; net.trainParam.goal = 0.01; net.trainParam.lr = 0.1; net,tr = train(net,P,T);%训练次数为1000,训练目标为0.01,学习速率为. 0.2452 0.0512 0.1319;. 0.0992 0.0802 0.1002;. 0.1521 0.2281 0.3205;%利用训练好的神经网络进展测试,特征样本为P_test,分别对应无故障、齿轮%断纹、断齿。15x3 doubleT_result = sim(net,P_te

17、st)%利用BP神经网络工具箱进展仿真并输出测试结果T_result 3x3 double3运行结果分析总体进度迭代次数:7用时:2s性能:梯度:权值误差调X围校验参数:0训练规如此:伯格-马夸特反向传播算法误差形式:均方误差单位制:默认过程曲线图测试结果在第七次迭代训练后达到最优指标训练过程在达到最优指标过程中,梯度最终达到0.018053,最大误差在初期,为,报错0次分析结果输出结果T_result数据分析结果将T_result绘制在坐标系中,并将理论值与训练值拟合后得出本次测试数据结论:Output 参考文献1林香,姜青山,熊腾科,一种基于遗传BP神经网路的预测模型D,某某:某某大学软件

18、学院,2006.2X德丰,matlab神经网络应用设计M。:机械工业,2009.3吴仕勇,基于数值计算方法的BP神经网路与遗传算法的优化研究D,某某:某某师X大学,2006.4李明,基于遗传算法改良的BP神经网络的城市人居环境质量评价研究D,某某:某某师X大学,2007.5王学会,遗传算法和BP网络在发酵模型中的应用D,某某:某某大学,2007。6李华,基于一种改良遗传算法的神经网络D。某某:某某大学,2007.7侯林波,基于遗传神经网络算法的基坑工程优化反应分析D,某某:某某海事大学,2009.8吴建生,基于遗传算法的BP神经网络气象预测建模D,某某:某某师X大学,2004.9黄继红,基于改

19、良PSO的BP网路的研究与应用D,某某:某某理工大学,2008.10段侯峰,基于遗传算法优化BP神经网络的变压器故障诊断D,:交通大学,2008.附录程序代码clear;clc;. 0.3619 0.0690 0.1828;. 0.0508 0.1328;. 0.0858 0.0670;. 0.0789 0.0909;. 0.0707 0.0880;. 0.1295 0.0700;. 0.1680 0.2668;. 0.2718 0.2494;. 0.2273 0.3220;T = 1 0 0;1 0 0;1 0 0; 0 1 0;0 1 0;0 1 0; 0 0 1;0 0 1;0 0 1;

20、 threshold = 0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1; net = newff(threshold,31,3,tansig,logsig,trainlm); net.trainParam.epochs = 1000; net.trainParam.goal = 0.01; net.trainParam.lr = 0.1; net,tr = train(net,P,T);. 0.2452 0.0512 0.1319;. 0.0992 0.0802 0.1002;. 0.1521 0.2281 0.3205; T_result = sim(net,P_test)工作空间一览

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号