LSTM forecasting time series

4 次查看(过去 30 天)
diana haron
diana haron 2020-9-27
Hi,
I'm currently learning how to use LSTM using the chicken pox example,
The data in this example is just 1 row with multiple columns. Does anyone know how I can use it with more data sets (multple row and mutiple columns).
It would be appreciate to provide the example or explanation about it.
Thank you
  1 个评论
ghada alabaidy
ghada alabaidy 2021-5-28
Excuse me, can I know how the test is calculated? I collected data from the accelerometer with a smartphone and I want it to work in LSTM Can you help me with many thanks

请先登录,再进行评论。

回答(1 个)

Srivardhan Gadila
Srivardhan Gadila 2020-10-1
Refer to the documentation of trainNetwork to understand what should be the input and target data format & shape.
Also the following code might help you:
inputSize = [13 11 1];
nTrainSamples = 50;
filterSize = 5;
numFilters = 20;
numHiddenUnits = 200;
numResponses = 5;
layers = [ ...
sequenceInputLayer(inputSize,'Name','input')
flattenLayer('Name','flatten')
lstmLayer(numHiddenUnits,'Name','lstm','OutputMode','sequence')
fullyConnectedLayer(numResponses, 'Name','fc')
regressionLayer('Name','regression')];
lgraph = layerGraph(layers);
analyzeNetwork(layers)
%%
trainData = arrayfun(@(x)rand([inputSize(:)' 1]),1:nTrainSamples,'UniformOutput',false)';
trainLabels = arrayfun(@(x)rand(numResponses,1),1:nTrainSamples,'UniformOutput',false)';
size(trainData)
size(trainLabels)
%%
options = trainingOptions('adam', ...
'InitialLearnRate',0.005, ...
'LearnRateSchedule','piecewise',...
'MaxEpochs',300, ...
'MiniBatchSize',1024, ...
'Verbose',1, ...
'Plots','training-progress');
net = trainNetwork(trainData,trainLabels,lgraph,options);

类别

Help CenterFile Exchange 中查找有关 Electrical Block Libraries 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by