分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测

慈云数据 2024-03-15 技术支持 45 0

分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测

目录

    • 分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

        效果一览

        在这里插入图片描述

        基本介绍

        GSWOA-KELM分类,可实现二分类和多分类

        基于三种策略改进的鲸鱼优化算法(GSWOA)优化核极限学习机(KELM)的数据分类预测模型

        GSWOA在收敛精度和速度上比基本的SSA,GWO,PSO,WOA,MPA,ABC算法要好的多Matlab代码,适合新手小白

        核极限学习机KELM是基于极限学习机ELM并结合核函数所提出的改进算法,能够在保留 ELM 优点的基础上提高模型的预测性能。

        通过改进鲸鱼算法优化KELM的两个参数,避免了人工选取参数的盲目性,有效提高预测精度。用的人还很少~

        WOA改进点如下:

        1.在鲸鱼位置更新公式中加入自适应权重,动态调节最优位置的影响力,改善算法收敛速度

        2.使用变螺旋位置更新策略,动态调整螺旋的形状,提升算法全局搜寻能力

        3.引入最优邻域扰动策略,避免算法陷入局部最优解,解决算法早熟现象。

        直接替换数据即可用 适合新手小白~

        附赠案例数据 可直接运行

        在这里插入图片描述

        程序设计

        • 完整程序和数据资源私信博主回复Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测。
          function Y = elmpredict(p_test, IW, B, LW, TF, TYPE)
          %%  计算隐层输出
          Q = size(p_test, 2);
          BiasMatrix = repmat(B, 1, Q);
          tempH = IW * p_test + BiasMatrix;
          %%  选择激活函数
          switch TF
              case 'sig'
                  H = 1 ./ (1 + exp(-tempH));
              case 'hardlim'
                  H = hardlim(tempH);
          end
          %%  计算输出
          Y = (H' * LW)';
          %%  转化分类模式
          if TYPE == 1
              temp_Y = zeros(size(Y));
              for i = 1:size(Y, 2)
                  [~, index] = max(Y(:, i));
                  temp_Y(index, i) = 1;
              end
              Y = vec2ind(temp_Y); 
          end
          end
          

          参考资料

          [1] https://blog.csdn.net/kjm13182345320/article/details/124864369

          [2] https://blog.csdn.net/kjm13182345320/article/details/127896974?spm=1001.2014.3001.5502

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon