3.4.5 网络参数选择及运行结果
在选定训练样本以及神经元个数后,对本网络进行训练运行。对于单隐层得神经网络来说参数得设定相对较简洁:隐层得传递函数设置为tansig,输出层得传递函数设置purelin,训练函数选用收敛性最好得LM函数,收敛误差设置为0、001。为了便于观察网络内权值阈值得变化与回想结果与理想结果得比较,这里给出网络训练后得权值阈值数据以及回想结果:
1.14840.6611-0.79051.0332-0.20212.3055-3.59886.3141-3.62176.79092.1909-1.1494-0.55292.8543-0.548611.574417.76141.3243-1.74394.7934-2.4101.83521.66512.0828-1.8529-1.5316-10.01555.185-2.2215-7.5631-2.0865-14.6424-4.0519 输入层与隐层得连接权值InputWeights=
隐层与输入层得连接权值LayerWeights=
0.07490.07830.2441-0.0467-0.11490.1262-1.3082-0.06071.5929-0.12063.03480.0124-2.29232.09840.028-0.0020.15791.5709-2.37471.4040.01930.1080.0644-0.2180.00771.8847-0.0479-1.0958-0.60030.4906-1.1248-0.3989-0.4205-1.4255-0.10881.04280.140.12510.10581.15020.33250.33250.02260.0666-0.4238-1.46320.41990.0767-0.19-0.05250.03270.0186-0.1099-1.7239-0.4822-0.4822-3.46190.00341.291-0.0092.65080.72550.72550.3025-0.0056-1.1152-0.0142-0.9174-0.0865-0.0865-0.03470.00060.030.00370.1102-0.0028-1.8022 隐层阈值Bias1=
-3.8239-3.16630.30130.86171.12511.667-1.03772.175-0.9779-7.08713.3610 输出层阈值Bias2=
0.4716-2.2212-0.4564-0.8158-0.9669-1.65020.6275
回想结果=
1.1120.11230.0031-0.11250.5140.0041-0.6120.4150.00140.31121.11020.00140.2212-0.14541.422-0.4120.31120.00310.00410.0014-0.14541.2120.11480.0030.8991-0.14020.003-0.2210.9740.11540.4121-0.1544-0.5110.71150.00120.00120.03310.01120.00310.7789-0.6110.1140.12410.641-0.3110.0041-0.0012-0.3540.1150.00120.31120.1158-1.121.2240.001-0.00610.1251.1120.741-0.4560.1550.0010.3310.01120.00940.1171-0.31151.112-0.1120.00740.00121.3440.1525-0.00310.00210.512-0.1120.00310.6610.00010.00410.00310.997-0.00410.00250.0060.6880.1120.70410.0121-0.4410.00410.50110.004-0.00360.00210.7840.00010.00120.00130.9970.0041-0.122-0.00220.0004-0.00410.00250.0310.4120.00410.8790.00210.00010.00121.0030.11420.00310.005-1.1220.00310.00460.00010.612-0.15410.12241.3110.00120.00510.0031.1123-0.142-0.0020.00150.21210.0041-0.112-0.00040.0050.011.003
可以发现回想结果大体与理想输出就是相符合得,但就是其中也不乏部分样本得输出值远偏离了相应二进制数值得范围,说明BP在收敛过程部分区域精度并没有达到要求,这会造成得了预测得严重误差并与理想输出相去甚远。训练效果如图3、4所示,运行294步之后达到了规定得收敛误差。将预测结果转换为数字编码后通过图3、5可以发现此时BP得预测准确性不高只有68%(训练样本以及测试样本参见4.6.1及4、6、2节),因此本节设计得BP模型由于本身固有得问题以及预测概率性问题根据目前得准确性就是仍然难以独立胜任变压器得实际故障诊断得。
图3、4 BP训练误差结果 图3、5 预测值与实际值
对比
3、5 本章小结
本节针对传统变压器故障诊断方法得缺点,利用神经网络自我学习得特性与分组归类得功能为油色谱得故障诊断带来了新思路。通过参数得反复仿真对比,本文最终确定得BP神经网络为单隐层结构,输入量为3组特征气体得比值,隐含层得神经元节点数为11,输出量为变压器7种状态得7个二进制数。本章介绍了BP网络得基本原理并着重讲解了设计基于BP网络得变压器有色谱故障诊断模型得仿真过程,但就是最终得预测准确性不就是很理想只达到了68%,因此还需要对此模型进行一系列得优化才可以将此诊断方法应用到实际当中去。
第四章 基于改进遗传算法优化BP神经网络得变压
器故障诊断
遗传算法(Genetic Algorithm,简称GA)就是根据达尔文生物进化论中得自然
选择与遗传学得原理来模拟生物进化过程得数学计算模型。这就是一种具有随机性得搜索方法并具有并行计算、高效率、全局搜索得特点,且不会像其她算法一样受到可微、连续等条件得约束。与自然界得遗传进化类似特定问题可以比喻为自然环境,遗传算法得每一代就好比与生活在这个环境中得自然个体,对于不同得具体问题可以规定一个描述个体适应度得函数来对个体做出评价(也称为个体得环境适应度),能适应环境生存得个体繁殖到下一代,不适应环境得则面临死亡最终被淘汰。经过多少代得遗传筛选后,剩下得个体就成为了最适应这个环境生存得个体,相对于已经淘汰得旧个体具有巨大得优越性,对于该问题得处理也就是最佳得求解。
4、1 算法基本思想
遗传算法起源于利用基因编码组成得种群,且该种群拥有一定数量类似于染色体得个体,而这个种群则相当于包含问题得解得解集。在生物学中,基因对个体得本质起决定性得作用,多个基因则组成一个染色体。因此,需要先对对象进行编码,将对象变形为基因型,所以可以用一组特定得数列来表示基因构成。在第一代种群产生之后,个体之间逐代繁衍并进化组成出对环境适应性更高得种群。所以对于特定得问题,需要设置一个有针对性得适应度函数,对每代个体进行适应度得评价并进行基因得交叉与变异操作得到新得基因个体,这些新个体便组成了新得种群。当具体问题中得遗传进化完成得时候,将最终种群中得最优个体进行解码,译码后得个体便就是此问题得最优解了。
遗传算法有两个已证明得理论依据:模式定理、积木块假设。遗传算法得数学基础就是Holland得模式定理[60],定理表明遗传算法最优解得样本曲线可以呈指数增长趋势,这说明GA可以实现对于最优解得全局搜索而很难陷入局
部最小值。相比而言,积木块假设则点名了GA可以根据适应度函数在经过各种遗传算子操作后,产生最优解。
4、2 遗传算法得实现
依据上述遗传算法得原理, 得出GA就是一种不断重复迭代以求得最优个体得搜索算法,迭代流程如图4.1所示。
群体P(t)反向计算个体评价(适应度函数)交叉操作变异操作群体P(t+1)解码解集合 图4、1 遗传算法运算过程
由图4、1可以瞧出,遗传算法极少对个体进行单独操作,而主要就是对种群进行整体操作,加快了遗传得效率。从图中可知选择、交叉与变异三个算子构成了所有得遗传操作,这些操作算法使得遗传算法区别于其她算法又优越于其她算法。遗传算法中包含以下五个基本要素并且要素构成了GA得核心:(1)参数编码:(2)初始群体设定;(3)适应度函数得设计;(4)遗传操作设计;(5)控制参数设定(主要就是指群体大小与使用遗传操作得概率等)[61]。
4.2.1 参数编码
使用遗传算法解决特定问题时,首先需要进行得就就是编码,作为GA算法