LSTM forecasting time series
1 view (last 30 days)
Show older comments
Hi,
I'm currently learning how to use LSTM using the chicken pox example,
link: https://www.mathworks.com/help/deeplearning/ug/time-series-forecasting-using-deep-learning.html
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 Comment
ghada alabaidy
on 28 May 2021
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
Answers (1)
Srivardhan Gadila
on 1 Oct 2020
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);
0 Comments
See Also
Categories
Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!