混合蛙跳算法神经网络在谐波检测中的应用

2015-09-28 06:25张宏亮顾文灿李增魏斌黄雷
现代计算机 2015年32期
关键词:蛙跳训练样本步长

张宏亮,顾文灿,李增,魏斌,黄雷

(空军工程大学航空航天工程学院,西安710038)

混合蛙跳算法神经网络在谐波检测中的应用

张宏亮,顾文灿,李增,魏斌,黄雷

(空军工程大学航空航天工程学院,西安710038)

BP神经网络;混合蛙跳算法;谐波检测

0 引言

神经网络检测算法因其具有计算量小、检测精度高、实时性好、鲁棒性高的优点被广泛应用于电力系统的谐波检测。其中又以BP神经网应用最为广泛。但被广泛采用的BP神经网络存在诸如收敛时间长、易陷入局部最小值、对非线性问题优化求解困难的缺点。为解决BP神经网络上述缺点,文献[7]提出用遗传算法优化BP神经网络的初始权值设置以防止神经网络陷入局部最小值,但遗传算法调节参数多、收敛速度慢给实际应用带来不便。受文献[2]启发,本文将一种新的智能化算法——混合蛙跳算法(SFLA)与神经网络相结合,提出了一种混合蛙跳算法神经网络(SFLA-ANN),将其应用到电力系统的谐波检测中。为解决蛙跳算法容易早熟的问题,进一步提出了一种变跳跃步长的改进的混合蛙跳算法神经网络。通过仿真发现经改进的混合蛙跳算法神经网络相比原始的BP神经网络在收敛速度、检测精度方面有显著提升。

1 ANN用于谐波检测的方案

1.1电力系统谐波的特点

一般电力系统中所含谐波成分主要是低次谐波且大都是奇次,所占比重不大,次数越高幅值越小。电力系统中非正弦周期电流的傅里叶级数如下:

由式(4)-式(5)可看出各次谐波的幅值和相位是An和Bn的非线性函数,而神经网络对非线性函数具有良好的逼近的能力,因而用神经网络检测谐波的思路是可行的。

1.2用于谐波检测的ANN网络构建

本文所采用的神经网络是在BP神经网络基础上改进而来的,如图1所示。

图1 神经网络结构图

该网络结构的特点是各次谐波的正弦和余弦分量都有独立的隐含层,这种结构的好处是所测得的各次谐波的数据相互间不会产生干扰,而且网络的权值和阈值数目大大减少,减少了网络的记忆负担,加快了计算速度。当隐含层的数目足够多时,检测精度会非常高,但计算量太大将导致训练时间和检测时间会很长,给实际应用带来困难。为使网络训练速度更快,本文所采用的神经网络只有一个隐含层。

2 改进的混合蛙跳算法神经网络

BP神经网络中的权值和阈值搜索方法是梯度下降法,虽然较为简单但它易陷入局部极小值,而且在输入维数较大时易出现“维数灾”,进而导致收敛速度变慢。混合蛙跳算法是一种在模因算法和粒子群算法基础上演变而来的新型群体智能优化算法,其良好的全局优化性可以有效地对解空间搜索,而且其固有的并行性能够较快的寻找到最优解[2]。因此本文提出将BP神经网络中的搜索算法用混合蛙跳算法代替的想法。基本混合蛙跳算法步骤这里不作赘述请参考文献[8]。

2.1改进的混合蛙跳算法(MSFLA)

针对混合蛙跳算法在求解最优化问题时存在早熟的问题,广大科研工作者提出了许多改进的方法。目前混合蛙跳算法改进的研究主要集中在更新策略方面,对初始种群的设置研究处于起步阶段,初始种群的设置好坏对算法的搜索性能有很大影响,基本蛙跳算法的初始种群是随机设定的,算法在搜索时带有很大的偶然性,这会导致算法的搜索效率不高,本文从初始种群的设置和更新策略两方面入手对混合蛙跳算法进行改进。

(1)初始种群设置

对于群体智能优化算法而言,高质量的初始解可以使得算法迅速搜索到最优解,节省搜索时间,提高算法的精度。文献[6]提出用随机均匀设计的方法优化遗传算法,取得了良好的效果,文献[9]采用混沌扰动的方法初始种群的方法也取得了很好的效果。本文针对混合蛙跳算法的初始解总是随机产生的具有较大的盲目性,引入对立学习的策略提高初始蛙群的质量。对立学习的基本思想是:寻找最优解时,既要考虑当前的解,又要考虑其对立点的解。

对立点的定义如下:假设D(e1,e2,…,eZ)是Z维空间中的一个点,那么该点的对立点为D`(e1`,e2`,…,eZ`)。

其中,ai和bi为ei的上界和下界,将它引入混合蛙跳算法的步骤为:随机产生N只青蛙个体,根据式(6)再计算这N个蛙的对立青蛙,计算这2N个蛙的适应度值,然后根据这2N个蛙的适应度值大小从中选择N只蛙作为新的初始蛙群。

(2)改进的更新策略

①为解决算法出现过早收敛,检测精度降低的问题,本文的改进策略是在更新完所有子种群内的最差蛙后计算每个蛙适应度值,统计上次迭代(Fi-1)和本次更新迭代(Fi)中适应度值相等的蛙的数目,若相等蛙的数目超过所设定的值(Max)即if((Fi-1==Fi)>Max)则对所有子种群内的最差蛙随机更新,如此便可跳出早熟使算法向着更好解搜索逼近。

②在分析基本的混合蛙跳算法的跳跃距离时发现,蛙的跳跃距离中含有随机数,若随机数过大这会导致蛙在搜索时可能会跳过最优值收敛至其他值,若随机数过小算法的收敛速度变慢降低算法的收敛效率。为进一步扩大算法的寻优能力,本文的改进策略:采用变跳跃步长的方法,将式(6)代替参考文献[8](基本混合蛙跳算法)中的式(2),变跳跃步长公式如下:

则最差蛙的更新公式为:

其中:μ是变步长因子,gmax是设定的每个分组的最大进化代数,gi是第i个分组当前进化代数。β≤α∈(0,1],通过多次实验得知当α=0.8,β=0.2时算法的收敛速度最好。采用变跳跃步长的好处是算法在初期跳跃步长大,解的全局寻优能力强;算法后期跳跃步长小,解的局部寻优能力强。

2.2改进的混合蛙跳算法神经网络模型(MS-FLA-ANN)

用改进的SFLA对由神经网络的各个连接权值以及相应的阈值组成的D维空间进行优化,提高神经网络的收敛速度和学习能力。MSFLA-ANN的运行步骤如下:

(1)按本文提出的方法初始D维的蛙群空间,每个蛙由神经网络的隐含层和输出层的连接权值以及阈值组成,为减少计算,量网络中所有阈值恒为零。

(2)计算每个蛙的适应度值,适应度函数定义如下:

Fitness=(k.i)=1/((E(k,i)+1)),k=1,2…,Ne(12)

其中:E(k,i)为第i个蛙在第k次迭代后的神经网络的学习误差,Fitness(k,i)是第i个蛙在第k次迭代后的适应度值,n是训练样本的数目,ym,i是第i个蛙的第m个样本输入的网络目标输出值是第i个个体在第k次迭代时的第m个样本输入的网络实际输出值,Ne为每个分组的最大进化次数。

(3)将F个蛙按适应度值(即神经网络输出的误差)按由大到小排序并分组。

(4)对每个子种群内的最差蛙按本文改进的蛙跳算法更新策略更新。

(5)当所有分组中的最差蛙都更新完毕后,计算适应度值,若本次适应度值相同的蛙的个数与上次迭代适应度值相同的蛙的个数相等且大于所设定的值(Max),则随机更新所有分组内的最差蛙,重复(2)~(5)直至满足算法终止条件。

算法的终止条件:(1)当网络的输出小于给定的误差ε时,算法终止。(2)当算法的全局进化大于设定的最大全局进化代数时,算法终止。

2.3训练样本的形成

电力系统谐波主要由奇次谐波组成且幅值随谐波次数的增加而减小,谐波最大幅值不超过基波的50%。在构建训练样本时以3次谐波为例,设基波幅值为1,以基波幅值的10%为间隔逐渐增加,则训练样本为:

其中ω0=2πf0,f0为工频频率。则A3和B3的目标值为:

(-A3,B3),(A3,-B3)和(-A3,-B3)的创建与之类似,共计83组训练样本。

3 仿真研究

按2.1-2.2所述构建混合蛙跳算法神经网络,在MATLAB 2009b环境下编写仿真程序,为验证算法的性能首先对改进的混合蛙跳算法进行测试,算法参数设置如下:每个蛙的维数为50,子种群数目为10,每个子种群内蛙的数目20,子种群进化代数20,全局最大进化代数 100。分别用 Sphere、Rastrigin、Ackley、Griewangk、Rosenbrock函数对改进的混合蛙跳算法和基本混合蛙跳算法进行测试。仿真结果如图2-6,横轴为全局进化代数,纵轴为寻优精度的对数值。由仿真结果可以看出改进后的混合蛙跳算法相比于基本混合蛙跳算法而言在优化精度上和优化速度上均有所提高。再用改进的混合蛙跳算法优化BP神经网络。

图2 Sphere函数进化曲线

图3 Rosenbrock函数进化曲线

图4 Rastrigin函数进化曲线

图5 Griewank函数进化曲线

图6 Ackley函数进化曲线

神经网络训练时输入为2.3所述的训练样本,输出为对应的(A3,B3)的值。当训练样本输入时,由于神经网络是离散输入,因此神经网络的输入数据是是在一个基波周期对输入信号内采样50个点所得。取隐含层节点数50,输出层节点数2,训练误差设置为ε=10-3。当神经网络训练完成后,用所构造的10组检测样本对文献[7]的所提算法、基本BP-ANN、SFLA-ANN和本文所提的MSFLA-ANN进行对比检测。从表1的检测结果可以看出本文所提出的算法相比较其他三个算法而言在达到相同检测误差精度时所用的迭代次最小。从表2的仿真结果可以看出本文所提出的MSFLA-ANN对这10组检测样本在幅度和相位两方面具有非常高的检测精度,仿真结果表明本文所以算法行之有效,其他奇次谐波检测方法与三次谐波的检测方法相同,只要训练样本足够多那么所得到的检测结果精度就会非常高。

表1 不同算法之间迭代次数

4 结语

提出了一种基于混合蛙跳算法神经网络的谐波检测方法,针对BP神经网络收敛速度慢,易陷入局部最小值等缺点,将BP神经网络中的权值搜索方法用混合蛙跳算法代替,针对混合蛙跳算法容易早熟的问题,提出了一种变跳跃步长的混合蛙跳算法,从而得到了一种改进的混合蛙跳算法神经网络。从仿真结果可以看出蛙跳算法神经网络具有较快的收敛速度和较好的检测精度。混合蛙跳算法步长更新策略、种群规模以及其他相关参数的设置对检测结果的有何影响是下一步的研究方向。

表2 混合蛙跳算法神经网络对测试样本测量结果

[1]汤胜清,程小华.一种基于多层前向神经网络的谐波检测方法[J].中国电机工程学报,2006,26(18):90-94.

[2]余华,黄程伟,张潇丹,赵力,金斌.混合蛙跳算法神经网络及其在语音识别中的应用[J].南京理工大学学报,2011,35(5):659-663.

[3]肖雁鸿,毛筱,罗瑞琼等.神经网络理论在谐波检测中的应用[J].电工技术学报.2002,17(2):101-104.

[4]王小华,何怡刚.一种新的基于神经网络高精度电力系统谐波分析方法[J].电网技术,2005,29(3):67-70.

[5]柴旭峥,习文山,关根志,等.一种高精度的电力系统谐波分析算法[J].中国电机工程学报,2003,23(9):67-70.

[6]李建军,郁滨,陈武平.混合蛙跳算法的改进与仿真[J].系统仿真学报,2014,26(4):755-760.

[7]侯世英,汪瑶,祝石厚.遗传算法该进神经网络的电力系统谐波检测法[J].重庆大学学报.2008,31(5):490-494.

[8]崔文华,刘晓冰,王伟,王介生.混合蛙跳算法研究综述[J].控制与决策.2012,27(4):481-486.

BP Neural Network;SFLA;Harmonic Measuring

Application of Shuffled Frog-Leaping Algorithm Based Neural Network in Harmonic Measuring

ZHANG Hong-liang,GU Wen-can,LI Zeng,WEI Bin,HUANG Lei
(Aeronautics and Astronautics Engineering College,Air Force Engineering University,Xi'an 710038)

1007-1423(2015)32-0015-06

10.3969/j.issn.1007-1423.2015.32.003

张宏亮(1990-),男,陕西西安人,硕士研究生,研究方向为信号处理与检测

2015-10-15

2015-11-10

针对传统BP神经网络用于谐波检测时存在收敛速度慢、易陷入局部最小值的缺点,提出用混合蛙跳算法代替BP神经网络中梯度搜索算法的混合蛙跳算法神经网络,并将其用于电力系统谐波幅值与相位测量。根据电力系统所含谐波特点,构建谐波检测的神经网络模型,阐述混合蛙跳算法神经网络的基本原理。以三次谐波为例,给出神经网络训练方法以及训练样本如何构建。仿真结果验证所提方法的可行性,其收敛速度、检测精度均优于BP神经网络。最后用训练好的神经网络检测未训练的样本,实验结果验证该网络具有良好的泛化能力。

According to the harmonic measuring for traditional BP neural network,compares the problems of slow convergence speed,easily falling into local minimum value.Proposes a Shuffled Frog-leaping algorithm neural network using Shuffled Frog-leaping Algorithm,instead of a Gradient Search Algorithm in BP neural network method for Harmonic amplitude and phase measurements of power of system.The neural network model is developed according to the requirements of measuring harmonic.Expounds the basic principle of Shuffled Frog-leaping Algorithm neural network.Gives the training method of SFLA neural network and how to construct the training sample in the three harmonic as an example.The simulation results verify the feasibility of the proposed method.SFLA neural network convergence speed and detection accuracy is better than the BP neural network.Uses the neural network detection trained without training samples,the result proves that the neural network has good generalization ability.

猜你喜欢
蛙跳训练样本步长
“三层七法”:提高初中生三级蛙跳能力的实践研究
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
基于随机森林回归的智能手机用步长估计模型
人工智能
基于Armijo搜索步长的几种共轭梯度法的分析对比
三坐标测量在零件安装波动中的应用
基于小波神经网络的网络流量预测研究
宽带光谱成像系统最优训练样本选择方法研究
基于动态步长的无人机三维实时航迹规划