回归预测 | MATLAB实现LSTM长短期记忆神经网络多输入多输出
原创
©著作权归作者所有:来自51CTO博客作者机器学习之心的原创作品,请联系作者获取转载授权,否则将追究法律责任
回归预测 | MATLAB实现LSTM长短期记忆神经网络多输入多输出
目录
- 回归预测 | MATLAB实现LSTM长短期记忆神经网络多输入多输出
- 预测效果
- 基本介绍
- 程序设计
- 往期精彩
- 参考资料
预测效果
基本介绍
MATLAB实现LSTM长短期记忆神经网络多输入多输出预测,数据为多输入多输出预测数据,输入10个特征,输出3个变量,程序乱码是由于版本不一致导致,可以用记事本打开复制到你的文件,运行环境MATLAB2018b及以上。长短期记忆网络——通常被称为 LSTM,是一种特殊的 RNN,能够学习长期依赖性。由 Hochreiter 和 Schmidhuber(1997)提出的,并且在接下来的工作中被许多人改进和推广。LSTM 在各种各样的问题上表现非常出色,现在被广泛使用。
程序设计
- 完整程序和数据下载方式1(资源处直接下载):MATLAB实现LSTM长短期记忆神经网络多输入多输出
- 完整程序和数据下载方式2(订阅《LSTM长短期记忆神经网络》专栏,数据订阅后私信我获取):MATLAB实现LSTM长短期记忆神经网络多输入多输出
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
layers = [ ...
sequenceInputLayer(numFeatures)
lstmLayer(numHiddenUnits)
fullyConnectedLayer(numResponses)
regressionLayer];
options = trainingOptions('adam', ...
'MaxEpochs',250, ...
'GradientThreshold',1, ...
'InitialLearnRate',0.005, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropPeriod',125, ...
'LearnRateDropFactor',0.2, ...
'ExecutionEnvironment','cpu', ...
'Verbose',0, ...
'Plots','training-progress');
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
net = trainNetwork(XTrain,YTrain,layers,options);
dataTestStandardized = (dataTest - mu) / sig;
XTest = dataTestStandardized(1:end-1);
net = predictAndUpdateState(net,XTrain);
[net,YPred] = predictAndUpdateState(net,YTrain(end));
numTimeStepsTest = numel(XTest);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
往期精彩
MATLAB实现RBF径向基神经网络多输入多输出预测MATLAB实现BP神经网络多输入多输出预测
MATLAB实现DNN神经网络多输入多输出预测