基于人工大猩猩部队优化CNN-LSTM(GTO-CNN-LSTM)多变量时间序列预测(Matlab代码实现)

简介: 基于人工大猩猩部队优化CNN-LSTM(GTO-CNN-LSTM)多变量时间序列预测(Matlab代码实现)

💥1 概述

专家学者根据对人类视觉的研究,提出了注意力机制,计算机视觉、自然语言处理等领域[14-17]引入该机制优化现有模型,学习并确定重点关注的目标区域,使模型能够在有限资源下关注最有效的信息。本文基于这一机制改进 CNN 联合 LSTM 的体系结构,通过注意力机制处理被现有结构忽略的短序列特征的重要度差异,提取显著细粒度特征,同时便于LSTM更有效地捕捉时

间依赖性。

针对 CNN 联合 LSTM 时,忽略短期特征重要度而导致的重要特征丢失、长期时序规律挖掘有待优化等问题,本文提出基于注意力机制的 CNN-LSTM 预测模型。设计基于注意力机制的CNN结构,基于标准CNN,以并行注意力支路提取显著性特征。注意力支路比CNN设计了更大的输入尺度,以扩大输入感受野,从而更全面获取时序上下文信息,学习局部序列特征的重要程度。注意力模块通过提升最终模型中重要时序特征的影响力,降低最终模型中非重要特征的影响力,有效地应对模型未能较好区分时序特征重要程度差异性的不足。同时,标准 CNN 模块和注意力机制模块以不同长度序列作为输入的多尺度输入方式,能有效提取更丰富的短序列特征。LSTM 从前端抽取出的细粒度特征

中抽取粗粒度特征,精细化处理不同维度特征,并且能够一定程度避免因步长过长造成的记忆丢失和梯度弥散。

通过基于注意力机制的 CNN-LSTM 模型,实现粗细粒度特征融合,全面刻画时序数据。负荷需求量预测为典型的时序预测问题,负荷需求量变化受不同特征影响,并且短时间内各特征的影响程度不同[13]。本文对热电联产企业历史数据进行实验,设计并调整模型结构,最终搭建一种有效的时序预测模型,实验预测结果优于自回归积分滑动平均、支持向量回归和单一的神经网络模型。


GTO通常遵循以下几个规则来搜索解决方案:


1.GTO算法的优化空间包含三种类型的解决方案,其中X被称为大猩猩的位置向量,GX被称为大猩猩候选位置向量,在每个阶段创建,如果其性能优于当前解决方案,则更新。最后,银背猩猩silverback是每次迭代中找到的最佳解决方案。


2.考虑到为优化操作选择的搜索种群的数量,整个群体中只有一只银背猩猩。


3.三种类型的X、GX和silverback解决方案精确模拟了大猩猩在自然界中的社交生活。


4.大猩猩可以通过寻找更好的食物来源或在一个公平而强壮的群体中定位来增加它们的力量。在GTO中,在GTO算法中称为GX的每次迭代中都会创建解决方案。如果找到的解决方案是新的(GX),它将替换当前的解决方案(X)。否则,它将保留在内存中(GX)。


5.大猩猩倾向于集体生活,因此无法单独生活。因此,他们作为一个群体寻找食物,并继续生活在一个银背猩猩的领导下,领导着所有的群体决策。在我们的公式化阶段,假设种群中最差的解是大猩猩群中最弱的成员,大猩猩试图避开最差的解,接近最佳解(银背),从而改善大猩猩的所有位置。

📚2 运行结果

部分代码:

function result(true_value,predict_value,type)
disp(type)
rmse=sqrt(mean((true_value-predict_value).^2));
disp(['根均方差(RMSE):',num2str(rmse)])
mae=mean(abs(true_value-predict_value));
disp(['平均绝对误差(MAE):',num2str(mae)])
mape=mean(abs((true_value-predict_value)./true_value));
disp(['平均相对百分误差(MAPE):',num2str(mape*100),'%'])
R2 = 1 - norm(true_value-predict_value)^2/norm(true_value - mean(true_value))^2;

🎉3 参考文献

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

[1]吴勇,高昕,郭灏阳,刁海岸,刘庆丰,杨强强.基于优化的VMD-CNN-LSTM模型的光伏功率预测[J].邵阳学院学报(自然科学版),2022,19(06):9-17.


🌈4 Matlab代码实现


相关文章
|
7月前
|
机器学习/深度学习 算法 机器人
【PID】基于人工神经网络的PID控制器,用于更好的系统响应研究(Matlab&Simulink代码实现)
【PID】基于人工神经网络的PID控制器,用于更好的系统响应研究(Matlab&Simulink代码实现)
813 15
|
6月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的XGBoost序列预测算法matlab仿真
基于WOA优化XGBoost的序列预测算法,利用鲸鱼优化算法自动寻优超参数,提升预测精度。结合MATLAB实现,适用于金融、气象等领域,具有较强非线性拟合能力,实验结果表明该方法显著优于传统模型。(238字)
|
6月前
|
机器学习/深度学习 并行计算 算法
【无人机避障三维航迹规划】基于人工原生动物优化器APO的复杂城市地形下无人机避障三维航迹规划研究(可以修改障碍物及起始点)(Matlab代码实现)
【无人机避障三维航迹规划】基于人工原生动物优化器APO的复杂城市地形下无人机避障三维航迹规划研究(可以修改障碍物及起始点)(Matlab代码实现)
267 3
|
5月前
|
编解码 算法 数据可视化
基于MATLAB的人工势场法航迹规划实现方案
基于MATLAB的人工势场法航迹规划实现方案
|
6月前
|
机器学习/深度学习 移动开发 编解码
基于人工神经网络的类噪声环境声音声学识别(Matlab代码实现)
基于人工神经网络的类噪声环境声音声学识别(Matlab代码实现)
176 1
|
7月前
|
机器学习/深度学习 调度 Python
【电力系统】基于 Sobol 低差异序列的光伏不确定性-电压稳定联合评估研究(Matlab代码实现)
【电力系统】基于 Sobol 低差异序列的光伏不确定性-电压稳定联合评估研究(Matlab代码实现)
191 4
|
6月前
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
278 0
|
6月前
|
机器学习/深度学习 传感器 数据采集
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
970 0
|
6月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
428 0
|
7月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
391 0

热门文章

最新文章