基于RBF的回热系统故障诊断RBF实验名称:基于RBF的回热系统故障诊断。RBF神经网络优点及结构:尽管BP神经网络具有很好的非线性映射能力和灵活的网络结构等优点,但存在着收敛速度慢缺点。而RBF神经网络无论在逼近能力、分类能力和学习速度等方面均优于BP神经网络。RBF神经网络结构和BP神经网络类似,都属于多层前向网络。典型的RBF神经网络由输入层、隐含层、输出层组成,其结构如图一所示。图一RBF神经网络结构图其中输入层由输入信号的源节点组成,第二层为隐含层,第三层为输出层,输出神经网络对输入的响应。其中隐含层的激活函数称为径向函数(RBF),该函数是一种局部分布的关于中心点对称的非负非线性函数,实现了从输入空间到隐含层空间的非线性变换;而隐含层空间到输出层空间的变换是线性的,使隐含层的输出按权值叠加,得到RBF网络的输出。构成RBF的基本思想是:用RBF作为隐含层节点的“基”构成隐含层空间,这样就可以将输入向量直接(不通过权连接)映射到隐含层空间。当RBF的中心和宽度确定后,这样映射关系就确定了。而隐含层空间到输出层空间的映射是线性的,即网络的输出是隐含层节点输出的线性加权和。此处的权即为网络可调参数。由此可见,从总体上看,网络由输入到输出的映射是非线性的,然而网络输出对可调参数而言却是线性的。这样网络的权就可由线性方程组解出或用RLS方法递推计算,从而大大加快学习速度并避免局部极小问题。这也是RBF神经网络的优势存在。这里描述RBF神经网络的构造;RBF神经网络的隐含层由一组径向基函数构成,与每个隐含层节点相关的参数向量为中心Cj和宽度σj。隐含层节点计算输入与中心的欧几里得范数作为径向基函数的自变量rj2。典型的径向基函数有很多,但是我们在此处选用uj=exp(-rj2/c2)(高斯函数)作为径向函数;隐含层的输出按权值叠加,得到RBF网络输出。假设RBF神经网络输出层、隐含层,、输出层的节点数为I、J、K,当输入为X=(x1,x2,x3…,xn)时,隐含层第j个神经元的输出为:}2exp{22jjjCXu(j=1,2,3…,J)其中jC为高斯基函数的中心,是一个I维的向量;宽度j也就是高斯基函数的方差,是一个数值量。输出层由隐含层输出线性组合而成,其第k个神经元输出为:Jjjjkkuy1(k=1,2,3…,K)实验流程:开始初始化,读取所要训练的样本数据和设定的目标向量,直接调用matlab里面的程序,对隐含层和输出层各单元的权值和输出进行求解,在进行计算目标值和实际输出的偏差E,判断E是否满足设定要求,如果所有误差都能满足设定值,就可以跳出程序,结束本次计算;如果不满足,则要再次进行隐含层的误差计算,求误差梯度,进行权值学习,再次进行计算。进行训练成功以后,再将测试样本数据带入网络进行测试,得到实验结果,根据实验结果判断故障类型。RBF神经网络的学习算法:而对于RBF神经网络主要训练的参数主要是基函数的中心、宽度以及隐含层和输出层的连接权值。选择梯度下降法作为简述过程。首先定义目标函数:MmeE1m221M表示训练样本的个数;me代表样本m的误差,计算公式为)(mmmmmXfdyde。梯度下降法得到的更新值为:)()()()1(nnElnn,l为学习系数,也称为学习率。对于正交最小二乘法是常用的RBF网络学习方法,其基本思想是将径向基函数的中心选作训练样本的子集,用误差下降率答方法衡量每个样本对输出的贡献,调整网络的结构和中心,知道满足设定的静止条件。MATLAB的神经网络工具箱中构建RBF神经网络的newrb函数就是使用正交最小二乘法实现的,其基本原理是从0个神经网络开始训练,通过检查输出误差,使网络自动增加神经元,每次循环使用,是网络产生的最大误差所对应得输入向量作为中心,产生一个新的隐含层神经元,然后检查新网络的误差,重复此过程直至达到误差要求或最大隐含层神经元数为止。使用该函数构造RBF神经网络,需要设定参数spread(扩展系数),对应式高斯函数的宽度σj,因此设计RBF神经网络时需要反复尝试不同的spread值,以取得较好的结果。实例研究故障模式表格及其征兆变化,如下表一所示:表一:序号故障模式征兆变化(1,2,3…,9)A排油管道逆止阀卡涩稍小不变稍小不变稍小稍小不变不变稍小B排气管道排气不畅稍小不变不变不变稍小稍小变大不变不变C排气管道排气量过大稍大不变稍大不变稍小稍小变大不变不变D加热管束污染、结垢稍小不变不变不变变小变小变大不变稍大E加热器内部水侧短路稍小不变不变不变变小变小变大不变不变F加热器内部管系泄漏变大不变稍大不变变小变小变大变大稍小G疏水不畅稍小不变不变不变稍小稍小变大稍大不变H加热器旁路阀故障稍大不变不变不变不变不变不变变小变大J疏水器故障稍小不变不变不变不变变小不变不变不变I加热器满水稍小不变不变不变稍小变小变大变大不变K除氧器排气带水不变不变不变不变不变不变不变变大不变L除氧器自身沸腾稍小稍大变大不变变大不变不变变大不变M运行正常不变不变不变不变不变不变不变不变不变首先给出训练参数,如下表二所示:表二:对应故障加热器特征参数值123456789A0.250.400.250.50.50.50.250.50.25B0.250.400.500.500.500.500.750.500.50C0.750.600.750.500.500.500.500.500.50D0.250.400.500.500.250.250.500.500.75E0.250.400.500.500.000.001.000.500.50F0.750.600.750.500.250.250.751.000.25G0.250.400.500.500.500.500.750.750.50H0.750.600.500.500.750.750.250.001.00I0.250.400.500.500.750.250.250.500.50J0.250.400.500.500.250.250.751.000.50K0.500.500.500.500.750.750.251.000.50L0.2500.750.750.501.001.000.251.000.50M0.500.500.500.500.750.750.250.500.50由上述数据训练一个RBF神经网络然后给出两组测试数据,如表三、表四所示:表三:诊断输入0.5890.4950.6580.50360.81750.750.250.9310.5类型各故障隶度ABCDEFGHIJKLMRBF-0.15550.01970.1308-0.0907-0.0459-0.0103-0.0082-0.04320.05530.25010.90820.08280.1069BP0.00050.00000.00510.00000.00000.01410.00390.00000.00000.00020.90300.07550.0403诊断结果除氧器排气带水表四:诊断输入0.79340.46840.77900.52800.28850.28310.69790.81980.2247诊断输出类型各种故障隶属度ABCDEFGHIJKLMRBF0.0591-0.07670.2833-0.01840.06820.91220.1501-0.03230.0070-0.1371-0.0183-0.0079-0.0892BP0.00220.0000.07750.00000.00160.90710.00620.00020.00010.00050.00230.00130.0001诊断结果加热管内部管系泄露RBF实验程序:P=[0.25,0.40,0.25,0.50,0.50,0.50,0.25,0.50,0.25;0.25,0.40,0.50,0.50,0.50,0.50,0.75,0.50,0.50;0.75,0.60,0.75,0.50,0.50,0.50,0.50,0.50,0.50;0.25,0.40,0.50,0.50,0.25,0.25,0.50,0.50,0.75;0.25,0.40,0.50,0.50,0.00,0.00,1.00,0.50,0.50;0.75,0.60,0.75,0.50,0.25,0.25,0.75,1.00,0.25;0.25,0.40,0.50,0.50,0.50,0.50,0.75,0.75,0.50;0.75,0.60,0.50,0.50,0.75,0.75,0.25,0.00,1.00;0.25,0.40,0.50,0.50,0.75,0.25,0.25,0.50,0.50;0.25,0.40,0.50,0.50,0.25,0.25,0.75,1.00,0.50;0.50,0.50,0.50,0.50,0.75,0.75,0.25,1.00,0.50;0.25,0.75,0.75,0.50,1.00,1.00,0.25,1.00,0.50;0.50,0.50,0.50,0.50,0.75,0.75,0.25,0.50,0.50;];T=[1,0,0,0,0,0,0,0,0,0,0,0,0;0,1,0,0,0,0,0,0,0,0,0,0,0;0,0,1,0,0,0,0,0,0,0,0,0,0;0,0,0,1,0,0,0,0,0,0,0,0,0;0,0,0,0,1,0,0,0,0,0,0,0,0;0,0,0,0,0,1,0,0,0,0,0,0,0;0,0,0,0,0,0,1,0,0,0,0,0,0;0,0,0,0,0,0,0,1,0,0,0,0,0;0,0,0,0,0,0,0,0,1,0,0,0,0;0,0,0,0,0,0,0,0,0,1,0,0,0;0,0,0,0,0,0,0,0,0,0,1,0,0;0,0,0,0,0,0,0,0,0,0,0,1,0;0,0,0,0,0,0,0,0,0,0,0,0,1;];P=P';T=T';spread=0.82;net=newrbe(P,T,spread);%对test1进行故障诊断p1=[0.589,0.495,0.658,0.5036,0.8175,0.75,0.25,0.931,0.5]';%对网络进行仿真y1=sim(net,p1);type1=y1'%对test2进行故障诊断p2=[0.7934,0.4684,0.7790,0.5280,0.2885,0.2831,0.6979,0.8198,0.2247]';y2=sim(net,p2);type2=y2'RBF实验程序测试实验结果如下图所示:spread=0.5时的诊断结果spread=0.7时的诊断结果spread=0.8时的诊断结果由实验数据显示,当spread扩展系数的减小,对应故障输出的概率就越接近1,也就是说,故障诊断的准确性就越高,精度越高。由此可看,相比与BP神经网络,RBF网络有更好的诊断效果。