全球旧事资料 分类
遗传算法优化的BP神经网络建模
十一月匆匆过去,每天依然在忙碌着与文档相关的东西,在寒假前一个多月里,努力做好手头上的事的前提下多学习专业知识,依然是坚持学习与素质提高并重,依然是坚持锻炼身体,为明年找工作打下基础。遗传算法优化的BP神经网络建模借鉴别人的程序做出的仿真,最近才有时间整理。目标:对yx12x22非线性系统进行建模,用1500组数据对网络进行构建网络,500组数据测试网络。由于BP神经网络初始神经元之间的权值和阈值一般随机选择,因此容易陷入局部最小值。本方法使用遗传算法优化初始神经元之间的权值和阈值,并对比使用遗传算法前后的效果。步骤:未经遗传算法优化的BP神经网络建模1、随机生成2000组两维随机数x1x2,并计算对应的输出yx12x22,前1500组数据作为训练数据i
put_trai
,后500组数据作为测试数据i
put_test。并将数据存储在data中待遗传算法中使用相同的数据。2、数据预处理:归一化处理。3、构建BP神经网络的隐层数,次数,步长,目标。4、使用训练数据i
put_trai
训练BP神经网络
et。5、用测试数据i
put_test测试神经网络,并将预测的数据反归一化处理。6、分析预测数据与期望数据之间的误差。遗传算法优化的BP神经网络建模1、读取前面步骤中保存的数据data;2、对数据进行归一化处理;3、设置隐层数目;4、初始化进化次数,种群规模,交叉概率,变异概率5、对种群进行实数编码,并将预测数据与期望数据之间的误差作为适应度函数;6、循环进行选择、交叉、变异、计算适应度操作,直到达到进化次数,得到最优的初始权值和阈值;7、将得到最佳初始权值和阈值来构建BP神经网络;8、使用训练数据i
put_trai
训练BP神经网络
et9、用测试数据i
put_test测试神经网络,并将预测的数据反归一化处理;10、分析预测数据与期望数据之间的误差。
算法流程图如下:
f运行后使用遗传算法改进前后误差的对比图:
f程序:1、未经遗传算法优化的BP神经网络建模clearclc输入参数N2000M1500数据总个数训练数据
训练数据fori1Ni
puti15ra
d10i
puti25ra
d10e
doutputi
put12i
put22savedatai
putoutput
loaddatamat
从1到N随机排序kra
d1N
fm
sortk找出训练数据和预测数据i
put_trai
i
put
1Moutput_trai
output
1Mi
put_testi
put
M1Noutput_testoutput
M1N数据归一化i
put
i
putsmapmi
maxi
put_trai
output
outputsmapmi
maxoutput_trai
构建BP神r
好听全球资料 返回顶部