天天看点

时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)

时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)

目录

    • 时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)
时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)
时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)
时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)

基本介绍

MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)

算法的基本步骤如下:

步骤1:实验数据分为训练集和测试集.

步骤2:把BiLSTM模型中学习率、训练次数、正则化率、神经网络隐藏层单元数目作为优化对象,初始化IWOA算法.

步骤3:计算每个个体的适应度值.以各鲸鱼对应参数构建BiLSTM神经网络模型,通过训练数据进行训练,测试数据进行预测,将预测结果的平均绝对百分比误差作为各鲸鱼的适应度值.

步骤4:根据鲸鱼的适应度值确定全局最优位置和局部最优位置.

步骤5:根据WOA算法式更新A和C.

步骤6:根据WOA算法的对鲸鱼的位置进行更新;

步骤7:判断终止条件.若满足终止条件,则输出最优解;否则,返回步骤3.

步骤8:用最优参数构建BiLSTM神经网络模型并进行预测.

程序设计

  • 完整程序私信博主。
%% 搭建BiLSTM模型
inputSize = 1;
numHiddenUnits = 100;
layers = [ ...
    sequenceInputLayer(inputSize)
    bilstmLayer(numHiddenUnits,'OutputMode','last')
    bilstmLayer(numHiddenUnits-30)
    bilstmLayer(numHiddenUnits-60)
    fullyConnectedLayer(1)
    regressionLayer]

options = trainingOptions('adam',... 
    'InitialLearnRate',1e-3,...% 学习率
    'MiniBatchSize', 8, ...
    'MaxEpochs',50, ...
    'Plots','training-progress');

[net1,info1] = trainNetwork(TF,output_train',layers,options);
           

参考资料

[1] Mirjalili S,Lewis A. The whale optimization algorithm[J]. Advancesin Engineering Software,2016,95( 5) : 51-67.

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

继续阅读