您现在的位置:首页 >> 机器学习 >> 内容

m基于改进遗传算法优化的双bp神经网络时间序列预测matlab仿真

时间:2023/1/3 22:47:30 点击:

  核心提示:05_037_m,包括程序操作录像+说明文档+参考文献...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y52clJ5p

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览




3.算法概述

        利用遗传算法来优化 BP 神经网络,利用它来学习神经网络 的权值,并在自适应遗传算法的基础上改进遗传算 子,根据适应度变化调节交叉率和变异率,并利用遗 传算法的全局搜索能力对BP 神经网络的初始权重进 行自适应调整,最终得到一个优化的 BP 神经网络.

4.部分源码

LEN = 10;

%样本的划分

for i = 1:length(C)-LEN

    Price1(:,i) = C(i:i+LEN-1);

    Price2(i)   = C(i+LEN);

end

 

%训练样本

L1 = floor(0.6*length(Price2));

for i = 1:L1

    train_data(:,i) = Price1(:,i); 

    train_aim(i)    = Price2(i);

end

 

%测试样本

L2 = length(Price2) - L1;

for i = 1:L2

    test_data(:,i) = Price1(:,i+L1); 

    test_aim(i)    = Price2(i+L1);

end

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%如下的是改进BP网络算法

%定义神经网络的各个层的个数

Num_In     = LEN;

Num_Hidden = 60;

Num_Out    = 1;

%构建BP网络

net        = newff(train_data,train_aim,Num_Hidden);

 

ERR1 = [];

ERR2 = [];

ERR3 = [];

for j = 1:5

    j

    %通过改进遗传算法优化BP参数

    net        = func_newGA(net,Num_In,Num_Hidden,Num_Out,train_data,train_aim);

    %网络训练

    net.trainParam.showWindow = 0;

    net        = train(net,train_data,train_aim);

    outputs    = sim(net,test_data);

    d1         = test_aim*(Maxs-Mins) + Mins;

    d2         = outputs*(Maxs-Mins) + Mins;

    ERR1       = [ERR1,mean(abs(d1-d2)./d2) ];

    ERR2       = [ERR2,mean((abs(d1-d2)./d2).^2) ];

    ERR3   = [ERR3,std((abs(d1-d2)./d2).^2) ];

end

05_037_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168