基于遗传算法优化的BP神经网络反分析模型研究
2018-12-07闵江涛
闵江涛
(杨凌职业技术学院水利工程学院 陕西杨凌 712100)
1 前言
神经网络算法和遗传算法己成为计算智能的两大信息科学,两者各自有优势:神经网络具有很强的自学本领,而遗传算法擅长于全局寻优。如将两者融合起来,取长补短不仅在理论上显示出不错的前景,在实践应用中也将取得进展。
2 BP神经网络和遗传算法的融合
2.1 BP神经网络的概述
BP神经网络[1]是指由误差反向传播BP算法训练的多层前馈神经网络,是目前应用最广泛的人工神经网络之一。
BP神经网络的缺点有:
(1)学习率和稳定性的冲突。BP算法的学习率比较小,学习过程的收敛速度也比较慢。如果问题太过麻烦,BP网络算法的训练时间有可能会很长。
(2)训练过程容易陷于局部极小值。BP算法能使网络的权值收敛到一个解,但并不能保证所求的解是全局的最小解,此解极有可能是一个局部最小解。
(3)学习率的选择缺乏有效的方法。对于线性网络,学习率选择太大,容易导致学习不稳定;反之,学习率选择太小,则可能出现过长的学习时间。
2.2 遗传算法概述
遗传算法[2~3]是基于进化论和遗传学说的模仿自然界生物进化机制的随机全局搜索和优化方法。遗传算法采用适者生存的原则,在所有方案的种群中逐次操作,来产生一个接近最优的方案。
遗传算法的主要缺点有:
(1)遗传算法容易早熟。尤其是群体规模较小时,在进化初期出现适应度较高的个体,则群体多样性容易受到破坏而出现早熟收敛现象。
(2)局部寻优能力不足,遗传算法能以极快的速度搜索到最优解所在的小区间,可是却需要很长的时间才能搜索到最优解。
(3)遗传操作中的交叉和变异的随机性比较强,致使搜索效率较低,表现为进化过程中父代与子代之间最优个体出现退化的现象。
2.3 神经网络与遗传算法的融合研究
2.3.1 遗传算法与神经网络融合的可行性研究
根据BP算法的缺点,其不可避免的会落入局部极小值;而遗传算法擅长于全局搜索,但对局部的精确搜索却显得力不从心。通过把遗传算法和BP算法融合在一起,将实现优势互补,这样既利用了遗传算法的全局优化功能,又利用了BP神经网络的网络推理和预测功能,一举两得。
2.3.2 遗传算法与BP神经网络融合的反分析模型实现流程
其具体实现步骤如下:
(1)初始化参数及种群。以十进制编码方式产生N个个体,构成初始群体,然后确定种群数,最大迭代次数,染色体的长度、范围,期望输出误差等参数;
(2)适应度计算。按预测输出值和期望输出值之间误差平方和的倒数作为各个个体的适应度值F,则计算公式为:
式中:n为网络输出节点数;ai为第i个节点的实际输出值;yi为第i个节点的期望输出值。
(3)交叉操作。根据适应度函数值,从当前代个体中选出较优个体,分别对其进行交叉操作和变异操作;
其中第k个染色体ak和第1个染色体a1在j位的交叉操作方法为:
式中:b 是[0,1]间的随机数。
(4)变异操作。选择第i个个体的第j个基因aij进行变异,变异操作的方法如下:
式中:amax为基因aij的上界;amin为基因aij的下界;f(g)=r2(1-g/Gmax);r2为一个随机数;g为当前迭代次数;Gmax为最大进化次数;r为[0,1]间的随机数。
(5)评价每个个体的适应度函数值,再进行选择操作;
(6)如果终止准则满足,则确定结果转至第八步;
(7)如果终止准则不满足,则世代数增加1,转至第三步;
(8)获取最优的权值、阈值;
(9)用BP算法训练网络,调整各层之间的权值和阈值;
(10)计算各层网络的误差;
(11)若检验误差小于容许误差,则满足结束条件,否则转至Step09;
(12)输出优化后的预测值,对程序的工作空间进行保存,即对已形成的输入-输出之间的非线性映射关系进行保存;
(13)调用Step12中的已经形成的输入-输出间的非线性映射关系程序,利用这种映射关系以及BP神经网络所固有的泛化能力,通过输入实测位移值,从而得到相应本构模型的参数值。
3 小结
本文先对BP神经网络和遗传算法进行了简单的概述;然后针对BP算法和遗传算法的缺点,将遗传算法和BP算法结合起来,实现了优势互补,通过对BP神经网络和遗传算法结合的可行性研究,确定它们的融合是可行的,并拟定了GA-BP神经网络反分析模型实现的步骤。