神经网络工具箱应用于故障诊断1.问题描述电力系统的安全运行具有十分重要的意义。当高压变压器或其他类似设备在运行中出现局部过热、不完全放电或电弧放电等故障时,其内部绝缘油、绝缘纸等绝缘材料将分解产生多种气体,包括短链烃类气体(C2H2、CH4等)和H2、CO2等,这些气体称作特征气体。而特征气体的含量与故障的严重程度有着很密切的关系,如下图1所示。将BP神经网络应用于变压器故障诊断对大型变压器的运行有着非常重要的意义。2.神经网络设计(1)输入特征向量的确定变压器的故障主要与甲烷(CH4)、氢气(H2)、总烃(C1+C2)以及乙炔(C2H2)4种气体的浓度有关,据此可以设定特征向量由这4种气体的浓度组成,即CH4、H2、C1+C2(总烃)和C2H2,同时也设定了网络输入层的节点数为4个。(2)输出特征向量的确定输出量代表系统要实现的功能目标,其选择确定相对容易一些。只要问题确定了,一般输出量也就确定了。在故障诊断问题中,输出量就代表可能的故障类型。变压器的典型故障类型有:一般过热故障、严重过热故障、局部放电故障、火花放电故障以及电弧放电故障等5种类型,因此这里选择5个向量作为网络的输出向量,即网络输出节点确定为5个。根据Sigmoid函数输出值在0到1之间的特点,这里设定以0到1之间的数值大小表示对应的故障程度,也可以理解为发生此类故障的概率,数值越接近1表示发生此类故障的几率越大或说对应的故障程度越大。针对本系统,设定输出值大于等于0.5时认为有此类故障,小于0.5时认为无此类故障。(3)样本的收集输入、输出向量确定好以后就可以进行样本的收集。数据归一化处理时,注意:在归一化处理的时候,因考虑到各气体浓度值相差较大,如总烃的浓度比H2的浓度值高出几个数量级,因此在归一化处理的时候,分别对各个气体浓度值进行处理,即最大值和最小值取的是各气体的最值,而不是所有样本值中的最值。在本实例中采用:MATLAB利用归一化公式u=(x-min(min(x)))./(max(max(x))-min(min(x)))(1)在公式1中x表示所需归一化处理的数据,u表示归一化后的结果处理结果如下:序号CH4H2C1+C2C2H210.0116601220.061855670.0004551320.03292181120.0028387960.0220913110.0012642090.02880658430.0979664210.1281296020.004398090.03703703740.0050488860.1251840940.0003910890.197119342500.01472754100.04115226360.0113680080.0220913110.0022630660.04115226370.0100697230.0265095730.000698496080.0402708770.1119293080.0157648270.01646090590.0036464180.0751104570.0003185070.181069959100.01326334300.0009281970.019753086110.0248837950.192636230.0009674760120.0212774480.1870397640.0020476680.9218107130.0152428270.0868924890.00057041014110.044913790150.0078728560.2209131080.000570410.343703704160.0647539670.639175258113.BP网络的设计BP网络模型结构的确定有两条比较重要的指导原则:①对于一般的模式识别问题,三层网络即可以很好地解决。②三层网络中,隐含层神经元个数n1的确定用参考公式:n1=2n+1,其中n为输入神经元数根据上述原则设计网络,网络的输入层神经元个数为4个,输出层神经元个数为5个,可得隐含层神经元个数n1为9。本应用中,创建的BP网络:学训练函数TRAINSCG学习函数为LEARNGDM。MATLAB程序清单:q=[0.0116601220.061855670.0004551320.032921811;0.0028387960.0220913110.0012642090.028806584;0.0979664210.1281296020.004398090.037037037;0.0050488860.1251840940.0003910890.197119342;00.01472754100.041152263;0.0113680080.0220913110.0022630660.041152263;0.0100697230.0265095730.0006984960;0.0402708770.1119293080.0157648270.016460905;0.0036464180.0751104570.0003185070.181069959;0.01326334300.0009281970.019753086;0.0248837950.192636230.0009674760;0.0212774480.1870397640.0020476680.9218107;0.0152428270.0868924890.000570410;110.044913790;0.0078728560.2209131080.000570410.343703704;0.0647539670.63917525811];p=q';a=[00100;01000;01000;00010;00010;01000;10000;10000;00010;01000;01000;00001;10000;01000;00001;01000];t=a';net=newff([01;01;01;01],[8,5],{'tansig','purelin'},'trainscg','learngdm','msereg');net.trainparam.epochs=200;net=train(net,p,t);figuregridon;Y=sim(net,p);plot(p,t,p,Y,'o')运行结果:Y=0.99990.00040.00020.00010.99970.00020.00000.00000.0000error=-0.00010.00040.00020.0001-0.00030.00020.00000.0000-1.0000res=1.00004.结果分析:分析上图知:当训练结果为60次的时候,结果已经很好了。参考文献:许秉铮,张百灵,韦岗.神经网络理论与应用[M]:华南理工大学出版社,1994.