基于WOA鲸鱼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真

举报
简简单单做算法 发表于 2024/10/19 01:12:19 2024/10/19
【摘要】 1.算法运行效果图预览(完整程序运行后无水印)2.算法运行软件版本matlab2022a 3.部分核心程序(完整版代码包含详细中文注释和操作步骤视频)for t=1:Iters for j=1:D if rand_flag<0.5 if abs(K1)>=1 RLidx = floo...

1.算法运行效果图预览

(完整程序运行后无水印)

1.jpeg

2.jpeg

3.jpeg

2.算法运行软件版本

matlab2022a

 

3.部分核心程序

(完整版代码包含详细中文注释和操作步骤视频)

for t=1:Iters
        for j=1:D
            if rand_flag<0.5   
               if abs(K1)>=1
                  RLidx    = floor(Num*rand()+1);
                  X_rand   = xwoa(RLidx, :);
                  D_X_rand = abs(K2*X_rand(j)-xwoa(i,j)); 
                  xwoa(i,j)= X_rand(j)-K1*D_X_rand;     
               else
                  D_Leader = abs(K2*woa_idx(j)-xwoa(i,j)); 
                  xwoa(i,j)= woa_idx(j)-K1*D_Leader;    
               end
            else
                distLeader = abs(woa_idx(j)-xwoa(i,j));
                xwoa(i,j)  = distLeader*exp(2*l).*cos(l.*2*pi)+woa_idx(j);
            end
            %目标函数更新
            if xwoa(i,j)>=tmps(j,2) 
               xwoa(i,j)=tmps(j,2);
            end
            if xwoa(i,j)<=tmps(j,1) 
               xwoa(i,j)=tmps(j,1);
            end
        end
        gb12(i)= func_obj(xwoa(i,:));
    end
end
 
LR              = woa_idx(1);
numHiddenUnits1 = floor(woa_idx(2))+1;% 定义隐藏层中LSTM单元的数量
numHiddenUnits2 = floor(woa_idx(3))+1;% 定义隐藏层中LSTM单元的数量
 
 
layers = func_model2(Dim,numHiddenUnits1,numHiddenUnits2);
%设置
%迭代次数
%训练模型
%训练模型
[GCNN_net, INFO] = trainNetwork(Dat_train, Lab_train, layers, opts);
Rerr = INFO.TrainingRMSE;
Rlos = INFO.TrainingLoss;
%预测
ypred2 = predict(GCNN_net, Dat_test );
 
figure
plot(Lab_test, 'r')
hold on
plot(ypred2, 'b-o')
legend('真实值', '预测值')
grid on
 
 
figure
subplot(211)
plot(Rerr)
xlabel('迭代次数')
ylabel('RMSE')
grid on
    
subplot(212)
plot(Rlos)
xlabel('迭代次数')
ylabel('LOSS')
grid on
 
save R2.mat Rerr Rlos ypred2 Lab_test
168

4.算法理论概述

        基于woa优化的GroupCNN分组卷积网络时间序列预测算法是一种结合了粒子群优化技术和分组卷积神经网络(GroupCNN)的时间序列预测方法。这种方法利用粒子群优化来寻找最优的网络结构和超参数,以提高时间序列预测的准确性和效率。

 

4.1 分组卷积神经网络(GroupCNN

       分组卷积是一种减少计算成本同时保持模型性能的有效手段。在深度学习领域,尤其是在卷积神经网络(CNN)中,分组卷积被用来降低参数数量和计算复杂度。假设输入张量为X,卷积核为W,输出张量为Y,则分组卷积的计算可以表示为:

 

4.png

 

常规卷积和分组卷积,其区别如下图所示:

 

5.png

 

4.2 WOA优化算法

        WOAWhale Optimization Algorithm(鲸鱼优化算法),是一种受自然界鲸鱼捕食行为启发的生物启发式优化算法,由Eslam Mohamed2016年提出,常用于解决各种连续优化问题,包括函数优化、机器学习参数调整、工程设计等领域中的复杂优化任务。鲸鱼优化算法模拟了虎鲸的两种主要觅食策略: Bubble-net attacking Spiral updating 过程。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。