敖培等
摘要:提高非线性系统的辨识精度,本文提出利用多种群遗传算法对BP神经网络权值进行优化,并将该算法用于非线性系统辨识中,取得了良好的效果。实验证明,与单纯采用BP神经网络辨识方法相比,本文方法对非线性系统有更强的辨识能力。
关键词:多种群遗传算法 BP神经网络 非线性系统辨识
中图分类号:TM715 文献标识码:A 文章编号:1007-9416(2014)12-0088-01
1 引言
由于BP神经网络能实现任意非线性映射,逼近任意函数的特点,可以把对象的动态特性和复杂的映射关系隐含在网络中,使得它非常适合于非线性系统辨识。但是,其也有诸如收敛速度慢、容易出现局部最小,初始权值、阀值难以确定等缺点。为提高非线性系统的辨识精度,本文提出利用多种群遗传算法对BP神经网络权值进行优化,并将该算法用于非线性系统辨识中,取得了良好的效果。
2 BP神经网络和GA算法存在的问题
BP网络是一类多层的前馈神经网络,由于它的结构简单,可调整的参数多,训练算法也多,而且可操作性好等特点得到了非常广泛的应用。虽然BP神经网络是人工神经网络中应用最广泛的算法,但是也存在着一些缺陷,如学习收敛速度太慢、不能保证收敛到全局最小点、网络结构不易确定。另外,网络结构、初始连接权值和阀值的选择对网络训练的影响很大,但是又无法准确获得。
GA算法是一种借鉴生物界自然选择和进化机制发展起来的高度并行、随机、自适应的全局优化概率搜索算法。传统的遗传算法存在两个重大缺陷:一是,容易早熟,即收敛提前结束,陷入局部最优解;二是,进化后期搜索效率低,这使得最终得到的结果往往不是全局最优解。
为了克服以上算法缺点,本文首先采用一种多种群遗传算法,通过多种群并行进化的思想,将遗传算法在多个具有不同控制参数的子种群间并行进行,并通过移民算子在子种群间交换信息,通过人工选择算子保存各种群每个进化代中的最优个体,可以避免过早收敛,同时并行运算可以提高算法的效率。然后采用多种群遗传算法优化BP神经网络。
3 基于多种群遗传算法的BP神经网络优化
本文采用一种多种群遗传算法对BP网络进行优化,主要步骤如下:
Step 1:确定BP网络的拓扑结构,即根据输入/输出参数个数确定网络的权值和阀值个数。
Step 2:对神经网络权值和阀值编码,得到初始种群。
Step 3:将解码得到权值和阀值赋给新建的BP网络。
Step 4:分别使用训练样本和测试样本训练和测试网络。
Step 5:以精华种群中最优个体最少保持代数作为算法终止判据,计算每个种群中各个体的适应度函数值(测试误差),判断是否满足算法终止条件。若满足,则退出算法,并得到最优神经网络权值和阀值;若不满足,则转至步骤(6)。
Step 6:基于传统标准遗传算法进化机制,各种群采用轮盘赌选择、单点交叉和位点变异,产生新的种群。其中,每个种群均选择不同的交叉概率Pc和变异概率Pm,使得多个种群协同进化,同时提高算法的全局搜索和局部搜索能力。
Step 7:采用移民算子将目标种群中的最差个体用源种群的最优个体代替,实现种群之间的信息交换。
Step 8:采用人工选择算子选出每一代其他种群的最优个体放入精华种群加以保存,并转至Step 3。
4 基于多种群遗传神经网络的非线性系统辨识
设非线性离散模型为y(k)=y(k-1)/(1+y2(k-1))+u(k-1);u(k)=0.2sin(2kπ/26)+0.3sin(kπ/15)+0.3sin(kπ/75)。式中输入量为u(k-1)和y(k-1),输出为y(k),神经网络2-10-1型结构。采用本文第3节算法对该非线性系统进行辨识,并与单纯采用BP神经网络辨识的结果进行了比较,如图1所示。多种群遗传算法参数设置如下:种群大小为40,最大遗传代数为50,代沟为0.95,交叉概率在[0.7,0.9]区间内随机产生,变异概率在[0.001,0.05]区间内随机产生,最优个体最少保持代数为10。采用BP神经网络和采用本文算法进行辨识的误差矩阵范数分别为3.1325和0.9246。从图1和误差矩阵范数可以看出,采用本文算法对系统进行辨识的效果要优于采用单纯的BP网络对系统进行辨识的效果。本文算法很好地逼近了非线性系统,同时也解决了BP网络隐含层节点数不易确定的缺陷。
5 结语
针对BP神经网络在非线性系统辨识中存在的问题,提出采用多种群遗传算法对BP神经网络的权值和阀值进行优化。实验证明,与单纯采用BP神经网络辨识方法相比,本文方法对非线性系统有更强的辨识能力。
参考文献
[1]王颖.神经网络预测控制在中密度纤维板施胶系统中的仿真研究[D].哈尔滨:东北林业大学硕士学位论文,2013.
[2]方彦军,易凤飞,胡文凯等编著.基于遗传算法的广义预测PID控制及其在锅炉主汽温系统中的应用[J].武汉大学学报,2013,46(3):386-392.