智能控制导论姓名*****学号******学院自动化与电气工程学院专业控制科学与工程班级*****指导老师******粒子群算法的小波神经网络在变压器故障诊断中的应用与改进摘要:针对变压器故障征兆和故障类型的非线性特性,结合油中气体分析法,设计了一种改进粒子群算法的小波神经网络故障诊断模型。模型采用3层小波神经网络,并用一种改进粒子群算法对其进行训练。该算法在标准粒子群算法的基础上,通过引入遗传算法中的变异算子、惯性权重因子和高斯加权的全局极值,加快了小波神经网络训练速度,提高了其训练的精度。仿真实验证明这种改进粒子群算法的小波神经网络可以有效地运用到变压器故障诊断中,为变压器故障诊断提供了一条新途径。引言:本文在变压器故障诊断智能方法的基础上,首先构造了3层小波神经网络模型,然后通过在标准粒子群算法中加入变异算子、惯性权重因子和高斯加权的全局极值,构成一种改进的粒子群优化算法,并将其运用于小波神经网络参数优化,通过变压器故障诊断结果表明这种改进的粒子群算法比相同条件下的BP算法和标准粒子群算法具有更好的收敛性。1小波神经网络构建小波神经网络是一种基于小波变换理论而构造的前馈神经网络,其充分利用了小波变换的局部化性质和神经网络的大规模数据并行处理、自学习能力,因而具有较强的逼近能力和较快的收敛速度,其主要可分为松散型和紧密型两种类型。本文采用紧密型结构来构造小波神经网络,构造出来的3层小波神经网络如图1所示。设输入层节点个数为m,隐含层小波元个数为n,输出层节点个数为N,输入层的第k个输入样本为xk,输出层的第i个节点实际输出值为yi,输出层的第i个节点期望输出值为yˆi,输入层节点k与隐含层节点j之间的连接权值为kj,输出层节点i与隐含层节点j之间的连接权值为ji,第j个隐层节点的伸缩平移系数分别为ja和jb,隐层小波神经元采用MexicanHat小波函数,输出层节点采用Sigmoid函数。通过前向计算得到隐含层第j个小波元的输入为:通过小波基伸缩平移系作用,隐含层第j个小波元的输出为:则网络输出层第i个节点输出为:网络输出误差能量函数为:2改进粒子群算法优化小波神经网络传统小波神经网络多以BP算法进行网络训练,但BP算法存在收敛速度慢、易陷入局部极小值等缺点,难以满足网络高精度训练的要求。本文提出一种改进粒子群算法,即在标准粒子群算法的基础上加入遗传算法中的变异算子、惯性权重因子和高斯加权的全局极值,并将其运用于优化小波神经网络各个参数。标准粒子群算法的思想为:先初始化一群随机粒子,然后根据对个体和群体的飞行经验的综合分析来动态调整粒子群的速度,在解空间中进行搜索,通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个“极值”来更新自己,一个是个体极值pbest,即粒子自身目前所找到的最优解;另一个是全局极值gbest,即整个种群目前找到的最优解。假设在一个D维的目标搜索空间中,有m个粒子组成一个群体。当第i个粒子被迭代到到目前为止最好的位置(即具有最佳适应度)时,此时该粒子被称为个体最好粒子,记为pbesti,而当全部粒子迭代到截止当前为止最好位置时被称为全局最好粒子,记为gbest。各粒子可根据以下公式来更新自己的速度和位置。对上述标准粒子群算法进行三个方面的修改,构成本文的改进粒子群算法,具体表现在:①为了避免粒子群算法搜索精度低、后期迭代效率不高的现象,借鉴遗传算法中的变异思想,在粒子群算法中加入变异算子,即粒子每次更新之后都以一定的概率重新初始化粒子,变异操作拓宽了迭代中不断缩小的种群搜索空间,使粒子能够跳出先前搜索到的最优位置,保持了种群的多样性。其相应的伪代码如下所示:if随机数概率大于0.9则随机初始化种群else保持种群数值大小不变②标准粒子群算法中一般设置惯性权重因子(k)为1,由于惯性权重因子是影响当前粒子速度的变量,较大的值有利于全局搜索,较小的值有利于局部搜索,为了更好地平衡算法的搜索能力,提出了一种线性递减的惯性权重因子,如式(6)所示。③为解决迭代后期全局极值不易向最优解方向收敛的问题,引入高斯加权的全局极值[15]。首先把所有粒子的适应度函数的平均值作为高斯加权的均值,其方差作为高斯加权的方差,即再将当前粒子群的最小适应度值fitness_min作为高斯加权的中心,即可得到高斯加权的全局因子为:最后将所有粒子的个体极值pbesti和上述高斯加权的全局因子进行加权平均,并将此值作为所有粒子的全局极值,即通过高斯函数加权,在算法迭代后期,越靠近最优解的个体极值其权重越大,它们的乘积有利于全局极值向最优解方向收敛。改进粒子群算法训练图1所示的三层小波神经网络步骤如下。步骤1:初始化粒子群。确定粒子的维数D(即网络中的各个参数个粒子的位置、速度;设定学习因子、惯性权重的最大及最小值,最大迭代次数及目标误差值,并置此时的迭代次数为1。步骤2:计算目标适应度值。对于每个粒子,利用小波神经网络的前向计算公式计算网络的实际输出,再利用式(4)计算其适应度值,排序取出最小的适应度值fitness_min。步骤3:评价每一个粒子。个体极值更新:如果粒子适应度优于当前个体极值pbesti,则将pbesti设置为新位置,否则pbesti不变;全局极值更新:将由式(10)计算出的高斯加权的全局极值确定为粒子群的全局极值gbest。步骤4:粒子位置和速度更新。利用式(5)更新每一个粒子的速度和位置,并以一定概率重新初始化粒子。其中速度的更新引入了由式(6)计算的惯性权重因子k。步骤5:检验是否符合结束条件。若当前的迭代次数达到了预先设定的最大次数(或达到最小误差要求),则停止迭代,输出最优解,否则转到步骤2。3小波神经网络的变压器故障诊断3.1输入量的确定将上述改进粒子群算法优化的小波神经网络应用于变压器故障诊断中,在DGA的基础上,选择H2、CH4、C2H6、C2H2、C2H4及总烃(CH4+C2H6+C2H2+C2H4)的体积分数作为小波神经网络的输入变量,故输入节点的个数为6。为了充分采集数据的有效信息,首先对原始输入值进行粗大误差处理,去除明显影响网络收敛精度的输入量,再求出剩下输入数据相对于其注意值的隶属度,最后将此隶属度作为小波神经网络的输入,即其中:ix表示第i种气体的实际值;iX表示第i种气体的注意值;iinput表示处理后的输入值;H2的注意值为150L/L,CH4的注意值为45L/L,C2H6的注意值为35L/L,C2H2的注意值为5L/L,C2H4的注意值为65L/L,总烃的注意值为150L/L。3.2输出量的确定选择低温过热O1(T300℃)、中温过热O2(300℃T700℃)、高温过热O3(T700℃)、局部放电或受潮O4、低能放电O5、高能放电O6这6种典型单一故障类型作为小波神经网络的输出变量output;实际故障时的输出有可能是单一故障的复合形式,故也选择高能放电兼高温过热O3O6、低能放电兼低温过热O1O5和高温过热兼中温过热O2O3这3种典型复合故障。输出节点的个数也为6,输出故障包含了所有单一故障类型和多故障类型[16]。3.3隐层节点数的确定网络的隐层节点个数有文献指出根据经验公式而来,即对6输入6输出小波神经网络而言,隐层节点数在12左右最佳。本文通过改变隐层节点个数来对比网络收敛性能,从而确定最为合适的隐层节点个数。选取相关参考文献公布的84组故障类型数据(其中55组单一故障类型数据、29组多故障类型数据)进行网络训练,10组故障数据(其中6组单一故障类型数据、4组多故障类型数据)进行网络测试,训练次数设置为700次,对比不同隐层节点个数情况下网络的均方误差(MeanSquareError,MSE),如表1所示。从中可以看出当隐层节点数为12时,训练样本和测试样本的MSE最小,故本文的小波神经网络的隐层节点数选为12。3.4变压器故障诊断结果及分析在确定小波神经网络输入、输出及隐层节点之后,输入同样的变压器故障训练样本,且网络最大训练次数设置都设为1500次,最小误差都设置为10-3,分别用BP算法优化的小波神经网络(BP-WNN)、标准粒子群算法优化的小波神经网络(PSO-WNN)和本文提出的改进粒子群算法优化的小波神经网络(改进PSO-WNN)对其进行训练,取最好的一次训练结果,由Matlab编程可得训练误差曲线如图2所示。由图2可知,BP-WNN、PSO-WNN及改进PSO-WNN在变压器故障诊断中的平均误差、收敛时间及收敛精度等方面有显著差异。BP-WNN经过1455次达到预设精度,收敛时间长,主要原因为BP-WNN仅仅具有复杂的非线性映射能力,没有反馈,易陷入局部极小值,故不能较好地满足变压器故障诊断实时性的要求;PSO-WNN经过1119次达到预设精度,在迭代前期收敛速度快,迭代后期速度变慢,主要原因为在迭代后期粒子向自身历史最佳位置和群体历史最佳位置聚集,形成粒子种群的快速趋同效应,陷入了“停滞现象”,故也不能较好满足变压器故障诊断的要求;改进的PSO-WNN经过738次达到预设精度,收敛速度较前两者快,能够较好地满足故障诊断的要求。4结论本文针对变压器故障诊断实时性和高精度的要求,提出了利用小波神经网络对故障进行诊断,针对传统小波神经网络算法收敛速度慢、易陷入局部极小值等缺点,提出了一种改进的粒子群优化算法,并将其运用于小波神经网络参数优化中。仿真结果表明,本文所采用的改进粒子群算法比传统BP算法及PSO算法的训练精度高、收敛速度快,提高了变压器诊断的准确性。但是网络测试表明,复合故障的诊断误差比单一故障的诊断误差要大,因此,如何减小复合故障的诊断误差,提高对其诊断的精度是下一步研究的重点。