%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  导入数据
P_train = xlsread('data','training set','B2:G191')';
T_train= xlsread('data','training set','H2:H191')';
% 测试集——44个样本
P_test=xlsread('data','test set','B2:G45')';
T_test=xlsread('data','test set','H2:H45')';

%%  划分训练集和测试集
M = size(P_train, 2);
N = size(P_test, 2);

%%  数据归一化
[p_train, ps_input] = mapminmax(P_train,0,1);
p_test = mapminmax('apply',P_test,ps_input);

[t_train, ps_output] = mapminmax(T_train,0,1);
t_test = mapminmax('apply',T_test,ps_output);

%% 节点个数
inputnum  = size(p_train, 1); % 输入层节点数
hiddennum = 15;                % 隐藏层节点数
outputnum = size(t_train, 1); % 输出层节点数

%% 构建网络
net = newff(p_train, t_train, hiddennum);

%% 设置训练参数
net.trainParam.epochs     = 50;      % 训练次数
net.trainParam.goal       = 1e-4;     % 目标误差
net.trainParam.lr         = 0.01;     % 学习率
net.trainParam.showWindow = 0;        % 关闭窗口

%%  麻雀参数设置
fun = @getObjValue;                                 % 目标函数
dim = inputnum * hiddennum + hiddennum * outputnum + ...
    hiddennum + outputnum;                          % 优化参数个数
lb  = -1 * ones(1, dim);                            % 优化参数目标下限
ub  =  1 * ones(1, dim);                            % 优化参数目标上限
pop = 30;                                            % 麻雀数量
Max_iteration = 50;                                 % 最大迭代次数

%% 优化算法
[Best_score,Best_pos,curve] = NGO(pop, Max_iteration, lb, ub, dim, fun);

%% 把最优初始阀值权值赋予网络预测
w1 = Best_pos(1 : inputnum * hiddennum);
B1 = Best_pos(inputnum * hiddennum + 1 : inputnum * hiddennum + hiddennum);
w2 = Best_pos(inputnum * hiddennum + hiddennum + 1 : inputnum * hiddennum + hiddennum + hiddennum*outputnum);
B2 = Best_pos(inputnum * hiddennum + hiddennum + hiddennum * outputnum + 1 : ...
    inputnum * hiddennum + hiddennum + hiddennum * outputnum + outputnum);

关注:智能算法及其模型预测

获取代码

北方苍鹰算法(NGO)优化的BP神经网络预测,NGO-BP回归预测相关推荐

  1. 提高bp神经网络预测精度,bp神经网络收敛速度慢

    1.如何提高bp神经网络的预测精度啊 跟你的预测对象有很大关系. 1. 根据你的预测对象的特性选取合适的输入层.输出层和隐层神经元数目. 2. 选择合适的神经网络训练函数. 3. 保证足够的训练样本数 ...

  2. 提高bp神经网络预测精度,bp神经网络数据预处理

    bp神经网络对输入数据和输出数据有什么要求 p神经网络的输入数据越多越好,输出数据需要反映网络的联想记忆和预测能力.BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数 ...

  3. BP神经网络预测回归-BP多输入多输出预测-Matlab

    一.前言 之前发布了BP神经网络多数入单输出预测,那个代码不能直接用于多输出.今天搞一下BP的多输入多输出预测,随意设置多少个输出都行.话不多说,上才艺! 二.结果展示 (1)根据经验公式,通过输入输 ...

  4. ACO蚁群算法优化BP神经网络(ACO-BPNN)回归预测MATLAB代码(有优化前后的对比)

    ACO蚁群算法优化BP神经网络(ACO-BPNN)回归预测MATLAB代码(有优化前后的对比) 代码注释清楚. main为运行主程序,可以读取本地EXCEL数据. 很方便,容易上手. (以电厂运行数据 ...

  5. PSO粒子群算法优化BP神经网络(PSO-BPNN)回归预测MATLAB代码

    PSO粒子群算法优化BP神经网络(PSO-BPNN)回归预测MATLAB代码(有优化前后的对比) 代码注释清楚. main为运行主程序,可以读取本地EXCEL数据,也可以加载本地数据.mat,使用换自 ...

  6. 优化算法 | 基于粒子群优化算法的Bp神经网络预测21~22赛季NBA总冠军(附MATLAB代码)

    文章目录 前言 一.数据准备 二.基于PSO的Bp神经网络预测 1.粒子表达方式 2.目标函数 3.粒子速度和位置的更新 三.MATLAB代码 四.预测结果 五.代码获取方式 总结 近期你可能错过了的 ...

  7. 【优化预测】粒子群算法优化BP神经网络预测温度matlab源码

    一.粒子群算法及RBF简介 1 粒子群算法简介 1.1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模 ...

  8. SSA麻雀算法优化BP神经网络(SSA-BPNN)回归预测MATLAB代码(有优化前后的对比

    SSA麻雀算法优化BP神经网络(SSA-BPNN)回归预测MATLAB代码(有优化前后的对比) 代码注释清楚. main为运行主程序,可以读取本地EXCEL数据. 很方便,容易上手. (以电厂运行数据 ...

  9. 【群智能算法】一种改进的北方苍鹰优化算法 改进北方苍鹰算法INGO[1]【Matlab代码#1】

    文章目录 [`获取资源`请见文章第5节:资源获取] 1. 基础北方苍鹰优化算法 1.1 猎物识别阶段(勘探阶段) 1.2 追击和逃逸阶段(开发阶段) 2. 改进的北方苍鹰优化算法 2.1 立方混沌Cu ...

  10. python实现bp神经网络预测,神经网络算法预测彩票

    神经网络预测双色球有多靠谱 你好,这东西没人会预测.如果真会预测,早就成为百万富翁了.预测这东西我早就不信了,上一回在网站上,看别人预测,结果买了,连一个号码都没对上.楼主真要买,就权当是献爱心吧. ...

最新文章

  1. spring中@value注解需要注意
  2. Flask-RESTful之响应处理
  3. mac系统下,解决git clone速度慢导至失败的问题
  4. 安全访问服务边缘(SASE)是什么?
  5. leetcode 454. 四数相加 II c语言
  6. ActiveX(二)
  7. (71)APC队列,KAPC结构,分析 TerminateThread ,QueueUserApc
  8. 快速了解Druid -- 实时大数据分析软件
  9. Linux跨平台远程控制
  10. java中iterator_如何在Java中读取CSV文件-Iterator和Decorator的案例研究
  11. 查看oracle当前的连接数
  12. opencv入门_【OpenCV入门之十八】通过形态学操作提取水平与垂直线
  13. 【NeurIPS 2019】17篇论文,详解图的机器学习趋势
  14. 决战移动互联网 诺基亚开始迷失
  15. 统计调查制度申请流程和申请书公文模板
  16. EPA PMF正定因子分解模型程序破解
  17. 在部队当程序员是什么体验?
  18. 【肝帝一周总结:全网最全最细】☀️Mysql 索引数据结构详解与索引优化☀️《❤️记得收藏❤️》
  19. win10系统的定位服务器,系统大神教你Win10笔记本电脑定位跟踪功能技巧
  20. Linux系统DNS详解(BIND)

热门文章

  1. idea 关联jdk源码_idea搭建阅读jdk源码教程(详细版)
  2. 小企业如何挑选在线客服系统
  3. android 平方符号,android – 如何通过货币名称获取货币符号?
  4. 2020哔哩哔哩bilibili安全挑战赛前5题思路
  5. CentOS 7 安装 net-tools(解决无 ifconfig)
  6. Docker 系列之 DockerDesktop 初步安装
  7. 配置虚拟机桥接网络的步骤
  8. phpQuery的使用
  9. js判断是否是数字简单方法
  10. Python之禅源码