LSTM forecasting time series

7 次查看(过去 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 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by