首页 > 范文大全 > 正文

基于BP神经网络的介损值预测方法

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于BP神经网络的介损值预测方法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】通过对BP网络模型和学习算法的研究,深入分析了BP网络在函数预测方面的优点,确定了用BP网络来实现对容性设备介质损耗值的预测。

【关键词】介损值;BP算法;人工神经网络

1.引言

当前的电容型电气设备绝缘在线监测与诊断还停留在一个简单处理数据的层次上,如果能够结合先进的数学工具进行分析,将有助于提高监测与诊断的应用水平。模糊数学、专家系统、神经网络、灰关联分析等理论在电气设备的绝缘监测与诊断方面已经有了广泛的应用,并提供较完备的知识与信息,提高了绝缘监测与诊断的准确性。

大量停电试验和专门试验的介损值结果统计分析表明,介损值会对温度的变化较为敏感,环境的湿度对介损值也会有影响。在分析了各种因素影响介损值的基础上,文献[6]提出了基于人工神经网络的电容型电气设备的绝缘状况的预测方法。人工神经网络方法能够根据大量的故障机理研究以及经验性的直觉知识归纳出典型样本,通过对神经网络内部的竞争达到问题的求解,从本质上模拟专家的直觉。在此基础上本文提出了基于人工神经网络的电容型电气设备的介损值的预测方法,以bp神经网络作为主要的研究方法。BP网络的预测结果的准确与否取决于学习样本的优劣,本文根据实际情况选取了神经网络的学习样本并进行了仿真,结果表明该预测方法的误差满足工程误差的要求,基于人工神经网络的介质损耗值的预测方法是可行的、正确的和有效的。

2.基于BP神经网络预测方法的确定

人工神经网络的模型有数十种,可分为三大类:前向网络、反馈网络和自适应网络。但在人工神经网络的实际应用中,绝大部分的神经网络模型都采用BP网络及其变化形式。BP(Back Propagation)网络是一种多层前馈型神经网络,其神经元的传递函数是S型函数,输出量为0到1之间的连续量,它可以实现从输入到输出的任意非线性映射。BP神经网络的主要优点:

(1)BP神经网络具有分布式信息存储能力;

(2)BP神经网络的容错性和大规模并行处理能力;

(3)BP神经网络具有自学习、自组织和自适应能力;

(4)BP神经网络是大量神经元的集体行为,表现出一般复杂非线性系统的特性;

(5)BP神经网络可以处理一些环境信息十分复杂、知识背景不清楚和推理规则不明确的问题。

基于以上优点,本文选用BP神经网络作为主要研究方法。

3.BP算法基本思想和网络的基本结构

BP神经网络是一个多层前馈神经网络,包括了输入层、隐层和输出层。这种网络在输入层和输出层之间至少有一个隐含层,每一个神经元结点都与其后一层的结点相连接,但是没有后层结点向前层结点的反馈连接。BP网络具有结构简单、可靠性强的优点,能够满足工业应用的需要,而且有关网络的机理和算法的研究都很丰富,是众多网络中最为成熟,应用最为广泛的一种,是复杂系统建模的优秀工具。

BP算法的基本思想:当一对学习样本提供给网络后,神经元的激活值从输入层经隐层向输出层传播,在输出层的各神经元获得网络的输入响应。接下来,按照减少目标输出与实际误差的方向,从输出层经过各隐层逐层修正各连接权值,最后回到输出层,这种算法为“误差逆传播算法”。随着这种误差逆的传播修正不断进行,网络对输入模式响应的正确率也不断升高。

三层前馈网络中,输入向量为X=(x1,x2, ……,xi,……,xn)T;隐层输出向量为Y=(y1,y2,……,yj,……,ym);输出层输出向量为O=(o1,o2,……,ok,……,ol)T;期望输出向量为d=(d1,d2,……,dk,……,dl)T。输入层到隐层之间的权值矩阵用V表示,V=(v1,v2,……,vj,vm),其中列向量Vj为隐层第j个神经元对应的权向量;隐层到输出层之间的权值矩阵用W表示,W=(W1,W2,……,Wk,……,Wl),其中列向量Wk为输出层第k个神经元对应的权向量。如图3-1所示。

对输出层,有

Ok=f(netk) k=1,2,…,l (1)

netk= k=1,2,…,l (2)

对于隐层,有

yj=f(netj) j=1,2,…,m (3)

netj= j=1,2,…,m (4)

以上两式中,转移函数f(x)均为单极性(或双极性)sigmoid函数,f(x)具有连续、可导的特点。式(3.1)到式(3.4)共同构成了三层前馈网的数学模型。

图1 三层BP网络

三层前馈网络的BP学习算法权值调整计算公式为:

(5)

(6)

其中:

(7)

对于一般多层前馈网,设共有h个隐层,按前向顺序各隐层节点数分别记为m1,m2,…,mh,各隐层输出分别记为y1,y2,…,yh,各层权值矩阵分别记为W1,W2,…,Wh,Wh+1,则各层权值调整计算公式为:

输出层:

j=0,1,…,mh;k=1,2,… (8)

第h隐层:

i=0,1,…,mh-1;j=1,2,…,mh (9)

按以上规律逐层类推.则第一隐层权值调整计算公式:

p=0,1,…,n;j=1,2,…,m1 (10)

容易看出,BP学习算法中,各层权值调整公式形式上都是一样的,均由3个因素决定,即:学习率η、本层输出的误差信号δ以及本层输入信号Y(或X)。

4.基于MATLAB的BP神经网络的实现

4.1 网络的输入层和输出层设计

大量停电试验和专门试验的介损结果统计分析表明,电容型设备的介质损耗值的大小与环境等外界因素之间有着密切的关系。基于此,本文提出了基于环境等外界因素影响分析电容型设备绝缘状况的BP神经网络模型,其示意图如图2所示。

图2 神经网络模型示意图

为了更好的体现输入和输出变量的相应关系,输入层神经元应尽可能多采集与输出量相关性大的信息。本文以某一时刻设备的电压、电流、电容、环境温度、湿度和介质损耗值所为网络的输入参数,所以网络输入层的神经元有6个。输出层只有一个即预测时刻的介质损耗值,则输出层只有一个神经元。

为了统一量纲和防止因净输入的绝对值过大而使神经元输出饱和,继而使权值调整进入误差曲面的平坦区。BP神经网络的训练样本在输入网络之前要进行必要的归一化,也就是通过变换处理将网络的输入、输出数据限制在[0,1]或[-l,1]区间内。归一化方法有很多种形式,本文采用如下公式来进行样本数据的归一化:

令P为网络的输入向量,t为网络的目标向量,p_test、t_test为网络的测试样本向量,利用MATLAB归一化的代码为:

归一化后的输入向量P

for i=1:6

P(i,:)=(p(i,:)-min(p(i,:)))/(max (p(i,:))-min(p(i,:)));

end

归一化后的输入向量A

for i=1

T(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:)));

end

测试样本向量p_test和t-test的归一化同输入向量p和目标向量t的归一化,归一化后的向量为P_test和T_test。

4.2 隐层神经元数的选择

在设计多层前馈网时,一般先考虑设一个隐层.当一个隐层的隐节点数很多仍不能改善网络性能时,才考虑再增加一个隐层。由于本系统是一个比较小型的网络,且各结点采用S型函数进行处理,故采用单隐层。

隐层的神经元数目选择是一个非常复杂的问题,往往需要根据设计者的经验和多次试验来确定。隐单元的数目与问题的要求、输入/输出单元的数目都有直接的联系。隐单元数目太多和会导致学习的时间过长、误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本。选择最佳隐单元数的参考公式:

(1)

其中,k为样本数,n1为隐单元数,n为输入单元数。

(2)

其中,m为输出神经元数,n为输入神经元数,a为[1,10]之间的常数。

(3)

其中,n为输入单元数。

由于单隐层BP网络的非线性映射能力比较强,本文采用了单隐层的神经网络,而中间层神经元个数需通过实验来确定,输入层神经元个数有6个,中间层神经元的个数选择3个值,分别为13、15和20,并分别检查网络性能。通过实际的迭代训练,设置多种不同的隐节点情况,用同一样本集进行训练,比较迭代训练实验的结果,从中确定网络误差最小时对应的神经元个数。

MATLAB代码为:

隐层单元个数向量

a=[13 15 20];

for i=1:3

net=newff(threshold,[a(i),1],{‘tansig’, ‘logsig’},‘traindx’);

net.trainparam.epochs=1000;

net.trainparam.goal=0.01;

init函数用于将网络初始化

net=init(net);

net=train(net,P,T);

Y(i,:)=sim(net,P_test);

end

figure;

绘制误差曲线

中间神经元个数为13

polt(1:6,Y(1,:)-T_test);

hold on;

中间神经元个数为15

polt(1:6,Y(2,:)-T_test);

hold on;

中间神经元个数为20

polt(1:6,Y(3,:)-T_test);

hold off;

通过3种情况下的误差比较发现,中间层神经元个数为13、20时网络的误差比较大,当隐层节点数为15时,网络误差较小,收敛速度较快能得到最理想的输出,网络的预测性能最好。

通过上述分析,可以确定本文设计的神经网络结构为6-15-1,网络中间层的神经元传递函数,采用S型正切函数tansig,输出层神经元传递函数采用S型对数函数logsig。这是因为函数的输出位于区间[0,1]中,正好满足网络输出的要求。

图3 预测误差对比曲线

本文所要解决的问题是根据环境等外界因素对设备的绝缘状况进行预测,对网络的训练速度和稳定性有较高的要求,因此选择traingdx函数作为训练函数,该函数结合了动量梯度下降算法和自适应学习速率梯度下降算法。

该算法的基本过程为:首先计算出网络的输出误差,然后在每次训练结束之后,利用此时的学习率计算出网络的权值和阈值,并且计算出网络此时的输出误差。如果此时的输出误差与前一时刻的输出误差的比值大于预先定义的参数max_perf_inc,那么就减小学习率(通过乘以系数lr_dec来实现),反之,就增加学习率(通过乘以系数lr_inc来实现)。再重新计算网络的权值和阈值以及输出误差,直到前后输出误差的比值小于参数max_perf_inc为止。

4.3 网络学习速率和动量系数的选择

学习速率大小的选择,直接影响训练时间,当学习速率的选择不当,特别在严重时,将导致网络完全不能训练,这是因为1986年Rumelhart等人在证明BP训练算法收敛中,假设了无限小的权重调节速率。实际上这是不可能的,因为这表示需要无限的训练时间,所以,实际上必须选一个有限的学习速率大小,即η的值取0.01到1。一般来说要根据实验或经验来确定,还没有一个理论指导。若η选得太小,收敛可能很慢:若η选得太大,可能出现麻痹现象。为了避免这种现象,通常会选择减少η,但又会增加网络的训练时间。动量项可以加快BP算法的学习速度,但选项的时候应当注意避免学习时产生振荡。

因此,本文在确定网络的学习速率和动量系数的时候,采用不同的值的组合,利用55组训练数据进行了若干次网络的迭代训练。本文根据比较结果确定学习速率为0.1,动量系数为0.7作为网络训练时的参数。

5.基于BP神经网络介损值的预测应用

本文所建立的BP网络是基于MATLAB中的GUI建立。图形用户界面GUI (Graphical User Interfaces)是神经网络的工具箱提供的人机交互界面,它引导工程人员一步步的建立和训练网络,避免了代码的编写过程。借助图形用户界面GUI,可比直接利用工具箱函数更快捷和方便的完成神经网络的设计与分析。

利用BP神经网络理论和经过以上训练得到的网络参数,利用Matlab软件提供的GUI构造出了基于环境等外界因素影响分析设备绝缘状况的BP神经网络模型。表1列出了本文研究中建立的BP网络的各个参数和函数。

网络所用的训练数据和测试数据均出自于某110KV变电站主变套管的在线监测的数据],本文采用其中的55组典型数据,其中50组数据用于网络训练(训练次数为1000次,训练目标为0.01),5组数据用于仿真预测,利用仿真函数获得网络的输出,网络的预测结果及误差见表2,可见预测值与实际监测值之间的误差非常小,能满足实际要求。

表1 基于BP神经网络的电容型设备绝缘诊断模型参数

名称 参数

输入层节点数 6

隐含层节点数 15

输出层节点数 1

训练函数 traingdx

学习函数 learngdm

学习速率 0.1

动量系数 0.7

表2 外界环境相同时介损值的实际值与预测值的对比

序号 电压 电流 电容 温度 湿度 实 际

介损值 预 测

介损值 误差

1 119 7.047 326.479 18 50 0.003906 0.004025 0.000119

2 119 7.057 327.545 17 52 0.000440 0.004386 0.000014

3 118 7.022 328.078 17 55 0.003946 0.004108 0.000162

4 119 7.059 327.035 16 55 0.004471 0.004512 0.000041

5 119 7.069 327.406 17 59 0.003249 0.003178 0.000071

6.结束语

本章通过对BP网络模型和学习算法的研究,深入分析了BP网络在函数预测方面的优点,确定了用BP网络来实现对容性设备介质损耗值的预测,得到的结论如下:

(1)通过对BP网络结构的研究,将三层前向神经网络结构进行了改进,适应了本文对介质损耗值的预测要求。

(2)BP网络的预测结果的准确与否取决于学习样本的优劣,本文根据实际情况选取了神经网络的学习样本并进行了仿真,结果表明该预测方法的误差满足工程误差的要求,及基于人工神经网络的介质损耗值的预测方法是可行的、正确的和有效的。

(3)数据预测具有一定的精度,但是还存在误差,需选择相关大的、较合理的输入向量,还可以对网络的结构和算法选择方面进行改进,选择更合适的训练函数使其收敛速度更快,误差更小。

参考文献

[1]张寒,文习山,丁辉.用人工神经网络预测基于泄漏电流、气象因素的绝缘子等值附盐密度预测[J].高压电器,2003,39(6):31-35.

[2]韩力群.人工神经网络理论、设计及应用[M].北京:化学工业出版社,2002.

[3]闫志忠.BP神经网络模型的改进及其应用研究[D].长春:吉林大学,2003.

[4]闻新.MATLAB神经网络仿真与应用[M].北京:科学出版社,2000.

[5]许东,吴峥.基于MATLAB6.X的系统分析与设计-神经网络(第二版)[M].西安:西安电子科技大学出版社,2002.

[6]丛爽.面向MATLAB工具箱的神经网络理论与应用[M].合肥:中国科技大学出版社,1998

[7]Simon Haykin.NEURAL NETWORK:A Comprehensive Foundation[M].北京:清华出版社,2001.

[8]Ahmad A.S.,Ghosh P.S.,Aljunid S.A.K. Estimation of salt contamination level on the high voltage insulators surfaces during rainy season using artificial neural network[C].Ahmad H. Fifth International Conference on Power System Management and Control,No.488,London:Institution of Electrical Engineers(IEE),2002,29(8):303-308.