在科研中遇到的研究对象影响元素和因变量之间呈现高度的非线性关系,由于噪声影响和内在影响机制不明,建立解析式数学模型是很困难的。人工神经网络ANN采用并行结构和处理机制,具有很强的容错性以及自学习、自组织及自适应能力,能够模拟复杂的非线性映射[1-2],是一种优秀的函数逼近建模工具。众多ANN模型[3]中,多层前向神经网络MLFN(multilayerfeedforwardneu-ralnetwork)采用反向传播学习算法(BP算法),广泛应用于函数逼近、函数优化、分类与模式识别、控制等。遗传算法(GeneticAlgo-rithm,简称GA)是一种随机优化搜索算法具有全局性、鲁棒性强、适于并行处理等优点[4]。研究表明,GA与ANN结合可以获得高精度、更好泛化能力的函数模型。遗传算法结合神经网络[5-6],可以利用遗传算法进化神经网络的连接权、网络结构和学习规则[7-8]。其中GA进化网络连接权具有较高实用意义。本文采用GA进化ANN连接权。BP等ANN算法是基于梯度算法,要求目标函数可微,且依赖于初始权值,不当的初始权值会导致网络收敛速度慢与陷入局部最优的缺陷,特别对高维优化问题,由于误差性能面复杂风险更大。GA可克服BP算法的缺陷。GA有优良的全局搜索能力,可并行搜索多解在整个解空间找到最优解,且有逃离局部优解能力。GA不需要目标函数梯度信息,当目标函数不可微、多极值、遗传进化算法具有明显的优势。但GA自身也有局部搜索能力差的缺陷。本文用一个非线性测试函数进行GA和神经网络方法进行函数逼近试验。实验基于Matlab的ANN和GA工具箱。讨论了GA算法训练ANN权值偏置的实现步骤。并测试了Matlab工具箱的GA不同参数设置的效果,以及函数逼近的GA和神经网络结合方式的优劣。1GA学习神经网络的权值的步骤GA搜寻(训练)神经网络的权值的一般步骤为:Step1,首先确定神经网络结构,将网络权值偏置向量编码成GA算法染色体。Step2,设定合适的遗传算法群体规模N。产生N个初始染色体,形成初始种群。Step3,将染色体译码后的神经网络代入训练样本集计算网络输出和误差目标函数,根据目标函数计算个体适应度,适应度标定。根据标定后的适应度选择个体。Step4,选择后的个体进行交叉重组、变异遗传操作,形成新一代种群。Step5,将新一代种群染色体解码成神经网络,计算网络误差目标函数。判断误差是否满足要求,不满足要求转step3,满足则转step6。Step6,GA算法终止,挑选末代种群中最佳个体解码成网络最优权值偏置。2GA与神经网络结合进行函数逼近的测试GA与神经网络结合进行函数逼近,除了上面指出的一般步骤,具体实现方法和参数选择需要研究,本文将针对一个非线性函数逼近问题对GA参数选择设计和GA与ANN算法结合方式进行实验。实现和测试都是基于Matlab的神经网络和遗传算法与直接搜索工具箱(GADSToolbox)。在GUI界面的GA工具箱中,创建初始种群的主要参数是数据类型(Populationtype)、种群的大小(Sizeofpopulation),初始种群取值的范围(Initialrange)等;适应度尺度变换函数(Fitnnessscaling)有:排序(Ranking)、比率(Proportional)、最佳比例(Top)、线性转换(Shiftlinear)、自定义等;选择算子Selectionfunction有:随机均匀分布(Stochasticuniform)、剩余(Remainder)、均匀(Uniform)、轮盘赌(Roulette)
matlab遗传算法gui与神经网络结合,基于Matlab遗传算法和神经网络结合的函数逼近实现和测试...
最新推荐文章于 2021-08-27 10:24:45 发布