【WOA-LSTM】基于WOA优化 LSTM神经网络预测研究(Matlab代码实现)

简介: 【WOA-LSTM】基于WOA优化 LSTM神经网络预测研究(Matlab代码实现)

💥1 概述

1.1 鲸鱼优化算法

鲸鱼优化算法(Whale Optimization Algorithim,WOA)是近些年提出来的一种新型的群智能算法。原理简单,设置的参数相对较少,拥有很强的全局搜索能力。鲸鱼优化算法优化特定的问题时,类似鲸鱼捕食的行为。当猎物出现时,鲸鱼首先会选择潜入到猎物的下方,然后通过旋转的方式向上,对猎物进行攻击时则在其周围形成气泡呈螺旋状。鲸鱼捕食的过程主要分为3个过程,分别为环绕猎物、形成螺旋气泡攻击猎物和搜索过程。对此拟做研究阐释如下。

在捕食的过程中,猎物的位置即为最佳位置,鲸鱼则通过收缩环绕和螺旋来改变自身的位置。鲸鱼收缩环绕的过程如下:



1.2 LSTM预测模型

LSTM 神经网络首次提出于1997年,传统的RNN会出现梯度消失和梯度爆炸等问题,在 RNN的基础上改进的LSTM能够有效地避免这一类问题。LSTM的改进之处在于该网络在原先的基础上额外增加了记忆单元,此记忆单元能够记住过往信息并存储。另外,L.STM拥有不错的学习能力,能够很好地学习样本的潜在规律,所以能够出色地处理配电网可靠性评估这一类非线性的问题。LSTM单元结构如图2所示。


LSTM 关键参数的选取会影响影响配电网可靠性评估的精度,则需要对模型的参数进行正确选取。鲸鱼优化算法相比其他优化算法具有更加简单的原理,更少的参数,以及更强的全局搜索能力等优点,所以对于处理非线性的问题具有一定的优势,可用于对LSTM模型参数的选取。

📚2 运行结果

plt.figure(figsize=(5,5))
plt.plot(fitnessCurve)
plt.title('fitnessCurve')
plt.ylabel('values')
plt.xlabel('Number of iterations')
plt.show()


plt.plot(history.history['loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.show()


fig2 = plt.figure(figsize=(10, 4),dpi=200)
ax = plt.subplot(222)
plt.plot(M, 'b-', label='AQI')
plt.plot(trainPredictPlot, 'r', label='traindata')
plt.plot(testPredictPlot, 'k', label='prediction')
plt.ylabel('AQI', fontsize=10)
plt.xlabel('time', fontsize=10)
plt.legend()
plt.show()


plt.figure(figsize=(10, 4),dpi=200)
plt.plot(range(len(train),len(dataset)),N, label="Actual", color='r',linewidth=1)
plt.plot(testPredictPlot, color='b',label='Prediction',linewidth=1,linestyle="--")
plt.title('WOA-LSTM Prediction', size=10)
plt.ylabel('AQI',size=10)
plt.xlabel('time/day',size=10)
plt.legend()
plt.show()

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。



[1]苏鹏飞,徐松毅,于晓磊.基于WOA-LSTM的窄带通信网网络时延预测算法[J].河北工业科技,2022,39(01):9-15.


[2]刘立邦,杨颂,王志坚,贺欣欣,赵文磊,刘守军,杜文广,米杰.基于改进WOA-LSTM的焦炭质量预测[J].化工学报,2022,73(03):1291-1299.


[3]万俊杰,单鸿涛.基于WOA优化LSTM神经网络的配电网可靠性评估[J].智能计算机与应用,2021,11(10):107-112+117.


🌈4 Matlab代码实现

相关文章
|
9天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
28 0
|
3天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的智能零售柜商品识别系统matlab仿真,带GUI界面
MATLAB 2022a中展示了YOLOv2目标检测算法的仿真结果,包括多张检测图像。YOLOv2是实时检测算法,由卷积层和全连接层构成,输出张量包含边界框坐标和类别概率。损失函数由三部分组成。程序使用75%的数据进行训练,剩余25%作为测试集。通过ResNet-50预训练模型构建YOLOv2网络,并用SGDM优化器进行训练。训练完成后,保存模型为`model.mat`。
16 2
|
4天前
|
机器学习/深度学习 算法 数据可视化
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
11 0
|
6天前
|
机器学习/深度学习 算法 算法框架/工具
PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
12 0
|
7天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
18 5
|
7天前
|
机器学习/深度学习 测试技术 TensorFlow
PYTHON用RNN神经网络LSTM优化EMD经验模态分解交易策略分析股票价格MACD
PYTHON用RNN神经网络LSTM优化EMD经验模态分解交易策略分析股票价格MACD
12 1
|
8天前
|
机器学习/深度学习 数据可视化 网络架构
Matlab用深度学习循环神经网络RNN长短期记忆LSTM进行波形时间序列数据预测
Matlab用深度学习循环神经网络RNN长短期记忆LSTM进行波形时间序列数据预测
24 8
|
9天前
|
机器学习/深度学习 算法 Python
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
51 12
|
10天前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
25 1
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
10天前
|
机器学习/深度学习 算法 数据挖掘
基于PSO优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
该文档介绍了使用MATLAB2022A中PSO优化算法提升时间序列预测模型性能的过程。PSO优化前后对比显示了优化效果。算法基于CNN、LSTM和Attention机制构建CNN-LSTM-Attention模型,利用PSO调整模型超参数。代码示例展示了PSO的迭代优化过程及训练、预测和误差分析环节。最终,模型的预测结果以图形形式展示,并保存了相关数据。