x_train = x(1:100,:);
y_train = y(1:100,:);
x_test = x(101:end,:);
y_test = y(101:end,:);

%数据归一化
[train_input,inputps] = mapminmax(x_train');
[train_output,outputps] = mapminmax(y_train');

%节点设置
inputnum = size(x,2);
hiddennum = 6;
outputnum = 1;

%初始化
length = inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum; %优化参数个数
bounds = ones(length,1)*[-1,1];                                      %参数取值范围[-1,1]
sizepop = 20;
param = rand(sizepop,length);

net = newff(train_input,train_output,hiddennum);
for i = 1:sizepop
    fit(i,:) = func(param(i,:),inputnum,hiddennum,outputnum,net,train_input,train_output);
end
initPop = [param,fit];

%GA寻优
bestparam = ga(bounds,'gaEval',[],initPop);
bestparam = bestparam(1:length);               %最后一个数值为适应度

%建立模型并预测
w1 = bestparam(1:inputnum*hiddennum);
b1 = bestparam(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);
w2 = bestparam(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);
b2 = bestparam(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);

net.iw{1,1} = reshape(w1,hiddennum,inputnum);
net.lw{2,1} = reshape(w2,outputnum,hiddennum);
net.b{1} = reshape(b1,hiddennum,1);
net.b{2} = b2;

net.trainParam.epochs = 100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00001;

net = train(net,train_input,train_output);
input_test = mapminmax('apply',x_test',inputps);
predict_test = sim(net,input_test);
predict_test = mapminmax('reverse',predict_test,outputps);
RD = (predict_test-y_test')./y_test';
disp('相对偏差如下:')
disp(RD)
RMSE = sqrt(sum((predict_test-y_test').^2)/7);
disp(['RMSE = ',num2str(RMSE)])

%结果可视化
figure(1)
plot(predict_test,'-b')
hold on
plot(y_test,'--r')
legend('预测输出','期望输出')

遗传算法GA优化BPNN相关推荐

  1. matlab 遗传算法GA优化汽车四分之一车体主动悬架PID

    1.内容简介 略 565-可以交流.咨询.答疑 2.内容说明 略 3.仿真分析 clear clc close all warning('off') load x1.mat x = x1; kp1 = ...

  2. 遗传算法(GA/NSGA)优化神经网络 GA-BP

    查了网上一些论文和代码,自己写了两个版本的GA-BP优化代码(实际应该为EGA-BP),从简到繁,从易到难.该文章代码基于Python3 pytorch进行编写. 版本说明:Part 1 为 利用 G ...

  3. 【优化算法】遗传算法GA求解混合流水车间调度问题(附C++代码)

    [优化算法]遗传算法GA求解混合流水车间调度问题(附C++代码) 00 前言 各位读者大家好,好久没有介绍算法的推文了,感觉愧对了读者们热爱学习的心灵.于是,今天我们带来了一个神奇的优化算法--遗传算 ...

  4. c遗传算法的终止条件一般_Matlab2 :Matlab遗传算法(GA)优4~-r-具箱是基于基本操作 联合开发网 - pudn.com...

    Matlab2 所属分类:matlab例程 开发工具:PDF 文件大小:115KB 下载次数:76 上传日期:2007-09-07 20:04:29 上 传 者:钱广 说明:  :Matlab遗传算法 ...

  5. 用遗传算法GA改进CloudSim自带的资源调度策略

    首先理解云计算里,资源调度的含义: 看了很多云计算资源调度和任务调度方面的论文,发现很多情况下这两者的意义是相同的,不知道这两者是同一件事的不同表述还是我没分清吧,任务调度或者资源调度大概就是讲这样一 ...

  6. 遗传算法之优化BP神经网络

    GA算法优化BP神经网络(matlab) 这里我首先要介绍一下BP神经网络的一些特点,因为在以下的编程中,我将把这些特点运用在其中,防止大家不知道为什么这样做. 1.bp神经网络的层数一般3层效果较好 ...

  7. python遗传算法有多慢_python遗传算法的优化过程是什么?

    对于题目中的算法,相信大家最喜欢,或者最常见的就是在优化领域吧,小编就看到很多大神,利用python的算法去做一些项目的优化,而大家在足够了解这个算法以后,也需要去完成这个算法的优化,这样才是真正可以 ...

  8. 论文学习——基于混合GA优化LSTM的中小流域流量预测研究

    文章目录 1 摘要 2 结语(conclusion) 3 引言 4 基于LSTM的流量预测模型 4.1 LSTM神经网络浅介绍 4.2 数据选择与处理 5 SVM + BP + LSTM 三种单预测模 ...

  9. GA遗传算法c语言,遗传算法GA(Genetic Algorithm)入门知识梳理

    一.遗传算法进化论背景知识 作为遗传算法生物背景的介绍,下面内容了解即可: 种群(Population):生物的进化以群体的形式进行,这样的一个群体称为种群. 个体:组成种群的单个生物. 基因 ( G ...

  10. MATLAB遗传算法GA求解TSP旅行商问题,可选PMX交叉、OX交叉及其它多种交叉方式,在算法中引入2-opt变异算子

    MATLAB遗传算法GA求解TSP旅行商问题,可选PMX交叉.OX交叉及其它多种交叉方式,在算法中引入2-opt变异算子.进化逆转算子提高算法局部搜索能力,利用国际通用的TSPLIB数据集中的eil5 ...

最新文章

  1. 面向对象中类和类的关系
  2. readline 移植 注意事项
  3. UEFI引导的系统下装双系统解决方案
  4. iOS 因为reason: 'Pushing the same view controller instance more than once is not supported而奔溃(下)...
  5. oracle19c安装[ins-35180]无法检查可用内存
  6. php正则表达式经典实例,php半小时精通正则表达式
  7. sysstat linux系统性能分析
  8. SAP License:如何学好SAP BASIS
  9. JS实现 EventBus
  10. switch case异常处理机制
  11. VSCode Python解决 No module named 问题
  12. LIO-SAM探秘第二章之安装编译与参数配置
  13. sqlmap的安装与使用
  14. 计算机竞赛acm试题,ACM-ICPC 2018 总决赛赛题
  15. Redis源码之——跳表skiplist原理和源码调试
  16. Keras深度学习实战(7)——卷积神经网络详解与实现
  17. Elasticsearch创建索引别名
  18. 软件测试员比软件开发员要求低些吗?
  19. 校园实践-校园二手交易项目组-墨刀原型
  20. 边缘计算 | 在移动设备上部署深度学习模型的思路与注意点

热门文章

  1. YOLO系列梳理(九)初尝新鲜出炉的YOLOv6
  2. 基于matlab指纹识别算法的实现解析
  3. python实现指纹识别毕业论文_指纹识别算法实现本科毕业论文
  4. 软件开发全生命周期安全管理规范--模板
  5. 深度学习的深度和宽度的理解
  6. IP地址及其子网划分
  7. Linux查找大文件命令
  8. 绩效考核|绩效管理|绩效面谈|绩效述职|绩效汇报PPT模板
  9. NISP和CISP考试通过率怎样?
  10. 【渝粤教育】电大中专跨境电子商务理论与实务_1作业 题库