【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代码实现

相关文章
|
1月前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
|
26天前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
101 2
|
1月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
1月前
|
算法 数据挖掘 区块链
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
|
1月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
225 2
|
1月前
|
机器学习/深度学习 数据采集 算法
基于VMD-LSTM的电力负荷预测研究(Matlab代码实现)
基于VMD-LSTM的电力负荷预测研究(Matlab代码实现)
192 0
|
1月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
1月前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
151 14
|
26天前
|
机器学习/深度学习 算法 安全
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
109 2
|
26天前
|
canal 算法 vr&ar
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)

热门文章

最新文章