遗传算法优化的BP神经网络建模.pdfVIP

  • 19
  • 0
  • 约1.65万字
  • 约 14页
  • 2020-09-13 发布于天津
  • 举报
遗传算法优化的 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、 分析预测数据与期望数据之间的误差。 算法流程图如下: 精选文库 运行后使用遗传算法改进前后误差的对比图: -- 2 精选文库 程序: 1、未经遗传算法优化的 BP神经网络建模 clear; clc; %%%%%%%%%%%%%输入参数 %%%%%%%%%%%%%% N=2000; %数据总个数 M=1500; %训练数据 %%%%%%%%%%%%%训练数据 %%%%%%%%%%%%%% for i=1:N input(i,1)=-5+rand*10; input(i,2)=-5+rand*10; end output=input(:,1).^2+input(:,2).^2; save data input output load data.m

文档评论(0)

1亿VIP精品文档

相关文档