实数编码的遗传算法优化BP神经网络共55页
遗传算法及遗传算法优化BP神经网络实现代码
遗传算法开放分类:编程、程序、数学、计算机、算法目录• 遗传算法定义• 遗传算法特点• 遗传算法的应用• 遗传算法的现状• 遗传算法的一般算法• 遗传算法实例遗传算法定义[编辑本段]遗传算法(Genetic Algorithm)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它是有美国Michigan 大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著《Adaptation in Natural and Artificial Systems》,GA这个名称才逐渐为人所知,J.Hilland教授所提出的GA通常为简单遗传算法(SGA)。
遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。
每个个体实际上是染色体(chromosome)带有特征的实体。
染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。
因此,在一开始需要实现从表现型到基因型的映射即编码工作。
由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小挑选(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。
这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。
遗传算法特点[编辑本段] 遗传算法是一类可用于复杂系统优化的具有鲁棒性的搜索算法,与传统的优化算法相比,主要有以下特点:1、遗传算法以决策变量的编码作为运算对象。
实数编码的遗传算法优化BP神经网络
normal
数据压缩情况
DOS PROBE
R2L
U2R
压缩前 小数点1位 小数点4位
图4-1 样本数据压缩情况
目录
课题背景 遗传神经网络 分类检测器同步检测模型 数据预处理 仿真实验 结束语和展望 发表论文
仿真实验
学习样本和测试样本
表5-1 样本数据
instants
4
5
0
U2R
11
1
2
6
normal DOS PROBE R2L
数据预处理
归一化精度对样本影响
表4-2 小数点保留4位时记录重复情况
DOS
1
0
0
0
PROBE
1
0
0
0
R2L
0
0
0
0
U2R
0
0
0
0
normal DOS PROBE R2L
数据预处理
归一化精度对样本影响
表4-3 样本数据压缩情况
normal DOS PROBE R2L U2R
本文BP神经网络的输入节点数为34个,隐 含层节点数为15个,输出层节点数为4个。
数据预处理
样本精简
虽然神经网络的连接权重可以用一个实数 串进行表示,但在进行网络的训练时,还需要 将实数串分为两部分,设输入层到隐含层的连 接权重矩阵为W1,则W1为34行15列矩阵;同理, 隐含层到输出层的连接权重矩阵W2为15行4列矩 阵。
遗传神经网络
实数编码遗传算法
而基于实数编码的遗传算法不存在编码和 解码过程,能够大大提高解的精度和运算 速度,因此,基于实数编码的遗传算法得 到了越来越多的重视。
遗传算法优化BP神经网络权值和阈值(完整版)
/viewthread.php?tid= 50653&extra=&highlight=%E9%81%97%E4%BC%A0%E7% AE%97%E6%B3%95&page=1Matlab遗传算法优化神经网络的例子(已调试成功)最近论坛里问到用遗传算法优化神经网络问题的人很多,而且论坛里有很多这方面的代码。
但可惜的是所有代码都或多或少有些错误!最郁闷的莫过于只有发帖寻求问题答案的探索者,却很少有对问题进行解答的victor。
本人在论坛里看到不少会员对能运行成功的遗传算法优化神经网络例子的需求是多么急切,我也深有感触!现把调试成功的一个例子贴出来,供大家参考!(本例子是基于一篇硕士论文里的代码为蓝本改编的,此处就不再注明作者了。
)遗传算法优化bp.rar (3.34 KB)注:该代码是由会员“书童”耗费了一整天的时间调试成功的,在此再次对我们的“书童”同学乐于助人的高尚品德致敬,并对其深表感谢!PS:参考会员“ilovexyq”意见,先对其做以补充。
该网络为遗传算法优化bp的一个典型例子,输入为7,输出为7,隐层为25。
该网络输入输出数据就是为了说明问题而随便加的,没有实际意义。
如用于自己的实际问题,把数据替换并根据需要改一下网络结构就行了。
PS:如有问题,请先阅读此贴:/thread-52587-1-1.html###[本帖最后由 yuthreestone 于 2009-10-15 10:52 编辑]搜索更多相关主题的帖子: 调试例子算法Matlab神经网络/thread-52587-1-1.html遗传算法优化BP神经网络权值和阈值(完整版)会员renjia前一段时间分享的程序,地址如下:/viewthread.php?tid=50653&extra=&highlight=% E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95&page=1:(1)renjia提供的程序存在一些小错误,主要是设计的bp网络是两个隐含层,但编码的时候只有一个隐含层。
基于遗传算法的BP神经网络优化算法
案例3:基于遗传算法的BP神经网络优化算法******************************************************************************* ****论坛申明:1 案例为原创案例,论坛拥有帖子的版权,转载请注明出处(MATLABSKY论坛,《MATLAB智能算法30个案例分析》2 案例内容为书籍原创内容,内容为案例的提纲和主要内容。
3 作者长期驻扎在板块,对读者和会员问题有问必答。
4 案例配套有教学视频和完整的MATLAB程序,MATLAB程序在购买书籍后可以自由下载,教学视频需要另外购买。
MATLAB书籍预定方法和优惠服务:/thread-9258-1-1.html点击这里,预览该案例程序:/znsf/view/s3/GABPMain.html 已经预定的朋友点此下载程序源代码:/thread-11921-1-1.html ******************************************************************************** **1、案例背景BP网络是一类多层的前馈神经网络。
它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法。
BP算法是Rumelhart等人在1986年提出来的。
由于它的结构简单,可调整的参数多,训练算法也多,而且可操作性好,BP 神经网络获得了非常广泛的应用。
据统计,有80%~90%的神经网络模型都是采用了BP网络或者是它的变形。
BP网络是前向网络的核心部分,是神经网络中最精华、最完美的部分。
BP神经网络虽然是人工神经网络中应用最广泛的算法,但是也存在着一些缺陷,例如:①、学习收敛速度太慢;②、不能保证收敛到全局最小点;③、网络结构不易确定。
另外,网络结构、初始连接权值和阈值的选择对网络训练的影响很大,但是又无法准确获得,针对这些特点可以采用遗传算法对神经网络进行优化。
基于改进实数编码遗传算法的神经网络超参数优化
基于改进实数编码遗传算法的神经网络超参数优化佘维;李阳;钟李红;孔德锋;田钊【期刊名称】《计算机应用》【年(卷),期】2024(44)3【摘要】针对神经网络超参数优化效果差、容易陷入次优解和优化效率低的问题,提出一种基于改进实数编码遗传算法(IRCGA)的深度神经网络超参数优化算法——IRCGA-DNN(IRCGA for Deep Neural Network)。
首先,采用实数编码方式表示超参数的取值,使超参数的搜索空间更灵活;然后,引入分层比例选择算子增加解集多样性;最后,分别设计了改进的单点交叉和变异算子,以更全面地探索超参数空间,提高优化算法的效率和质量。
基于两个仿真数据集,验证IRCGA-DNN的毁伤效果预测性能和收敛效率。
实验结果表明,在两个数据集上,与GA-DNN(Genetic Algorithm for Deep Neural Network)相比,所提算法的收敛迭代次数分别减少了8.7%和13.6%,均方误差(MSE)相差不大;与IGA-DNN(Improved GA-DNN)相比,IRCGA-DNN的收敛迭代次数分别减少了22.2%和13.6%。
实验结果表明,所提算法收敛速度和预测性能均更优,能有效处理神经网络超参数优化问题。
【总页数】6页(P671-676)【作者】佘维;李阳;钟李红;孔德锋;田钊【作者单位】郑州大学网络空间安全学院;嵩山实验室;互联网医疗与健康服务河南省协同创新中心(郑州大学);郑州市区块链与数据智能重点实验室(郑州大学);郑州大学计算机与人工智能学院;军事科学院国防工程研究院工程防护研究所【正文语种】中文【中图分类】TP301.6【相关文献】1.基于实数编码遗传算法的混合神经网络算法2.用基于实数编码的自适应遗传算法进化神经网络3.基于实数编码遗传算法的神经网络成本预测模型及其应用4.基于实数编码遗传算法的神经网络优化设计5.改进的实数编码加速遗传算法在暴雨强度公式参数优化中的应用因版权原因,仅展示原文概要,查看原文内容请购买。
基于遗传算法的BP神经网络算法ppt课件
• 1. 简要介绍BP网络算法 • 2. 简要介绍遗传算法 • 3. 介绍基于遗传算法的BP网络迭代流程
BP神经网络 (Back Propagation Neural Network)
• 其主要的学习过程是:将输入从输入层经隐层单元逐层处理 , 并传向输出层,每一层神经元的状态只影响下一层神经元的状 态。如果在输出层不能得到期望的输出,则将误差信号沿原来 的连接通路反向传播,通过梯度下降法修改各神经元的权值, 使误差信号最小 。
• 优点: • 1)良好的并行性(操作对象是一组可行解;搜索轨道有多条) • 2)强大的通用性(只需利用目标的取值信息,无需梯度等高价
值信息) • 3)良好的全局优化性和鲁棒性 • 4)良好的可操作性 • 缺点: • 1)大量计算(涉及到大量个体的计算,当问题复杂时,计算时
间是个问题) • 2)稳定性差(算法属于随机类算法,需要多次运算,结果的可
遗传算法(Genetic Algorithm)
• 遗传算法是一种用于全局优化搜索的迭代算法 • 模仿生物的遗传进化原理,通过选择(Selection)、交叉
(Crossover)、变异(Mutation)等机制,使种群中个体的适应性 (Fitness)不断提高 • 核心思想:适者生存
遗传算法特点
交叉操作(Crossover)
• DNA1 • DNA2 • NEW DNA
交叉概率:
变异操作(Mutation)
• 变异概率:
性能比较
BP算法实验时,选用的样本数是550,学习速率α=0.7,输人层结 点14个(共有14个特征点 ),输出层共有5个,隐含层9个。
BP一GA算法实验时,选用的样本数是550,交换概率Pc=0.7,变 异概率Pm=0.2,输人层结点14个,输出层结点5个,隐含层 9 个, 种群规模300个。
用实数编码的遗传算法优化神经网络盲均衡算法
yn i (-)
yn m1 (—
其 中 ( 表示发 送 序列 , ( 表示 加性 噪 声, n表 , z ) nn ) ()
收 稿 日期 : 0 8 0 —5 20 — 6 1
图 2 P神经网络中信号的传输关系 B
作 者简 介 : 李沅 ( 8 一, , 1 2 )女 山西 左 云 人, 士, 教 9 硕 助 研究 方 向 : 信 ]程 通
() 1
的神 经元 ; 隐层 与输 层 的权值 为 W, )假 定 隐层 (. n
单元 的输 入为 R,)输 为 5 )输 出层 单元 的输 (, n ,
} 为 n, } { )神经 网络 总输 为 ( , n 隐层 、 出层 的 ) 输
输 入 与输 的传递 函数为 厂f)本 文 中选 取 以下 函 . ,
示 信 道 冲激 相应 , () vn表示 接 收序 列 , () 叠n表示 均 衡 器输 I , f) 叶 叠n表示 判 决器 输 } 1 首 先选 择 一个 网络 J }2 {1 . 结 构, 后 针对 所 选 网络 结 构提 l 一 个 代 价 函 数, 然 叶 J 并且 根据 这个 代价 函数 确定权 值 的递推 方程 . 最后 通过最 小化代价 函数来 达到调整 权值 的 目的.
进行 遗传算法 的编码 … ② 收敛速 度快 , 易陷 入局 : 不
得更优的收敛精度, 易陷入局部极小值,因此, 但 将遗 传算法 与神经 网络有 机结合 , 取长 补短, 就能达 到更
优的均衡效果 . 基于遗传神经 网络训 练方 法的主要思 想是先利用遗传算法对权值进行 陕速 的全 局搜 索, 通 过控制遗传 代数使 网络性能达到一定要求 , 然后再利 用 B 算法在局部进行最优搜索, P 直到满足精度. 本文 采用 层前馈神经网络, 二 见图 2 .
遗传算法优化的BP神经网络建模【精品毕业设计】(完整版)
遗传算法优化的BP神经⽹络建模【精品毕业设计】(完整版)遗传算法优化的BP神经⽹络建模⼗⼀⽉匆匆过去,每天依然在忙碌着与⽂档相关的东西,在寒假前⼀个多⽉⾥,努⼒做好⼿头上的事的前提下多学习专业知识,依然是坚持学习与素质提⾼并重,依然是坚持锻炼⾝体,为明年找⼯作打下基础。
遗传算法优化的BP神经⽹络建模借鉴别⼈的程序做出的仿真,最近才有时间整理。
⽬标:对y=x1^2+x2^2⾮线性系统进⾏建模,⽤1500组数据对⽹络进⾏构建⽹络,500组数据测试⽹络。
由于BP神经⽹络初始神经元之间的权值和阈值⼀般随机选择,因此容易陷⼊局部最⼩值。
本⽅法使⽤遗传算法优化初始神经元之间的权值和阈值,并对⽐使⽤遗传算法前后的效果。
步骤:未经遗传算法优化的BP神经⽹络建模1、随机⽣成2000组两维随机数(x1,x2),并计算对应的输出y=x1^2+x2^2,前1500组数据作为训练数据input_train,后500组数据作为测试数据input_test。
并将数据存储在data中待遗传算法中使⽤相同的数据。
2、数据预处理:归⼀化处理。
3、构建BP神经⽹络的隐层数,次数,步长,⽬标。
4、使⽤训练数据input_train训练BP神经⽹络net。
5、⽤测试数据input_test测试神经⽹络,并将预测的数据反归⼀化处理。
6、分析预测数据与期望数据之间的误差。
遗传算法优化的BP神经⽹络建模1、读取前⾯步骤中保存的数据data;2、对数据进⾏归⼀化处理;3、设置隐层数⽬;4、初始化进化次数,种群规模,交叉概率,变异概率5、对种群进⾏实数编码,并将预测数据与期望数据之间的误差作为适应度函数;6、循环进⾏选择、交叉、变异、计算适应度操作,直到达到进化次数,得到最优的初始权值和阈值;7、将得到最佳初始权值和阈值来构建BP神经⽹络;8、使⽤训练数据input_train训练BP神经⽹络net;9、⽤测试数据input_test测试神经⽹络,并将预测的数据反归⼀化处理;10、分析预测数据与期望数据之间的误差。
遗传算法优化的BP神经网络建模
遗传算法优化的BP神经网络建模遗传算法优化的BP神经网络建模是一种将遗传算法与反向传播神经网络相结合的方法,旨在通过优化神经网络的权重和偏置来提高网络的性能和准确性。
该方法包括以下步骤:问题定义、数据预处理、BP神经网络建模、遗传算法优化和模型评估。
首先,问题定义是指明确需要解决的问题和问题的目标。
例如,可以是预测销售量、股票价格预测等。
其次,数据预处理是从数据集中提取出有用的特征,并对其进行预处理,以确保神经网络的输入满足要求。
常见的预处理操作包括数据归一化、特征选择和数据划分等。
接下来,BP神经网络建模是使用反向传播算法训练神经网络。
BP神经网络由输入层、隐藏层和输出层组成。
输入层接收预处理后的特征,隐藏层通过激活函数将输入转化为输出,并传递给输出层。
网络的权重和偏置通过反向传播算法进行训练,使得网络的输出与实际输出之间的误差最小化。
然后,遗传算法优化是为了进一步优化神经网络的性能。
遗传算法使用演化过程中的自然选择规则和遗传操作,通过随机找到最佳的权重和偏置组合。
遗传算法中的个体是神经网络的权重和偏置,适应度函数是神经网络的性能评估指标(如均方误差、准确率等)。
通过迭代和交叉变异等操作,遗传算法逐渐优化神经网络的权重和偏置。
最后,模型评估是评估优化后的神经网络模型的性能和准确性。
常见的评估指标包括均方误差、准确率、召回率、精确率等。
通过与其他算法进行比较或在新数据集上测试,可以确定该模型是否达到了预期的目标。
1.兼具全局和局部能力:遗传算法通过全局找到初始解,并通过交叉和变异操作进行局部,以找到更优的解。
2.对于高维复杂问题具有较好的适应能力:遗传算法能够处理高维复杂问题,通过不断演化优秀的个体,逐渐找到最优解。
3.不受局部最优解限制:遗传算法不容易陷入局部最优解,通过遗传操作的随机性,能够跳出局部最优解,从而找到更好的解。
4.可并行化处理:遗传算法的计算过程可以进行并行化处理,加快模型训练的速度,提高模型优化的效率。
遗传算法优化BP神经网络的 网络流量预测-精选文档
遗传算法优化BP神经网络的网络流量预测1引言网络流量预测对于分析和理解网络将要发生的网络行为、指导网络安全检测与控制具有重要的意义,网络流量具有非线性、多时间和多尺度等变化特性,如何建立高精度的网络流量预测模型已经成为研究热点之一。
当前网络流量均基于统计方法进行建模,是通过对预测网络流量过去的数据及资料进行统计和分析,对其未来的网络流量发展趋势进行定量的预测,主要有时间序列法和BP神经网络方法。
时间序列预测法因根据事物过去的变化趋势预测未来的发展,突出时间因素,外界因素不计入影响,在短期且没有相对比较大的变化时预测结果比较理想,但是当外界出现巨变,往往会出现比较大的偏差。
因此,时间序列预测法适用于渐进变化的预测对象,没有明显波动,而网络流量受到多种因素影响,具有非线性、多时间和多尺度等变化的特性,因此时间序列法预测精度比较低。
BP(Back Propagation)网络是一种按误差逆向传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一,具有自组织、自适应、自学习等特点,具有很强的输入输出非线性映射能力,对解决非线性问题有着独特的先进性,成为当前网络流量建模与预测主要工具。
但是,由于采用了误差函数按梯度下降的学习算法,极易陷入局部最小值点。
此外,BP神经网络学习算法收敛慢,系统鲁棒性差,网络的性能对初始设置值依赖比较大。
因此BP神经网络需要进行改进才能更好地应用到实际中。
为了提高网络流量预测精度,提出一种基于遗传算法优化BP神经网络的网络流量预测模型(GA-BPNN)。
首先采集网络流量数据,并进行相应预处理,然后将网络流量训练样本输入到BP神经网络进行学习,并采用遗传算法对BP神经网络参数进行优化,最后采用建立的网络流量预测模型对网络流量测试集进行预测,并通过仿真实验对模型性能进行测试。
2BP神经网络和遗传算法2.1BP神经网络概述BP神经网络基本思想是网络训练过程由正向传播与误差反向传播两个过程组成。
毕业设计论文基于遗传算法的BP神经网络的优化问题研究.doc
编号:审定成绩:重庆邮电大学毕业设计(论文)设计(论文)题目:基于遗传算法的BP神经网络的优化问题研究学院名称:学生姓名:专业:班级:学号:指导教师:答辩组负责人:填表时间:2010年06月重庆邮电大学教务处制摘要本文的主要研究工作如下:1、介绍了遗传算法的起源、发展和应用,阐述了遗传算法的基本操作,基本原理和遗传算法的特点。
2、介绍了人工神经网络的发展,基本原理,BP神经网络的结构以及BP算法。
3、利用遗传算法全局搜索能力强的特点与人工神经网络模型学习能力强的特点,把遗传算法用于神经网络初始权重的优化,设计出混合GA-BP算法,可以在一定程度上克服神经网络模型训练中普遍存在的局部极小点问题。
4、对某型导弹测试设备故障诊断建立神经网络,用GA直接训练BP神经网络权值,然后与纯BP算法相比较。
再用改进的GA-BP算法进行神经网络训练和检验,运用Matlab软件进行仿真,结果表明,用改进的GA-BP算法优化神经网络无论从收敛速度、误差及精度都明显高于未进行优化的BP神经网络,将两者结合从而得到比现有学习算法更好的学习效果。
【关键词】神经网络BP算法遗传算法ABSTRACTThe main research work is as follows:1. Describing the origin of the genetic algorithm, development and application, explain the basic operations of genetic algorithm, the basic principles and characteristics of genetic algorithms.2. Describing the development of artificial neural network, the basic principle, BP neural network structure and BP.3. Using the genetic algorithm global search capability of the characteristics and learning ability of artificial neural network model with strong features, the genetic algorithm for neural network initial weights of the optimization, design hybrid GA-BP algorithm, to a certain extent, overcome nerves ubiquitous network model training local minimum problem.4. A missile test on the fault diagnosis of neural network, trained with the GA directly to BP neural network weights, and then compared with the pure BP algorithm. Then the improved GA-BP algorithm neural network training and testing, use of Matlab software simulation results show that the improved GA-BP algorithm to optimize neural network in terms of convergence rate, error and accuracy were significantly higher than optimized BP neural network, a combination of both to be better than existing learning algorithm learning.Key words:neural network back-propagation algorithms genetic algorithms目录第一章绪论 (1)1.1 遗传算法的起源 (1)1.2 遗传算法的发展和应用 (1)1.2.1 遗传算法的发展过程 (1)1.2.2 遗传算法的应用领域 (2)1.3 基于遗传算法的BP神经网络 (3)1.4 本章小结 (4)第二章遗传算法 (5)2.1 遗传算法基本操作 (5)2.1.1 选择(Selection) (5)2.1.2 交叉(Crossover) (6)2.1.3 变异(Mutation) (7)2.2 遗传算法基本思想 (8)2.3 遗传算法的特点 (9)2.3.1 常规的寻优算法 (9)2.3.2 遗传算法与常规寻优算法的比较 (10)2.4 本章小结 (11)第三章神经网络 (12)3.1 人工神经网络发展 (12)3.2 神经网络基本原理 (12)3.2.1 神经元模型 (12)3.2.2 神经网络结构及工作方式 (14)3.2.3 神经网络原理概要 (15)3.3 BP神经网络 (15)3.4 本章小结 (21)第四章遗传算法优化BP神经网络 (22)4.1 遗传算法优化神经网络概述 (22)4.1.1 用遗传算法优化神经网络结构 (22)4.1.2 用遗传算法优化神经网络连接权值 (22)4.2 GA-BP优化方案及算法实现 (23)4.3 GA-BP仿真实现 (24)4.3.1 用GA直接训练BP网络的权值算法 (25)4.3.2 纯BP算法 (26)4.3.3 GA训练BP网络的权值与纯BP算法的比较 (28)4.3.4 混合GA-BP算法 (28)4.4 本章小结 (31)结论 (32)致谢 (33)参考文献 (34)附录 (35)1 英文原文 (35)2 英文翻译 (42)3 源程序 (47)第一章绪论1.1 遗传算法的起源从生物学上看,生物个体是由细胞组成的,而细胞则主要由细胞膜、细胞质、和细胞核构成。
用遗传算法优化BP神经网络程序
用遗传算法优化BP神经网络程序红色程序是用遗传算法直接训练BP权值tic, % 开始计时[P,T,R,S1,S2,S]=nninit; % BP网络初始化% 随机生成W1,B1,W2,B2[W1,B1]=rands(S1,R);[W2,B2]=rands(S2,S1);% BP网络训练的参数设置disp_fqre=100; max_epoch=3000;err_goal=0.002;lr=0.01;TP=[disp_fqre max_epoch err_goal lr];% 开始训练[W1,B1,W2,B2,te,tr]=trainbp(W1,B1,'tansig',W2,B2,'purelin',P, T,TP); % 仿真结果TT=simuff(P,W1,B1,'tansig',W2,B2,'purelin')toc % 结束计时% 在MATLAB6.5下编程tic, % 开始计时[P,T,R,S1,S2,S]=nninit; % BP网络初始化% 生成BP网络net = newff(minmax(P),[S1 S2],{'logsig' 'logsig'},'trainlm');% BP网络训练的参数设置net.trainParam.epochs = 3000;net.trainParam.goal = 0.002;net.trainParam.lr = 0.01;% 开始训练net = train(net,P,T);% 仿真结果TT=sim(net,P)toc % 结束计时% 遗传算法的适应值计算function [sol, val] = gabpEval(sol,options)% val - the fittness of this individual% sol - the individual, returned to allow for Lamarckian evolution % options - [current_generation][P,T,R,S1,S2,S]=nninit;for i=1:S,x(i)=sol(i);end;[W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x);tic, %开始计时% 首先进行遗传算法[P,T,R,S1,S2,S]=nninit;aa=ones(S,1)*[-1 1];popu=30;initPpp=initializega(popu,aa,'gabpEval');gen=80; % 遗传代数% 遗传计算[x endPop bPop trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);% x The best found% Lets take a look at the performance of the ga during the runsubplot(2,1,1)plot(trace(:,1),1./trace(:,3),'r-')hold onplot(trace(:,1),1./trace(:,2),'b-')xlabel('Generation');ylabel('Sum-Squared Error');subplot(2,1,2)plot(trace(:,1),trace(:,3),'r-')hold onplot(trace(:,1),trace(:,2),'b-')xlabel('Generation');ylabel('Fittness');% 下面进行BP算法figure(2)% 将遗传算法的结果分解为BP网络所对应的权值、阈值[W1 B1 W2 B2 P T A1 A2 SE val]=gadecod(x);% BP网络训练的参数设置disp_fqre=100; max_epoch=3000;err_goal=0.002;lr=0.01;TP=[disp_fqre max_epoch err_goal lr];[W1,B1,W2,B2,te,tr]=trainbp(W1,B1,'tansig',W2,B2,'purelin',P, T,TP); % 仿真结果TT=simuff(P,W1,B1,'tansig',W2,B2,'purelin')toc % 结束计时% 将遗传算法的编码分解为BP网络所对应的权值、阈值function [W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x) [P,T,R,S1,S2,S]=nninit;% 前R*S1个编码为W1for i=1:S1,for k=1:R,W1(i,k)=x(R*(i-1)+k);endend% 接着的S1*S2个编码(即第R*S1个后的编码)为W2for i=1:S2,for k=1:S1,W2(i,k)=x(S1*(i-1)+k+R*S1);endend% 接着的S1个编码(即第R*S1+S1*S2个后的编码)为B1for i=1:S1,B1(i,1)=x((R*S1+S1*S2)+i);end% 接着的S2个编码(即第R*S1+S1*S2+S1个后的编码)为B2 for i=1:S2,B2(i,1)=x((R*S1+S1*S2+S1)+i);end% 计算S1与S2层的输出A1=tansig(W1*P,B1);A2=purelin(W2*A1,B2);% 计算误差平方和SE=sumsqr(T-A2);val=1/SE; % 遗传算法的适应值% 用GA训练BP网络的权值、阈值tic, % 开始计时[P,T,R,S1,S2,S]=nninit; % BP网络初始化aa=ones(S,1)*[-1 1];popu=60; % 初始种群个数initPpp=initializega(popu,aa,'gabpEval');gen=700; % 遗传代数[x endPop bPop trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);%%Lets take a look at the performance of the ga during the runsubplot(2,1,1)plot(trace(:,1),1./trace(:,3),'r-')hold onplot(trace(:,1),1./trace(:,2),'b-')xlabel('Generation');ylabel('Sum-Squared Error');subplot(2,1,2)plot(trace(:,1),trace(:,3),'r-')hold onplot(trace(:,1),trace(:,2),'b-')xlabel('Generation');ylabel('Fittness');% 从编码x中解码出BP网络所对应的权值、阈值[W1 B1 W2 B2]=gadecod(x);% 仿真结果TT=simuff(P,W1,B1,'tansig',W2,B2,'purelin') toc % 结束计时% BP网络初始化:给出网络的训练样本P、T,% 输入、输出数及隐含神经元数R,S2,S1 function [P,T,R,S1,S2,S]=nninitp=[0 0 0 0 0;1 0 0 0 1;0 1 0 0 1;0 0 1 0 0;0 0 0 1 0];P=p';t=[0 0 0 0;1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];t=t';T=t;[R,Q]=size(P);[S2,Q]=size(T);S1=6;S=R*S1+S1*S2+S1+S2; % 遗传算法编码长度。
利用遗传算法优化BP神经网络
利用遗传算法优化BP神经网络
马强;马少华;毛宗磊
【期刊名称】《科技广场》
【年(卷),期】2008(000)012
【摘要】首先阐述了BP算法和遗传算法,并指出BP算法和遗传算法各自的优缺点,讨论了如何利用遗传算法优化BP神经网络,并举实例进行了仿真.结果表明该方法具有一定的实用价值.
【总页数】2页(P196-197)
【作者】马强;马少华;毛宗磊
【作者单位】沈阳建筑大学信息与控制工程学院,辽宁,沈阳,110168;沈阳建筑大学信息与控制工程学院,辽宁,沈阳,110168;沈阳建筑大学信息与控制工程学院,辽宁,沈阳,110168
【正文语种】中文
【中图分类】TP301.6
【相关文献】
1.利用云模型和遗传算法优化BP神经网络权值 [J], 吴立锋
2.利用云模型和遗传算法优化BP神经网络权值 [J], 吴立锋
3.改进遗传算法优化BP神经网络的双目相机标定 [J], 胡志新;王涛
4.遗传算法优化的BP神经网络拷贝数变异检测 [J], 黄体浩;李俊青;赵海勇
5.基于改进遗传算法优化BP神经网络的土壤湿度预测模型 [J], 王佳楠;王玉莹;何淑林;时龙闽;张艳滴;孙海洋;刘勇
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6、法律的基础有两个,而且只有两个……公平和实用。——伯克 7、有两种和平的暴力,那就是法律和礼节。——歌德
8、法律就是秩序,有好的法律才有好的秩序。——亚里士多德 9、上帝把法律和公平凑合在一起,可是人类却把它拆开。——查·科尔顿 10、一切法律都是无用的,因为好人用不着它们,而坏人又不会因为它们而变得规矩起来。——自己知道紧在哪里。——西班牙
37、我们唯一不会改正的缺点是软弱。——拉罗什福科
xiexie! 38、我这个人走得很慢,但是我从不后退。——亚伯拉罕·林肯
39、勿问成功的秘诀为何,且尽全力做你应该做的事吧。——美华纳
40、学而不思则罔,思而不学则殆。——孔子