利用遗传模拟退火算法优化神经网络结构

时间:2020-08-06 19:31:15 研究生论文 我要投稿

利用遗传模拟退火算法优化神经网络结构

  摘要:常用的神经网络是通过固定的网络结构得到最优权值,使网络的实用性受到影响。引入了一种基于方向的交叉算子和变异算子,同时把模拟退火算法引入了遗传算法,结合遗传算法和模拟退火算法的优点,提出了一种优化神经网络结构的遗传——模拟退火混合算法,实现了网络结构和权值的同时优化。仿真实验表明,与遗传算法和模拟退火算法相比,该算法优化的神经网络收敛速度较快、预测精度较高,提高了网络的处理能力。

  关键词:遗传算法;模拟退火算法;神经网络;优化

  l、引言

  神经网络是由多个简单的处理单元彼此按某种方式相互连接而形成的计算系统,该系统通过对连续或断续式的输入作状态响应而进行信息处理。虽然每个神经元的结构和功能十分简单,但由大量神经元构成的网络系统的行为却丰富多彩和十分复杂。神经网络在国民经济和国防科技现代化建设中具有广阔的应用领域和应用前景。主要应用领域有:语音识别、图像识别、计算机视觉、智能机器人、故障机器人、故障检测、实施语言翻译、企业管理、市场分析、决策优化、物资调运自适应控制、专家系统、智能接口、神经生理学、心理学和认知科学研究等等。

  随着神经网络理论研究的深入以及网络计算能力的不断拓展,神经网络的应用领域将会不断拓展,应用水平将会不断提高,最终达到神经网络系统可用来帮人做事的目的,这也是神经网络研究的最终目标。

  神经网络具有很强的自适应、自组织和自学习的能力,具有大规模并行运算的能力。常用的神经网络系统的行为主要由两方面因素决定:其一为拓扑结构;其二是节点间连接权值。一般来讲,在应用神经网络过程中只是得到最优权值,结构在整个过程中是固定的,而且在确定结构时,经常根据人为经验或经验公式先拟定一个结构,在此基础上不断地训练网络、调整结构,最后得到确定的网络结构,进而应用这个固定的网络结构得到最优的权值。因此,构造一个准确定量构效关系人工神经网络模型需要耗费大量的时间,有时利用该方法构造的模型结构还可能不是最佳的l_。近年来,用遗传算法(Genetic Algo—rithms,GA)解决神经网络优化设计问题受到广泛重视。GA在寻优时搜索方向不停的发生变化,具有较强的全局搜索能力。

  但是,在应用遗传算法寻优的过程中,仍存在着困难翻:遗传算法对好的个体易造成块破坏、易出现早熟。因此,许多学者采取了遗传算法和其它算法相结合 的措施,如先用遗传算法进行全局搜索,确定最优解所在的区域后,再用BP算法(拟牛顿LM算法)进行局部搜索,但仍然存在耗时较多、精度较低的不足。

  Eh Kolmogarav定理可知在有合理的结构和恰当的权值条件下,三层前向网络能以任意精度逼近有界非线性函数。对于三层神经网络来说,输入层、输出层节点的个数由目标函数结构决定,故而在优化网络结构时,也优化它的隐层节点的个数。

  本文将对应用最为广泛的三层前向网络进行优化设计,把基于方向的遗传交叉算子和变异算子引入了遗传算法,并且与模拟退火算法(Simulated Annealing,SA)结合,提出了自适应遗传一模拟退火混合算法,使在得到神经网络最优权值的同时,也自动得到最优网络结构。仿真研究表明,此算法在以负荷作为训练样本的神经网络中具有良好的实用性。不仅能确定出最佳隐层节点个数,同时能生成落在全局最优区域的权值。

  2、遗传算法遗传算法是近年来迅速发展起来的一种全新的随机搜索与优化算法,其基本思想是基于Darwin的进化论和Mendel的遗传学说。该算法由密执安大学教授Hol 1and及其学生于1975年创建 。随后经过20多年的发展,取得了丰硕的应用成果和理论研究成果,特别是近年来世界范围内形成的进化汁算热潮,汁算智能已作为人工智能研究的一个重要方向,以及后来的人工生命的兴起,使GA受到广泛的关注。遗传算法主要通过选择复制和遗传算子的作用使种群不断进化,最终收敛到优化解。遗传算法是一种并行搜索过程,它具有较强的全局寻优能力。

  2.1 编码方式圈为了计算简便,本文省略神经网络值。个体的长度由最大隐层节点个数决定,即z=(r+c)·^一+/I。 其中:r为输人节点数?h 为最大隐层节点数、c为输出节点数。将同一个隐层节点所连接的权值排在一起,当删除或增加隐层节点时,方便操作。将隐层节点个数及网络权值进行混合实数编码,另外对隐含层节点增加了一个O-1组成的数串用作控制码。控制码主要是控制隐节点的个数,0—1数串中的一个数控制一个隐层节点。

  图1中,m,是表示第一个隐层节点有效性的O-1控制码,h 是表示第 一个隐层节点有效性的O-1控制码, 是与第一个隐层节点相关的权值, :是与第二个隐层节点相关的权值, ^一是与第矗一个隐层节点相关的权值。

  初始群体中不同隐层节点个数的个体按照一定的比例随机产生。当O-1数串中的数为0时,其所对应的隐含层节点对输出层没有作用(即相当于不存在此神经元),当数串中的数为1时,就相当于此隐含层节点对输出层有作用采用上述方法编码,每个个体译码后的网络结构都满足前面所述的研究前提条件,因此不存在所对应的网络结构无效的个体。

  2.2 适应度函数的确定及选择运算

  2.3 交叉率和变异率的确定

  2.4 交叉算子对控制基因和实数编码的基因分别采用不同的`交叉算子。

  对于控制基因,采用两点交叉;对于用实数编码的代表各个节点权值的基因,采用下面所述交叉方法:

  假设要参与交叉操作的两个个体分别为 ,两个个体上相对应位的权值分别为 ,并且 的适应度高于 的适应度,定义式(2)、(3)所示的△ 、△ 两个中间变量:

  2.5 变异算子随机取出需要变异的一个个体,再从控制码中随机选出一个数,这个数的变异采用基本变异算子。若这个数变异后的控制基因是1,则从控制基因1对应的权值串中选一随机位,设这一随机位上的权值为Xc 的变异为:在区间 ,X21上随机取一数 :代替 区问 ]如式(6)、(7)确定。

  3、模拟退火算法模拟退火算法的思想最早由Metropolis等于1 953年提出。SA又称为模拟冷却法、统计冷却法、Monte-Carlo退火法、随机松弛法和概率爬山法等。1983年Kirkpatriekm等开展了一些富有成效的工作,成功地将该思想引入组合优化理论,解决了许多诸如VLSI等大规模优化设计问题。SA算法是基于Mente Carlo迭代求解策略的一种随机寻优方法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似陛。SA算法在某一初温下,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部优解能概率性的跳出并最终趋于全局最优[81。SA算法具有质量高、初始鲁棒性强、通用易实现的优点。但是为寻到最优解,算法通常要求较高的初温、较慢的降温、较低的终止温度以及各温度下足够多的抽样,因而SA算法往往优化过程较长,这是SA算法的最大缺点。

  4、训练步骤步骤1设定三层前向神经网络的输入节点r、隐含层节点、输出节点c、初始温度 、退火次数Num、退火个体数Ⅳ;步骤2在【0,l】范围内随机产生PP条染色体,得到初始种群,并设初始进化代数L=0; 一步骤3由设定的选择概率按选择机制对个体选择;步骤4由自适应交叉概率按交叉算子进行交叉操作;步骤5由自适应变异概率按变异算子进行变异操作;步骤6把由步骤3,4、5得到的个体放到—起作为中间种群;步骤7计算中间种群的适应度,将适应度大的个体分别进行模拟退火Num次;步骤8将模拟退火次后得到的Ⅳ个最好的个体替代中间种群中取出的Ⅳ个个体,组成新的种群;步骤9如果进化代数小于预先设定的最大遗传代数,令= +1,转步骤3,否则,终止网络的训练,选出最优个体,转步骤10;步骤10将最优个体按顺序拆分,作为BP网络的最优权值;步骤1 1输入与训练样本集模式相一致的预测样本,得到预测值,并计算出相对误差。

  5、仿真实验及结果

  本文在河北地区1999年7月1日至2003年l2月31日的历史负荷中筛选了多组样本数据,训练神经网络。

  6、结论

  本文提出的遗传模拟退火算法是一种同时优化神经网络结构和权值的算法,它是在遗传算法中对控制码和权值域分别引进算子。在交叉过程中,对权值应用自适应交叉和变异率,引入向适应度高的方向进化的交叉算子,对控制基因用两点交叉。在变异时,对控制基因采用基本变异算子,之后将中间种群中的适应度高的个体在其周围进行模拟退火,这样充分发挥了遗传算法和模拟退火算法的优点,克服了遗传算法在神经网络优化过程中存在的不足。表2说明,本文算法确实有效地使神经网络的结构和权值同时得到了优化;表3说明将本文算法优化神经网络应用于预测,确实提高了收敛速度,得到了较高的预测精度。

【利用遗传模拟退火算法优化神经网络结构】相关文章:

探讨BP神经网络的图像Hash算法06-23

电力光纤网络优化算法及应用探讨10-11

遗传算法在计算机仿真技术中的应用09-27

基于自适应遗传算法的物流运输方式选择研究论文08-29

浅谈利用SEO工具进行网站优化的利与弊05-11

分组交换的网络结构06-01

网站优化SEOer利用seo赚钱细节和常规方法06-17

利用多媒体优化高师音乐欣赏教学论文08-16

浅析大学遗传学实验教学方法的优化论文08-10