logo资料库

基于改进的BP-PSO算法的机械故障诊断方法研究.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
基于改进的 BP-PSO 算法的机械故障诊断方法研究 http://www.paper.edu.cn 徐俊 武汉理工大学理学院,武汉(430070) E-mail:junxu888@126.com 摘 要:为克服 BP 算法中存在的网络学习收敛速度慢,以及容易陷入局部极小的问题,本 文采用一种改进的粒子群算法来训练神经网络的权值,大大提高了神经网络的训练速度及训 练精度。以机械设备故障诊断为例,应用此算法对其进行了故障诊断研究,从而证明了该算 法的有效性。 关键词:粒子群,神经网络,机械故障诊断 中图分类号:TP183 1.引言 BP 网络是一种被广泛应用于模式识别、系统辨识、预测、控制、图像处理等的人工神 经网络模型。但 BP 算法是基于梯度的方法,存在收敛速度慢、容易陷人局部极小等缺点。 目 前 的 研 究 针 对 其 缺 陷 提 出 了 不 少 改 进 方 法 。 粒 子 群 优 化 方 法 (Particle Swarm Optimization,PSO)是一种具有全局搜索能力的优化算法 [1]。本文采用一种改进的粒子群算法 来训练神经网络的权值和阈值,大大提高了神经网络的训练速度及训练精度。以机械设备故 障诊断为例,应用此算法对其进行了故障诊断研究,从而证明了该算法的有效性。 2.改进的PSO算法(Improved PSO, IPSO) 2.1 PSO 算法的数学描述 PSO 算法[2~3]是通过模拟鸟群的捕食行为来达到优化问题的求解。首先, 在解空间随机 初始化鸟群, 鸟群中的每一只称为“粒子”, 这些粒子在解空间以某种规律移动, 经过若干次 迭代后找到最优解。 设 Xi=(xi1, xi2,…, xin)为微粒 i 的当前位置。 Vi=(vi1, vi2,…, vin)为微粒 i 的当前飞行速度。 Pi=(pi1, pi2,…, pin)为微粒 i 所经历的最好位置。对于最小化问题,目标函数越小,对应 的适应值越好。 为了讨论方便,设 f(x)为最小化的目标函数,则微粒 i 的当前最好位置由下式确定 (tP i + 1) = (t)) (t)) 设群体中所有微粒所经历的最好位置为 Pg(t),称为全局最好位置。 有了以上定义,标准微粒群算法的进化方程可描述为: 若 + (t)P i (tX (t (t 1)) + 1)) + f(x i f(x ≥ < f(P i f(P i ⎧ ⎨ ⎩ 若 i 1) i vij(t+1)= wvij(t)+c1r1j(t)( pij(t)- xij(t))+ c2r2j(t)( pgj(t)- xij(t)) (1) xij(t+1)= xij(t)+ vij(t+1) (2) 其中,下标 j 表示微粒的第 j 维,i 表示微粒 i,表示第 t 代,c1、c2 为加速常数,通常 在 0~2 间取值,r1~U(0,1), r2~U(0,1)为两个相互独立的随机函数。w 为非负常数,称为惯性 因子,可随迭代线性地减小。 从上述微粒进化方程可以看出,c1 调节微粒飞向自身最好位置方向的步长,c2 调节微 - 1 -
http://www.paper.edu.cn 粒向全局最好位置飞行的步长。为了减少在进化过程中,微粒离开搜索空间的可能性,vij 通常限定于一定范围内,即 vij [∈ -vmax, vmax]。如果问题的搜索空间限定在[-xmax, xmax]内,则 可设定 vmax=k xmax,0.1≤k≤1.0。 2.2 PSO算法的改进 在式(1)的 vi 前乘以惯性权重 w,w 较大算法具有较强的全局搜索能力,w 较小则算法 倾向于局部搜索。一般的做法是将 w 初始为 0.9 并使其随迭代次数的增加线性递减至 0.4, 以达到上述期望的优化目的。但是,PSO 的实际搜索过程是非线性的且高度复杂的,使惯性 权重 w 线性递减的策略往往不能反映实际的优化搜索过程。 文[4]中提出动态改变惯性权的自适应粒子群算法。在该算法中引入了参数粒子群进化 速度因子和聚集度因子,并根据这两个参数对粒子群算法搜索能力的影响,将惯性因子表示 为粒子群进化速度因子和聚集度因子的函数。在每次迭代时算法可根据当前粒子群进化速度 因子和聚集度因子动态地改变惯性权值,从而使算法具有动态自适应性。 定义粒子群进化速度因子: h=min(F(gBestt-1),F(gBestt))/max(F(gBestt-1),F(gBestt)) (3) 聚集度因子: s=min(F(gBestt),Ft)/max(F(gBestt),Ft) (4) 1 N 其中:Ft= ∑ iN 1 = F(Xt(i)),Xt(i)是粒子 i 在当前迭代次数为 t 时的位置,N 是粒子群的 规模数。 h 值越小,进化速度越快。当经过了一定的迭代次数之后,h 值保持为 1,则断定算法 停滞或者找到了最优解;s 值越大,粒子群聚集程度也越大,粒子多样性越小。当 s=1 时, 粒子群中的所有粒子具有同一性,如果此时算法陷入局部最优,则结果不容易跳出该局部极点。 如果粒子群进化速度较快,算法可以在较大的搜索空间内持续搜索,粒子就可以保持大 范围的寻优。当粒子群进化速度减慢时,可以减小 w 的值,使得粒子群在小空间内搜索, 以便更快地找到最优解。若粒子较分散,粒子群就不易陷入局部最优解。随着粒子群的聚集 程度的提高,算法容易陷入局部最优,此时应增大粒子群的搜索空间,提高粒子群的全局寻 优能力。 因此,w 应该随着粒子的聚集度的增大而增大,随着进化速度的降低而减小,它可以表 示为: w =wini-h×wh+s×ws, (5) wh 和 ws 对算法的性能有较大的影响:实验表明:较大的 ws 容易使算法陷入振荡状态, 而较大的 wh 容易使算法陷入局部最优。若 wh 的取值在 0.4~0.6 之间,ws 的取值在 0.05~0.20 之间,该算法的性能较好。 3.基于改进的PSO的BP混合算法 在混合算法中, 需要优化的对象(粒子) 是 BP 神经网络的权值和阈值。首先, 应把要优 化的神经网络的全部权值和阈值构成一个实数数组, 并赋予它们[ 0, 1] 之间的随机数。然后, 按照选定的网络结构, 用前向算法计算出对应于每组输入样本的神经网络输出。这里,BP 网 络的激活函数都选定为 Sigmoid 函数, 然后用改进 PSO 算法搜索出最优位置, 使如下的均 方误差指标(适应度函数)达到最小: - 2 -
http://www.paper.edu.cn Y ( pk , ( X ) − t ) pk , XE ( ) = 1 n 2 c n ∑∑ p 1 = k = 0 值, 其中, n 为样本个数,c 为网络神经元的输出个数, pkt , 为第 p 个样本的第 k 个理想输出 pkY , 为第 p 个样本的第 k 个实际输出值。 这样适应度函数达到最小时搜索出的便是 BP 网络最佳权值和阈值。下面是混合算法实 现步骤: (1)确定适应值阈值 ω、最大允许迭代步数 t、搜索范围[-xmax, xmax]、最大速度及(1) 式的参数,并根据网络规模,确定粒子数。 (2)根据微粒群规模,随机产生一定数目的个体(微粒)Xi 及其速度 Vi 组成种群,其 中不同的个体代表神经网络的一组不同权值。 (3)计算各个粒子的适应值。 (4)比较适应度,确定每个粒子的当前最好适应值 Lbest 及全局最好适应值 Pbest,并根 据式 3)、4)、5)确定惯性权重 w。 (5)若 Pbest<ω 或运行次数大于 t,则停止,该粒子的位置即为所求。 (6)根据式(1)、(2)更新每个粒子的位置及速度,并考虑它们是否在限定的范围内。 若 vij(t+1)<- vmax,则 vij(t+1)=- vmax; 若 vij(t+1)> vmax,则 vij(t+1)=vmax; 若 xij(t+1)<- xmax,则 xij(t+1)=- xmax; 若 xij(t+1)> xmax,则 xij(t+1)=xmax; (7)返回步骤(3)。 4.诊断实例 本文以旋转机械中常见的质量不平衡、转子热弯曲、轴向碰磨等 8 种故障作为网络输出。 利用振动信号频谱中的 7 个频段上的不同频率的谱峰能量值作为特征量,形成训练样本,如 表 1 所示。样本的目标输出中 1 表示对应故障发生,0 表示对应故障不发生。选用本文所提 出的算法进行研究,采用三层网络,输入层单元数为 7,对应 7 个频率特征值,输出层的单 元数为 8,对应于 8 种典型故障;隐层单元数取为 16 个,对网络进行训练。取 ε=0. 005,λ= 0. 1,分别经 1963 次 BP 算法训练和 126 次 PSO 优化训练,系统学习误差达到 0. 001。可见, 与传统的 BP 算法相比,利用本文提出的算法训练网络,加快了网络的收敛速度,因此优于 传统的 BP 算法。 表 1 旋转机械常见故障标准模式特征向量 故障样本 振动频谱 不平衡 不对中 联轴节损坏 油膜振荡 轴向碰磨 气体涡动 轴承座松动 基础共振 1 <0.4 0.00 0.00 0.10 0.00 0.10 0.00 0.50 0.00 2 0.4/0.49f 0.00 0.00 0.20 1.00 0.10 0.30 0.40 0.00 3 0.5f 0.00 0.00 0.00 0.00 0.00 0.10 0.00 1.00 5 1f 0.90 0.40 0.20 0.00 0.20 0.00 0.00 0.00 6 2f 0.05 0.50 0.30 0.00 0.10 0.00 0.00 0.00 7 3f/5f 0.05 0.10 0.10 0.00 0.20 0.00 0.10 0.00 目标输出 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001 4 0.51/0.99f 0.00 0.00 0.10 0.00 0.10 0.60 0.00 0.00 - 3 -
表 2 待检故障模式特征向量 http://www.paper.edu.cn 输入节点 1 0.00 0.11 0.41 0.00 4 0.42 0.08 0.00 0.01 5 0.42 0.18 0.00 0.01 6 0.48 0.09 0.00 0.00 7 0.07 0.22 0.03 0.00 2 0.00 0.10 0.35 0.97 3 0.00 0.00 0.02 0.00 输 入 数 据 将待识别的故障样本如表 2 作为网络的输入,输入到上面已经训练好的网络中,经网络 的非线性映射的输出结果见表 3。从表 3 可以看出,4 个故障输入模式分别对应第 2、5、7、 4 个输出节点的输出值分别接近于 1,其它节点的输出值均未超过 0.1,可以分别诊断为不对 中、轴向碰磨、轴承座松动和油膜振荡故障。可见网络对待识别样本进行了正确的分类,测 试结果与实际发生的故障吻合。另外,从表 3 中还可以看出,虽然第 3、4 个故障输入模式 与训练样本有一定的偏离,对网络诊断的精度有一定的影响,但此网络还是可以将其正确识 别,说明网络具有一定的泛化能力。 1 0.0000 0.0006 0.0949 0.0021 2 0.9362 0.0005 0.0856 0.0058 3 0.0042 0.0003 0.0375 0.0059 表 3 网络诊断结果 4 0.0000 0.0001 0.0097 0.0529 5 0.0000 1.0000 0.0009 0.0367 6 0.0001 0.0001 0.0135 0.0947 7 0.0001 0.0000 0.8984 0.0332 8 0.0011 0.0064 0.0227 0.0513 故障类型 故障 2 故障 5 故障 7 故障 4 输出节点 输 出 结 果 5 结论 1)从以上对设备故障诊断的实例中可以看出,采用本文提出的算法,以大型旋转机械中 常见的 8 种故障作为网络输出,利用振动信号频谱中的 7 个频段上的不同频率的谱峰能量值 作为输入特征值,网络对学习过的知识能够很好地记忆,完全可以对系统故障进行诊断分析。 2)通过改进的粒子群算法对网络权值进行训练学习,改善了使用多层感知器的 BP 算法 中存在的网络学习收敛速度慢,以及容易陷入局部极小等问题,提高了网络收敛的速度,可 以有效地应用于设备故障诊断中,对设备故障进行特征识别和诊断分析。 参考文献 [1]周弛.高海兵.高亮.等.粒子群优化算法[J].计算机应用研究,2003,(12):7-12 [2] SHI Yu - hui, EBERHART R. A modified particle swarm optimizer[ C] . Proc IEEE Int Conf on Evolutionary Computation. Anchorage: IEEE, 1998: 69-73. [3] EBERHART R,KENNEDY J. A new optimizier using particle swarm theory[C] . Proc 6 th Int Symposium on Micro Machine Human Science. Nagoya: [s.n.], 1995:39 - 43. [4]张选平等.一种动态改变惯性权的自适应粒子群算法[J].西安交通大学学报,2005,(10). - 4 -
http://www.paper.edu.cn On the Application of Improved PSO-BP Algorithm to Diagnosis of Mechanical Failure School of Science,Wuhan University of Technology,Wuhan (430070) Xu Jun Abstract To solve the problems of the slow rate of convergence and falling easily into local minimum in the BP algorithm, an improved PSO-BP algorithm was used in the paper to train the weights of ANN. So the convergence speed and calculation accuracy were improved greatly. As a example, the algorithm was used to research the mechanical failure diagnosis, which testified the validity of this improved algorithm. Keywords:PSO,ANN,Mechanical Failure Diagnosis - 5 -
分享到:
收藏