MATLAB 函数 `BLSTM2.m` 实现了一个基于 **LSTM(长短期记忆网络)** 的回归预测模型,并通过 白头鹰优化算法自动调整关键超参数以提高预测性能

function [T_sim2]=BLSTM2(cleaned_data)

% % % %%  清空环境变量
% % % % warning off             % 关闭报警信息
% % % % close all               % 关闭开启的图窗
% % % % clear                   % 清空变量
% % % % clc                    % 清空命令行
% % % 
% % % % data1=load('data.mat');
% % % % data2 = struct2cell(data1);
% % % % data3 = cell2mat(data2);
% % % % % data2 = struct2cell(data1);
% % % % num_rows =11000; % 第一个细胞数组的行数
% % % % data = mat2cell(data3, [num_rows, size(data3, 1) - num_rows], size(data3, 2));
% % % % [cleaned_data]=Kshujvchuli();

% data.trainInput=cleaned_data(1:100,1:6)';
% data.trainTarget=cleaned_data(1:100,7)';

data.trainInput=cleaned_data(1594:1694,1:6)';
data.trainTarget=cleaned_data(1594:1694,7)';

train_out=data.trainTarget;
% data.testInput=cleaned_data(101:200,1:6)';
% data.testTarget=cleaned_data(101:200,7)';

data.testInput=cleaned_data(1695:1794,1:6)';
data.testTarget=cleaned_data(1695:1794,7)';

test_out=data.testTarget;
input_size = size(data.trainInput,1); % 输入数据的维度
output_size = size(data.trainTarget, 2); % 输出数据的维度
input_test_size = size(data.testInput,2);
M=100;
N=100;
%%  数据归一化
[P_train, ps_input] = mapminmax(data.trainInput, 0, 1);
P_test = mapminmax('apply', data.testInput, ps_input);

[t_train, ps_output] = mapminmax(data.trainTarget, 0, 1);
t_test = mapminmax('apply', data.testTarget, ps_output);

%%  数据平铺
% P_train =  double(reshape(P_train, 7, 1, 1, M));
% P_test  =  double(reshape(P_test , 7, 1, 1, N));
P_train =  double(reshape

你可能感兴趣的:(MATLAB,算法,深度学习,算法,matlab,lstm)