分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测

分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测

目录

预测效果



基本介绍

1.GWO-BiLSTM-Attention 数据分类预测程序

2.代码说明:基于灰狼优化算法(GWO)、双向长短期记忆网络(BiLSTM)和注意力机制的数据分类预测程序。

程序平台:要求于Matlab 2023版及以上版本。

特点:

1、多行变量特征输入。

2、GWO优化了学习率、神经元个数等参数,方便增加维度和优化其他参数。(若首轮精度最高,则适应度曲线为水平直线)

3、适用于轴承故障、变压器油气故障、电力系统输电线路故障区域、绝缘子、配网等领域的识别、诊断和分类。

4.可直接替换数据,使用EXCEL表格导入,无需大幅修改程序。代码内部有详细注释,便于理解程序运行。

程序设计

  • 完整程序和数据获取方式1:同等价值程序兑换;
  • 完整程序和数据获取方式2:私信博主回复 MATLAB实现GWO-BiLSTM-Attention多输入分类预测获取。
clike 复制代码
%%  划分训练集和测试集
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);
%%  个体极值和群体极值
[fitnesszbest, bestindex] = min(fitness);
zbest = pop(bestindex, :);     % 全局最佳
gbest = pop;                   % 个体最佳
fitnessgbest = fitness;        % 个体最佳适应度值
BestFit = fitnesszbest;        % 全局最佳适应度值

%%  迭代寻优
for i = 1 : maxgen
    for j = 1 : sizepop
        
        % 速度更新
        V(j, :) = V(j, :) + c1 * rand * (gbest(j, :) - pop(j, :)) + c2 * rand * (zbest - pop(j, :));
        V(j, (V(j, :) > Vmax)) = Vmax;
        V(j, (V(j, :) < Vmin)) = Vmin;
        
        % 种群更新
        pop(j, :) = pop(j, :) + 0.2 * V(j, :);
        pop(j, (pop(j, :) > popmax)) = popmax;
        pop(j, (pop(j, :) < popmin)) = popmin;
        
        % 自适应变异
        pos = unidrnd(numsum);
        if rand > 0.95
            pop(j, pos) = rands(1, 1);
        end
        
        % 适应度值
        fitness(j) = fun(pop(j, :), hiddennum, net, p_train, t_train);

    end
    
    for j = 1 : sizepop

        % 个体最优更新
        if fitness(j) < fitnessgbest(j)
            gbest(j, :) = pop(j, :);
            fitnessgbest(j) = fitness(j);
        end

        % 群体最优更新 
        if fitness(j) < fitnesszbest
            zbest = pop(j, :);
            fitnesszbest = fitness(j);
        end

    end

    BestFit = [BestFit, fitnesszbest];    
end
------------------------------------------------
版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kjm13182345320/article/details/130462492

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129679476?spm=1001.2014.3001.5501

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

[3] https://blog.csdn.net/kjm13182345320/article/details/129653829?spm=1001.2014.3001.5501

相关推荐
CS_木成河1 个月前
【HuggingFace Transformers】OpenAIGPTModel的核心——Block源码解析
人工智能·gpt·深度学习·transformer·openai·attention·mlp
SpikeKing1 个月前
LLM - GPT(Decoder Only) 类模型的 KV Cache 公式与原理 教程
gpt·attention·公式·矩阵乘法·kv cache·decoderonly·键值缓存
逐梦苍穹2 个月前
【NLP】注意力机制:规则、作用、原理、实现方式
人工智能·自然语言处理·attention·注意力机制
机器学习之心2 个月前
3D靓图!CEEMDAN-Kmeans-VMD-CNN-BiLSTM-Attention双重分解卷积双向长短期注意力多元时序预测
attention·kmeans·cnn-bilstm·ceemdan·kmeans-vmd·双重分解卷积双向长短期·注意力多元时序预测
机器学习之心2 个月前
靓图!多点创新!CEEMDAN-Kmeans-VMD-CNN-LSTM-Attention双重分解+卷积长短期+注意力多元时间序列预测
attention·cnn-lstm·ceemdan·双重分解·kmeans-vmd·卷积长短期记忆·注意力多元时间序列预测
机器学习之心3 个月前
SCI一区级 | Matlab实现SSA-CNN-GRU-Multihead-Attention多变量时间序列预测
matlab·cnn·gru·attention·多变量时间序列预测·ssa-cnn-gru
机器学习之心3 个月前
SCI一区级 | Matlab实现GJO-CNN-LSTM-Multihead-Attention多变量时间序列预测
matlab·cnn·lstm·attention·多变量时间序列预测·gjo-cnn-lstm
机器学习之心3 个月前
SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测
attention·多变量时间序列预测·tcn-lstm·dbo-tcn-lstm
长安er3 个月前
自然语言处理课程论文:《Attention is all you need》复现与解读
人工智能·自然语言处理·nlp·attention·论文复现·self-attention
机器学习之心4 个月前
区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测
attention·分位数回归·卷积双向门控循环单元·注意力机制时序区间预测·qrcnn-bigru