首页 > 编程语言 >叠Buff!经典麻雀优化算法+多重双向深度学习!SSA-BiTCN-BiGRU-Attention多输入单输出回归预测

叠Buff!经典麻雀优化算法+多重双向深度学习!SSA-BiTCN-BiGRU-Attention多输入单输出回归预测

时间:2024-08-18 22:27:29浏览次数:12  
标签:BiTCN num %% res Attention 麻雀 train test SSA

叠Buff!经典麻雀优化算法+多重双向深度学习!SSA-BiTCN-BiGRU-Attention多输入单输出回归预测

目录

效果一览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

基本介绍

1.Matlab实现SSA-BiTCN-BiGRU-Attention麻雀算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测(完整源码和数据),优化学习率,BiGRU的神经元个数,滤波器个数, 正则化参数;

2.输入多个特征,输出单个变量,回归预测,自注意力机制层,运行环境matlab2023及以上;

3.命令窗口输出R2、MAE、MAPE、 RMSE多指标评价;

4.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

5.适用对象:大学生课程设计、期末大作业和毕业设计。
麻雀是常见的常驻鸟类。与许多其他小型鸟类相比,麻雀非常聪明,记忆力也很强。请注意,有两种不同类型的圈养麻雀,生产者和拾取者。生产者积极寻找食物来源,而拾荒者则通过生产者获取食物。此外,有证据表明,鸟类通常灵活地使用行为策略,并在生产和觅食之间切换。也可以说,为了寻找食物,麻雀通常使用生产者和拾取者的策略。

研究表明,个体会监控群体中其他麻雀的行为。同时,鸟群中的攻击者为了提高自身的捕食率,被用来竞争高摄入量同伴的食物资源。此外,个体的能量储备可能在麻雀选择不同的觅食策略时发挥重要作用,能量储备低的麻雀觅食更多。值得一提的是,位于种群边缘的鸟类更容易受到捕食者的攻击,并不断试图获得更好的位置。请注意,位于中心的动物可能会靠近它们的邻居,以尽量减少它们的危险区域。我们也知道,所有的麻雀都表现出对一切事物的好奇本能,同时它们也时刻保持警惕。例如,当一只鸟确实发现了捕食者时,一个或多个个体发出唧唧声,整个群体飞走。
在这里插入图片描述

程序设计

  • 完整程序和数据获取方式私信博主回复SSA-BiTCN-BiGRU-Attention多输入单输出回归预测(Matlab)


%%  清空环境变量
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行
warning off             % 关闭报警信息
%% 导入数据
res = xlsread('data.xlsx');

%%  数据分析
num_size = 0.7;                              % 训练集占数据集比例
outdim = 1;                                  % 最后一列为输出
num_samples = size(res, 1);                  % 样本个数
res = res(randperm(num_samples), :);         % 打乱数据集(不希望打乱时,注释该行)
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;                  % 输入特征维度

%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);

P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);

%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);

%%  格式转换
for i = 1 : M 
    vp_train{i, 1} = p_train(:, i);
    vt_train{i, 1} = t_train(:, i);
end

for i = 1 : N 
    vp_test{i, 1} = p_test(:, i);
    vt_test{i, 1} = t_test(:, i);
end

disp('程序运行时间较长,需迭代popsize*maxgen次!可自行调整运行参数')

%%  初始化SSA参数
popsize = 4;                            %  初始种群规模
maxgen = 10;                             %  最大进化代数
fobj = @(x)objectiveFunction(x,f_,vp_train,vt_train,vp_test,T_test,ps_output);

%%  优化算法参数设置
lb = [0.0001 10 20  0.00001];           %  参数的下限。分别是学习率,BiGRU的神经元个数,滤波器个数, 正则化参数
ub = [0.01 100 120 0.005];               %  参数的上限
dim = length(lb);%数量

[Best_score,Best_pos,SSA_curve]=SSA(popsize,maxgen,lb,ub,dim,fobj);
setdemorandstream(pi);

%%  将优化目标参数传进来的值 转换为需要的超参数
learning_rate = Best_pos(1);                   %  学习率
NumNeurons = round(Best_pos(2));               %  BiGRU神经元个数
numFilters = round(Best_pos(3));               %  滤波器个数
L2Regularization = Best_pos(4);                %  正则化参数


参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/127931217
[2] https://blog.csdn.net/kjm13182345320/article/details/127418340

标签:BiTCN,num,%%,res,Attention,麻雀,train,test,SSA
From: https://blog.csdn.net/kjm13182345320/article/details/141306715

相关文章

  • Self-Attention自注意力机制解读(2):图解版!
    文章目录一、前言二、流程解读1.它整体做了一件什么事2.多层Self-attention3.self-attention做了一件什么事4.具体流程三、流程的矩阵表示三、Softmax层的解释一、前言上一篇文章Self-Attention自注意力机制:深度学习中的动态焦点|手把手实例解析看不懂你打我以......
  • SciTech-BigDataAIML-LLM-Transformer Series-Self-Attention:由Dot-Product(向量点乘)
    SelfAttention:由Dot-Product(向量点乘)说起https://lulaoshi.info/deep-learning/attention/transformer-attention.html#self-attention-从向量点乘说起Transformer[1]论文提出了一种Self-Attention(自注意力机制),Self-Attention的最核心的公式为:\(\large\begin{align*}......
  • locale: Cannot set LC_CTYPE to default locale: No such file or directory locale:
    locale:CannotsetLC_CTYPEtodefaultlocale:Nosuchfileordirectorylocale:CannotsetLC_MESSAGEStodefaultlocale:Nosuchfileordirectorylocale:CannotsetLC_COLLATEtodefaultlocale:Nosuchfileordirectory 一、CannotsetLC_CTYPEtodefaul......
  • Unity FPSSample Demo研究
    1.前言 UnityFpsSampleDemo大约是2018发布,用于官方演示MLAPI(NetCode前身)+DOTS的一个FPS多人对战Demo。Demo下载地址(需要安装GitLFS):https://github.com/Unity-Technologies/FPSSample下载完成后3-40GB左右,若大小不对可能下载不完整。 时间原因写的并不完整,但大致描......
  • MFC制作MQTT(EMQX)客户端,报错:MQTTClient_message::MQTTClient_message”: 没有重载函
    前言全局说明MQTTClient_message::MQTTClient_message”:没有重载函数接受9个参数一、说明环境:Windows7旗舰版VisualStudio2013CMakeversion3.19.8paho.mqtt.cV1.3.13二、报错MQTTClient_message::MQTTClient_message”:没有重载函数接受9个参数......
  • 回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含
    回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序多特征输入单输出含基础模型文章目录前言回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序多特征输入单输出含基础模型一、HGS-CNN-LSTM-Attention模型1.模型组件概述1.1.海鸥优化算......
  • Cross-Image Attention for zero-shot appearance transfer
     1.Introduction探讨appearancetransfer的背景下进行图像操作,目标是将一个图像中概念的视觉外观转移到另一个图像中存在的概念上,例如,将斑马的外观转移到长颈鹿上,完成这一任务需要首先将长颈鹿和斑马之间在语义上相似的区域进行关联,然后通过这些关联转移,而不改变长颈鹿的结......
  • 240814-作物模型DSSAT4.8.2的安装过程
    1.DSSATV4.8.2的下载软件下载需要从DSSAT官网邮件申请,一周左右会反馈下载链接。下面的链接是我于2024年8月从官网申请的链接。https://get.dssat.net/dssat-download-v4-8/?sk=48082410753我下载好后上传到了百度网盘,下面的是百度网盘下载链接。通过百度网盘分享的文件:DSSA......
  • SCI一区级 | Matlab实现INFO-CNN-LSTM-Multihead-Attention多变量时间序列预测
    SCI一区级|Matlab实现INFO-CNN-LSTM-Multihead-Attention多变量时间序列预测目录SCI一区级|Matlab实现INFO-CNN-LSTM-Multihead-Attention多变量时间序列预测效果一览基本介绍程序设计参考资料效果一览基本介绍1.Matlab实现INFO-CNN-LSTM-Multihead-At......
  • iMessage群发 苹果推信真的很好用
    iMessage是苹果设备(iPad、iPhone、iPodtouch)自带的免费信息发送应用。它的信息通过网络发送,不同于运营商短信。目前iMessage日活跃用户1.9亿,日发送约20亿条。和短信分不清不是原因,甚至苹果本来就不希望大家区分imessage和短信因为在很多国家,包括我现在所处的澳大利亚,短信和......