一、布谷鸟算法优化LSTM预测

1 布谷鸟搜索算法
布谷鸟算法是一种新型的群智能搜索算法,布谷鸟算法具有参数数目少、鲁棒性强、通用性好和全局寻优能力突出等多方面综合优势。布谷鸟算法以寻得全局最优鸟窝为目标,采用如式(3)所示的方法进行鸟窝位置更新:

从位置更新式(3)可以发现,布谷鸟鸟窝位置更新受到搜索步长α影响,如对搜索步长α进行有效扰动,可以对CS的前后期搜索能力进行强化和调整。本文采用引入步长扰动因子的方式进行步长扰动,步长扰动因子公式如式(4)所示,步长扰动因子可以对步长进行动态扰动,使算法搜索前期的步长较大,从而扩大搜索范围,避免陷入局部最优。后期步长较小,则可增加算法的局部探索能力,更精准的获得最优值。

式中:m表示步长扰动因子,T为设置的最大迭代次数,t为当前迭代次数。增加步长扰动后的CS的鸟窝路径及位置更新式(3)此时为:

2 LSTM
LSTM在RNN的框架基础通过增加遗忘、输入和输出3个门限,很好的解决了RNN的长期依赖问题,避免了梯度消失或梯度爆炸。LSTM的结构如图1所示。

图1 LSTM模块内部结构
LSTM的各门的计算过程如下:

式(6)~(10)中,W表示各类输入循环权重,b表示偏置项;it为遗忘门,ft为输入门,ot为输出门,ct为记忆单元的向量值,σ表示范围在(0,1)之间的sigmoid函数。

LSTM 的回归拟合能力受到其网络中关键参数(如时间窗宽和隐藏层神经元数目等)影响,靠经验调参存在一定的局限,所以采用智能算法优化LSTM参数受到研究人员的重视。文献[10]和[19]分别LSTM预测模型对股票和变压器油中溶解气体浓度预测进行预测,并分别采用遗传算法(GA)和粒子群算法(PSO)优化模型的关键参数。本文探索采用1.2节所述的ICS来优化LSTM风速预测模型的关键参数。

4 CS优化LSTM过程
采取CS对LSTM的关键参数进行寻优,流程如下:

  1. 种群初始化。设置最大迭代次数T、鸟窝数量和概率参数pa。
  2. 随机化鸟窝位置。以回归均方根误差最小为适应度函数,计算随机鸟窝位置的适应度,得到目前最优鸟窝位置x0b。
  3. 鸟窝位置更新。依据步长扰动后的鸟窝更新公式(5)更新鸟窝的位置,并计算更新后新一代最优鸟窝。随机产生r∈[0,1],并将r与鸟窝主人可发现外来鸟蛋的概率pa比较,如果r<pa,则鸟窝位置不发生变化,反之则鸟窝位置再次随机变化,
  4. 计算新鸟窝的适应度值并更新确定全局最优鸟窝。
  5. 判断算法是否结束。结束则输出最优时间窗宽TS和隐藏层神经元数目Nn神经元数目;否则回到3)继续搜寻。

二、部分源代码

clear
close all
%% 数据读取
geshu=200;%训练集的个数
%读取数据
shuru=xlsread(‘数据的输入.xlsx’);
shuchu=xlsread(‘数据的输出.xlsx’);
nn = randperm(size(shuru,1));%随机排序
% nn=1:size(shuru,1);%正常排序
input_train =shuru(nn(1:geshu)

【LSTM回归预测】基于matlab布谷鸟算法优化LSTM回归预测【含Matlab源码 2037期】相关推荐

  1. 【MVO TSP】基于matlab灰狼算法求解旅行商问题【含Matlab源码 1327期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[TSP]基于matlab灰狼算法求解旅行商问题[含Matlab源码 1327期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  2. 【BA TSP】基于matlab蜜蜂算法求解旅行商问题【含matlab源码 1248期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[TSP]基于matlab蜜蜂算法求解旅行商问题[含matlab源码 1248期] 获取代码方式2: 付费专栏Matlab路径规划(初级版 ...

  3. 【IA TSP】基于matlab免疫算法求解旅行商问题【含Matlab源码 195期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[旅行商问题]基于matlab免疫算法求解旅行商问题[含Matlab源码 195期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...

  4. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  5. 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  6. 【Matlab图像加密】正交拉丁方置乱算法图像加解密【含GUI源码 182期】

    一.代码运行视频(哔哩哔哩) [Matlab图像加密]正交拉丁方置乱算法图像加解密[含GUI源码 182期] 二.matlab版本及参考文献 一.代码运行视频(哔哩哔哩) [Matlab图像处理]自动 ...

  7. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  8. 【Matlab指纹识别】指纹识别门禁系统【含GUI源码 1692期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别门禁系统[含GUI源码 1692期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继 ...

  9. 【Matlab指纹识别】指纹识别匹配门禁系统【含GUI源码 587期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别匹配门禁系统[含GUI源码 587期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

最新文章

  1. JScript Array对象的几个原型方法
  2. 天线3db波束宽度_天线的主瓣波束宽度越窄天线增益越高.PPT
  3. 谷歌参展攻略!AI皮影戏、3D作画、与AI共舞...嗨翻魔都(附视频)
  4. [转]linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符)
  5. 超级详细AST抽象语法树Javascript
  6. set()与get()详细解答(C#)
  7. 正则表达式的非捕获性分组
  8. 运动检测(前景检测)之(一)ViBe
  9. OpenCV学习笔记:反色显示图片、鼠标事件、键盘事件和窗口滑动条操作
  10. linux刷新profile文件,Linux下修改.bash_profile 文件改变PATH变量的值
  11. 微信公众号开发 ----微信获取access_token(2)
  12. 怎么样快速修改HOSTS文件?让火绒等小工具来帮忙
  13. 西门子atch指令详解_西门子PLC指令集.PDF
  14. 卷积神经网络基础知识
  15. 操作系统测试题(第1,2单元)
  16. 南京应用计算机学校排名,南京软件工程专业比较好的17所大学推荐
  17. 校招生入职半年多后担任社招面试官的体验
  18. OpenStack实践(十一):Instance Live Migrate and Evacuate
  19. Unity一键发包工具
  20. SInC的下载及使用

热门文章

  1. k8s学习-持久化存储(Volumes、hostPath、emptyDir、PV、PVC)详解与实战
  2. 我是一个线程 【转】
  3. mysql五日均线_mysql – 如何在SQL中的某个日期范围内执行移动平均线?
  4. FUTEX_SWAP补丁分析-SwitchTo 如何大幅度提升切换性能?
  5. 记录一次服务器被入侵(恶意挖矿)的问题
  6. 重读数据结构之爬楼梯问题(动态规划)
  7. PLY文件读取与显示
  8. 【stm32f429igt6】的WiFi模块数据收发。
  9. python的构造函数的作用,python 构造函数作用
  10. 编写程序实现通过有道或百度翻译url对用户输入数据进行翻译_8亿用户AI有道,超强神经网络翻译技术大解密...