遗传算法优化的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