基于头脑风暴优化的BP神经网络(预测应用) - 附代码

文章目录

  • 基于头脑风暴优化的BP神经网络(预测应用) - 附代码
    • 1.数据介绍
    • 3.BSO优化BP神经网络
      • 3.1 BP神经网络参数设置
      • 3.2 头脑风暴算法应用
    • 4.测试结果:
    • 5.Matlab代码

摘要:本文主要介绍如何用头脑风暴算法优化BP神经网络并应用于预测。

1.数据介绍

本案例数据一共2000组,其中1900组用于训练,100组用于测试。数据的输入为2维数据,预测的输出为1维数据

3.BSO优化BP神经网络

3.1 BP神经网络参数设置

神经网络参数如下:

%% 构造网络结构
%创建神经网络
inputnum = 2;     %inputnum  输入层节点数 2维特征
hiddennum = 10;     %hiddennum  隐含层节点数
outputnum = 1;     %outputnum  隐含层节点数

3.2 头脑风暴算法应用

头脑风暴算法具体原理请参照:https://blog.csdn.net/u011835903/article/details/108291102

头脑风暴算法的参数设置为:

popsize = 20;%种群数量
Max_iteration = 20;%最大迭代次数
lb = -5;%权值阈值下边界
ub = 5;%权值阈值上边界
%  inputnum * hiddennum + hiddennum*outputnum 为阈值的个数
%  hiddennum + outputnum 为权值的个数
dim =  inputnum * hiddennum + hiddennum*outputnum + hiddennum + outputnum ;%  inputnum * hiddennum + hiddennum*outputnum维度

这里需要注意的是,神经网络的阈值数量计算方式如下:

本网络有2层:

第一层的阈值数量为:2*10 = 20; 即inputnum * hiddennum;

第一层的权值数量为:10;即hiddennum;

第二层的阈值数量为:10*1 = 10;即hiddenum * outputnum;

第二层权值数量为:1;即outputnum;

于是可知我们优化的维度为:inputnum * hiddennum + hiddennum*outputnum + hiddennum + outputnum = 41;

适应度函数值设定:

本文设置适应度函数如下:
fitness=argmin(mse(TrainDataError)+mes(TestDataError))fitness = argmin(mse(TrainDataError) + mes(TestDataError)) fitness=argmin(mse(TrainDataError)+mes(TestDataError))
其中TrainDataError,TestDataError分别为训练集和测试集的预测误差。mse为求取均方误差函数,适应度函数表明我们最终想得到的网络是在测试集和训练集上均可以得到较好结果的网络。

4.测试结果:

从头脑风暴算法的收敛曲线可以看到,整体误差是不断下降的,说明头脑风暴算法起到了优化的作用:

图1 头脑风暴算法收敛曲线和误差图

5.Matlab代码

基于头脑风暴优化的BP神经网络(预测应用) - 附代码相关推荐

  1. 基于人工蜂群优化的BP神经网络(分类应用) - 附代码

    基于人工蜂群优化的BP神经网络(分类应用) - 附代码 文章目录 基于人工蜂群优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.人工蜂群优化BP神经网络 3. ...

  2. 基于哈里斯鹰优化的BP神经网络(分类应用) - 附代码

    基于哈里斯鹰优化的BP神经网络(分类应用) - 附代码 文章目录 基于哈里斯鹰优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.哈里斯鹰优化BP神经网络 3. ...

  3. 基于粒子群优化的BP神经网络(分类应用) - 附代码

    基于粒子群优化的BP神经网络(分类应用) - 附代码 文章目录 基于粒子群优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.粒子群优化BP神经网络 3.1 B ...

  4. BP神经网络预测回归MATLAB代码(代码完整可直接用,注释详细,可供学习)

    BP神经网络预测回归MATLAB代码(代码完整可直接用,注释详细,可供学习) 一.前言 二.代码部分 2.1 初始化 2.2 读取数据 2.3 设置训练集和测试集 2.4 数据归一化 2.5 求解最佳 ...

  5. 【路径规划】基于头脑风暴优化算法求解带时间窗和同时取送货的车辆路径问题附matlab代码

    1 内容介绍 本文主要研究广州番禺配送中心的车辆路径规划问题,首先针对之前车辆运行中的先送货后取货模式,产生车辆运行路线的迂回,以及车辆在回程中的空载,路径规划不合理,送货时间长的问题,采用集成的观点 ...

  6. 【优化求解】基于头脑风暴优化算法BSO求解最优目标matlab源码

    1 简介 受人类创造性解决问题过程--头脑风暴会议的启发, 2011年史玉回老师 在第二次群体智能国际会议(The Second International Conference on Swarm I ...

  7. 基于头脑风暴优化的多目标优化计算

    1.问题描述: 头脑风暴优化算法是一种模拟人脑思维活动和头脑风暴会议所提出的新群智能优化算法,实验结果表明了其在单目标优化问题中的可行性和有效性.对于目前越来越受到人们关注的多目标优化问题,本毕业设计 ...

  8. dijkstra算法matlab代码_头脑风暴优化(BSO)算法(附MATLAB代码)

    BSO讲解https://www.zhihu.com/video/1252605855767736320 B站搜索:随心390,同步观看视频 各位小伙伴可在闲鱼搜索 优化算法交流地,即可搜索到官方闲鱼 ...

  9. 【预测模型】基于BP神经网络预测价格matlab代码

    1 简介 BP神经网络模型是目前应用最为广泛神经网络之一.它的本质是通过对历史数据的学习找出数据变化趋势之间的非线性关系,并通过输出量与预期值之间的误差不断调整网络中各个单元的权重,使整个网络的误差最 ...

最新文章

  1. mysql binlog 二进制_二进制日志-mysqlbinlog工具的使用
  2. Log4j的isdebugEnabled的作用
  3. webstorm基础使用总结
  4. nginx配置中proxy_redirect的作用(转)
  5. Servlet的运行方式
  6. python可视化案例书籍推荐_我用python5年后,我发现学python编程必看的三本书!...
  7. 常见脱壳与反编译工具
  8. 数学建模——什么是数学建模
  9. 软件测试用例编写方法
  10. 【GBT28181开发:SIP协议实践】之设备状态查询
  11. 阿里云Centos7安装mysql5.7
  12. 深入浅出matplotlib(101):研究最有名的滤波函数:sinc函数
  13. Turtle 模块基础详解-画直线
  14. 初学 Python 需要安装哪些软件?
  15. 用变量定义数组的几个方法
  16. python 移动平均函数_「EMA系列之I」如何理解EMA指数移动平均值以及Python实现
  17. c语言中i++与++i的区别
  18. GIT修改账号密码重新登录和保存密码
  19. matlab norm函数使用_matlab中norm函数的用法
  20. AUGUSTUS安装 基因训练、预测软件

热门文章

  1. 浅谈一下如何避免用户多次点击造成的多次请求
  2. 文档图纸加密该如何做
  3. 灰色关联分析中关联系数、关联度如何计算?
  4. css的font-family的中英文对照
  5. 从表单中提交图片到mysql_如何在Python框架Flas中将图像文件从表单上传到数据库...
  6. 查看建筑施工图纸有什么技巧?怎么查看建筑CAD图纸?
  7. 全球与中国液体壁纸行业需求趋势及投资策略分析报告2022-2028年
  8. 数据结构:树状数组:姐来展示下什么叫高端前缀和
  9. 【目标定位】基于卡尔曼滤波实现UWB-IMU组合定位导航matlab代码
  10. 【Unity2019】利用Vuforia在安卓平台调用UVC相机