冰雪奇缘!中科院一区算法+双向深度学习+注意力机制!SAO-BiTCN-BiGRU-Attention雪消融算法优化回归预测

文摘   2024-11-01 22:23   广东  

读完需要

6
分钟

速读仅需 2 分钟

请尊重原创劳动成果
转载请注明本文链接
及文章作者:机器学习之心

点击阅读原文或复制以下链接到浏览器获取文章完整源码和数据:

https://mbd.pub/o/bread/mbd-Zp6alpxr

摘要:冰雪奇缘!中科院一区算法+双向深度学习+注意力机制!SAO-BiTCN-BiGRU-Attention雪消融算法优化回归预测

1

   

基本介绍

1.Matlab实现SAO-BiTCN-BiGRU-Attention雪消融算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测(完整源码和数据),优化学习率,BiGRU的神经元个数,滤波器个数, 正则化参数;SAO模拟了雪的升华和融化行为,在融化过程中,雪转化为液态水,而雪可以通过升华直接转化为蒸汽。同时,融雪转化的液态水也可以通过蒸发转化为蒸汽。
2.输入多个特征,输出单个变量,回归预测,自注意力机制层,运行环境matlab2023及以上;
3.命令窗口输出R2、MAE、MAPE、 RMSE多指标评价;
4.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细;
5.适用对象:大学生课程设计、期末大作业和毕业设计。

2

   

2.1

数据集



   

   

2.2

运行效果

   

完整代码链接:https://mbd.pub/o/bread/mbd-Zp6alpxr

也可扫描二维码:

3


   

部分源码

%%  清空环境变量warning off             % 关闭报警信息close all               % 关闭开启的图窗clear                   % 清空变量clc                     % 清空命令行


%% 划分训练集和测试集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);

% To run SAO: [Best_pos,Best_score,Convergence_curve]=SAO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj)%______________________________________________________________________________________________

function [Best_pos,Best_score,Convergence_curve]=SAO(N,Max_iter,lb,ub,dim,fobj)
if(max(size(ub)) == 1) ub = ub.*ones(1,dim); lb = lb.*ones(1,dim); end%Initialize the set of random solutionsX=initialization(N,dim,ub,lb);
Best_pos=zeros(1,dim);Best_score=inf;Objective_values = zeros(1,size(X,1));
Convergence_curve=[];N1=floor(N*0.5);Elite_pool=[];
% Calculate the fitness of the first set and find the best onefor i=1:size(X,1) Objective_values(1,i)=fobj(X(i,:)); if i==1 Best_pos=X(i,:); Best_score=Objective_values(1,i); elseif Objective_values(1,i)<Best_score Best_pos=X(i,:); Best_score=Objective_values(1,i); end All_objective_values(1,i)=Objective_values(1,i);end



4

   

其他代码

嗯,细心的你会发现:https://mbd.pub/o/slowtrain/work

博客专家认证,机器学习领域创作者,2023博客之星TOP50,主做机器学习和深度学习时序、回归、分类、聚类和降维等程序设计和案例分析科研课题模型定制/横向项目模型仿真/职称学术论文辅导/模型程序讲解均可联系本人唯一QQ1153460737(其他均为盗版,注意甄别

技术交流群:购买博主任意代码或分享博主博文到任意三方平台后即可添加博主QQ进群


机器学习之心HML
机器学习和深度学习时序、回归、分类和聚类等程序设计与案例分析,CSDN博主机器学习之心,知乎、B站同名,由于博主公众号名称被别人占用,故加了HML,此号是官方账号,其余打着本人旗号做事本人概不负责,本人QQ1153460737。
 最新文章