Halcom 发表于 2017-7-29 12:34:17

8-改进的GA算法优化的BP神经网络(GA_BP机场延误预测+带验证数据的GA_BP)

百度网盘链接:
8-改进的GA算法优化的BP神经网络(GA_BP机场延误预测+带验证数据的GA_BP)--MATLAB视频

参考链接:
遗传算法GA优化的BP神经网络
7-改进的GA算法优化的BP神经网络+寻找最优条件

具体链接在halcom.cn论坛,联系人QQ:3283892722
该论坛是一个学习交流平台,我会逐一的和大家分享学习。
欢迎大家录制视频,并提交给我,我来设置视频,你可在论坛进行打赏分享。
视频专用播放器:http://halcom.cn/forum.php?mod=viewthread&tid=258&extra=page%3D1

改进点:
(1)将第一次运行的种群结果保存,作为第二次运行的初始解;
(2)将样本分为70%训练样本,15%验证样本,15%的测试样本;
(3)将训练样本训练网络,用验证样本进行测试网络,测试均方根误差作为适应度值;
(4)增强GA算法个体多样性,GA选择算子进行全选;
(5)实例精讲机场延误预测+带验证数据的GA_BP
function error = fun3(x,inputnum,hiddennum,outputnum,net,inputn,outputn,inputn_verify,output_verify)
%该函数用来计算适应度值
% 输入:
% x          input   个体
% inputnum   input   输入层节点数
% outputnuminput   隐含层节点数
% net      input   网络
% inputn   input   训练输入数据
% outputn    input   训练输出数据
% inputn_verify   input   验证输入数据
% output_verify   input   验证输出数据
% 输出:
% error      output    个体适应度值=验证数据的预测误差

%提取
w1=x(1:inputnum*hiddennum);
B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);
w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);
B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);
% net=newff(inputn,outputn,hiddennum);

% 网络进化参数
% net.trainParam.epochs=50;
% net.trainParam.lr=0.01;
% net.trainParam.goal=0.0001;
% net.trainParam.show=100;
% net.trainParam.showWindow=0;
% net.trainParam.max_fail=20;

% 网络权值赋值
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}=reshape(B2,outputnum,1);
% 网络训练
net=train(net,inputn,outputn);
an=sim(net,inputn_verify);
error=sum(sum(abs(an-output_verify)));
% an=sim(net,inputn);
% error=sum(sum(abs(an-outputn)));






页: [1]
查看完整版本: 8-改进的GA算法优化的BP神经网络(GA_BP机场延误预测+带验证数据的GA_BP)