当前位置:首页 » 《随便一记》 » 正文

回归预测 | Matlab实现DE-BP差分算法优化BP神经网络多变量回归预测

19 人参与  2024年02月19日 13:01  分类 : 《随便一记》  评论

点击全文阅读


回归预测 | Matlab实现DE-BP差分算法优化BP神经网络多变量回归预测

目录

回归预测 | Matlab实现DE-BP差分算法优化BP神经网络多变量回归预测效果一览基本介绍程序设计参考资料

效果一览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本介绍

1.Matlab实现DE-BP差分算法优化BP神经网络多变量回归预测(完整源码和数据)
2.运行环境为Matlab2018b;
3.excel数据集,输入多个特征,输出单个变量,多变量回归预测预测,DE_BP.m为主程序,运行即可,所有文件放在一个文件夹;
4.输出优化前后对比图,误差对比图;
代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

程序设计

完整源码和数据获取方式(资源处下载):Matlab实现DE-BP差分算法优化BP神经网络多变量回归预测。
%%  清空环境变量%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);%构建网络net=newff(inputn,outputn,hiddennum);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%优化前的BPnet.trainParam.epochs=100;net.trainParam.lr=0.1;net.trainParam.goal=0.00001;[net,~]=train(net,inputn,outputn);inputn_test=mapminmax('apply',input_test,inputps);an=sim(net,inputn_test);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 利用差分进化算法选择最佳的BP参数D=inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum;%变量个数%变量的维数NP=5;                                %个体数目                               G=30;                                %最大进化代数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Xs=1*ones(D,1);                                 %上限Xx=-1*ones(D,1);                                %下限%%%%%%%%%%%%%%%%%%%%%%%%%赋初值%%%%%%%%%%%%%%%%%%%%%%%%   xx=zeros(D,NP);                        %初始种群v=zeros(D,NP);                        %变异种群u=zeros(D,NP);                        %选择种群xchu=rand(D,NP);for i=1:NPxx(:,i)=xchu(:,i).*(Xs-Xx)+Xx;              %赋初始种群初值end%%%%%%%%%%%%%%%%%%%%计算目标函数%%%%%%%%%%%%%%%%%%%%%%%trace(1)=min(Ob);gbest=100;%%%%%%%%%%%%%%%%%%%%%%%差分进化循环%%%%%%%%%%%%%%%%%%%%%for gen=1:G    %%%%%%%%%%%%%%%%%%%%%%变异操作%%%%%%%%%%%%%%%%%%%%%%    %%%%%%%%%%%%%%%%%%r1,r2,r3和m互不相同%%%%%%%%%%%%%%%    for m=1:NP        r1=randi([1,NP],1,1);        while (r1==m)            r1=randi([1,NP],1,1);        end        r2=randi([1,NP],1,1);        while (r2==m)||(r2==r1)            r2=randi([1,NP],1,1);        end        r3=randi([1,NP],1,1);        while (r3==m)||(r3==r1)||(r3==r2)            r3=randi([1,NP],1,1);        end        v(:,m)=xx(:,r1)+F*(xx(:,r2)-xx(:,r3));    end    %%%%%%%%%%%%%%%%%%%%%%交叉操作%%%%%%%%%%%%%%%%%%%%%%%    r=randi([1,D],1,1);    for n=1:D        cr=rand(1);        if (cr<=CR)||(n==r)            u(n,:)=v(n,:);        else            u(n,:)=xx(n,:);        end    end    %%%%%%%%%%%%%%%%%%%边界条件的处理%%%%%%%%%%%%%%%%%%%%    %%%%%%%%%%%%%%%%%%%%边界吸收%%%%%%%%%%%%%%%%%%%%%%%%%    for n=1:D        for m=1:NP            if u(n,m)<Xx(n)                u(n,m)=Xx(n);            end            if u(n,m)>Xs(n)                u(n,m)=Xs(n);            end        end    end    %%%%%%%%%%%%%%%%%%%%%%选择操作%%%%%%%%%%%%%%%%%%%%%%%    for m=1:NP        Ob1(m)=fitness(u(:,m));    end    for m=1:NP        if Ob1(m)<Ob(m)            xx(:,m)=u(:,m);        end    end    for m=1:NP        Ob(m)=fitness(xx(:,m));    end    fbest=min(Ob);    if(fbest<gbest)                gbest=fbest;        histor(gen)=fbest;    else        histor(gen)=gbest;    endend

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129215161
[2] https://blog.csdn.net/kjm13182345320/article/details/128105718


点击全文阅读


本文链接:http://www.zhangshiyu.com/post/69057.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 完结文我在恐怖游戏开裁缝铺列表_完结文我在恐怖游戏开裁缝铺(林慕秋)
  • 全书免费谢清禾姜博诚_谢清禾姜博诚全书免费
  • 离婚后我收获真爱,前妻却快死了(秦落音陆轩),离婚后我收获真爱,前妻却快死了
  • 老公把上亿豪宅送养妹后,我把人和房都拆了(顾思思顾言洲)全书免费_(顾思思顾言洲)老公把上亿豪宅送养妹后,我把人和房都拆了后续(顾思思顾言洲)
  • 沈星悦傅时安_沈星悦傅时安
  • 离婚后,居然还能以旧换新?(陈汉李淼淼李思)全书浏览_离婚后,居然还能以旧换新?全书浏览
  • 完结文给女团主播狂刷百万反被骂穷逼,我反手送她队友出道列表_完结文给女团主播狂刷百万反被骂穷逼,我反手送她队友出道(秦薇)
  • 全书浏览老公将我第十个孩子送给情人后,我果断改嫁他绝嗣干爹(苏云遮盛炽)_老公将我第十个孩子送给情人后,我果断改嫁他绝嗣干爹(苏云遮盛炽)全书结局
  • 全文无边怨恨是她活下来的最大动力(江寒静顾榕赫)列表_全文无边怨恨是她活下来的最大动力
  • 全文爸爸死后,消失二十年的妈妈带着儿子回来跟我争家产(顾霆锋顾青卿)列表_全文爸爸死后,消失二十年的妈妈带着儿子回来跟我争家产
  • 霍晚清赵旭然_霍晚清赵旭然
  • 弟弟看的破茧时光沉淀后的深情相拥林悦苏然全书在线

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1