遗传算法GA优化BPNN
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相关推荐
- matlab 遗传算法GA优化汽车四分之一车体主动悬架PID
1.内容简介 略 565-可以交流.咨询.答疑 2.内容说明 略 3.仿真分析 clear clc close all warning('off') load x1.mat x = x1; kp1 = ...
- 遗传算法(GA/NSGA)优化神经网络 GA-BP
查了网上一些论文和代码,自己写了两个版本的GA-BP优化代码(实际应该为EGA-BP),从简到繁,从易到难.该文章代码基于Python3 pytorch进行编写. 版本说明:Part 1 为 利用 G ...
- 【优化算法】遗传算法GA求解混合流水车间调度问题(附C++代码)
[优化算法]遗传算法GA求解混合流水车间调度问题(附C++代码) 00 前言 各位读者大家好,好久没有介绍算法的推文了,感觉愧对了读者们热爱学习的心灵.于是,今天我们带来了一个神奇的优化算法--遗传算 ...
- c遗传算法的终止条件一般_Matlab2 :Matlab遗传算法(GA)优4~-r-具箱是基于基本操作 联合开发网 - pudn.com...
Matlab2 所属分类:matlab例程 开发工具:PDF 文件大小:115KB 下载次数:76 上传日期:2007-09-07 20:04:29 上 传 者:钱广 说明: :Matlab遗传算法 ...
- 用遗传算法GA改进CloudSim自带的资源调度策略
首先理解云计算里,资源调度的含义: 看了很多云计算资源调度和任务调度方面的论文,发现很多情况下这两者的意义是相同的,不知道这两者是同一件事的不同表述还是我没分清吧,任务调度或者资源调度大概就是讲这样一 ...
- 遗传算法之优化BP神经网络
GA算法优化BP神经网络(matlab) 这里我首先要介绍一下BP神经网络的一些特点,因为在以下的编程中,我将把这些特点运用在其中,防止大家不知道为什么这样做. 1.bp神经网络的层数一般3层效果较好 ...
- python遗传算法有多慢_python遗传算法的优化过程是什么?
对于题目中的算法,相信大家最喜欢,或者最常见的就是在优化领域吧,小编就看到很多大神,利用python的算法去做一些项目的优化,而大家在足够了解这个算法以后,也需要去完成这个算法的优化,这样才是真正可以 ...
- 论文学习——基于混合GA优化LSTM的中小流域流量预测研究
文章目录 1 摘要 2 结语(conclusion) 3 引言 4 基于LSTM的流量预测模型 4.1 LSTM神经网络浅介绍 4.2 数据选择与处理 5 SVM + BP + LSTM 三种单预测模 ...
- GA遗传算法c语言,遗传算法GA(Genetic Algorithm)入门知识梳理
一.遗传算法进化论背景知识 作为遗传算法生物背景的介绍,下面内容了解即可: 种群(Population):生物的进化以群体的形式进行,这样的一个群体称为种群. 个体:组成种群的单个生物. 基因 ( G ...
- MATLAB遗传算法GA求解TSP旅行商问题,可选PMX交叉、OX交叉及其它多种交叉方式,在算法中引入2-opt变异算子
MATLAB遗传算法GA求解TSP旅行商问题,可选PMX交叉.OX交叉及其它多种交叉方式,在算法中引入2-opt变异算子.进化逆转算子提高算法局部搜索能力,利用国际通用的TSPLIB数据集中的eil5 ...
最新文章
- 面向对象中类和类的关系
- readline 移植 注意事项
- UEFI引导的系统下装双系统解决方案
- iOS 因为reason: 'Pushing the same view controller instance more than once is not supported而奔溃(下)...
- oracle19c安装[ins-35180]无法检查可用内存
- php正则表达式经典实例,php半小时精通正则表达式
- sysstat linux系统性能分析
- SAP License:如何学好SAP BASIS
- JS实现 EventBus
- switch case异常处理机制
- VSCode Python解决 No module named 问题
- LIO-SAM探秘第二章之安装编译与参数配置
- sqlmap的安装与使用
- 计算机竞赛acm试题,ACM-ICPC 2018 总决赛赛题
- Redis源码之——跳表skiplist原理和源码调试
- Keras深度学习实战(7)——卷积神经网络详解与实现
- Elasticsearch创建索引别名
- 软件测试员比软件开发员要求低些吗?
- 校园实践-校园二手交易项目组-墨刀原型
- 边缘计算 | 在移动设备上部署深度学习模型的思路与注意点