How to use multiple data in LSTM?

조회 수: 13 (최근 30일)
daemo Lee
daemo Lee 2022년 1월 12일
댓글: Pratyush Roy 2022년 1월 19일
  1. Discription said that is 'For single time step predictions, use the CPU.' I wonder how to do multi time step pridiction in Matlab.
  2. Espacially, I would like to know about the way to use multi training data set for LSTM, not single training data set like this example.
That example used a double data(1xN), but I hope to enter multiple(M) double data(like MxN).
Please let me know some idea or give your knowledge.

채택된 답변

Pratyush Roy
Pratyush Roy 2022년 1월 17일
Hi Daerno.
The example mentioned in the question is used for finding temporal relation between 1-D input and 1 dimensional output. As mentioned in the code:
numFeatures = 1;
numResponses = 1;
numHiddenUnits = 200;
layers = [ ...
sequenceInputLayer(numFeatures)
lstmLayer(numHiddenUnits)
fullyConnectedLayer(numResponses)
regressionLayer];
The number of features is 1. Hence the data passed as input is 1-dimensional in nature.
In general, LSTMs are built to work for multi-dimensional data. We can change the numFeatures and numResponses value to map one single/multi-dimensional vector to another single/multi-dimensional vector. This doc link captures a example involving multi-dimensional vectors.
Hope this helps!
  댓글 수: 2
daemo Lee
daemo Lee 2022년 1월 18일
First of all, thank you for helping me.
Unfortunately, my fundamental problem is I would like to use a dataset for just about one feature(numFeatures=1).
For example, if I want to predict the price of stock I could train the model through the below code
and assume X is the only feature like the price of the stock for 1~9 timestep(month) and Y is the price of the stock for 2~10 timestep(month).
XTrain = [1,2,3,4,5,6,7,8,9]
YTrain = [2,3,4,5,6,7,8,9,10]
[net,info] = trainNetwork(XTrain,YTrain,layers,options);
but I hope to know how to train multi-data sets (3 stock data & numFeatures=1) simultaneously when I take multi same feature like below.
XTrain1 = [1,2,3,4,5,6,7,8,9]
YTrain1 = [2,3,4,5,6,7,8,9,10]
XTrain2 = [2,2,4,5,6,8,10,11,12]
YTrain2 = [2,4,5,6,8,10,11,12,15]
XTrain3 = [5,3,2,1,1,1,6,9,10]
YTrain3 = [3,2,1,1,1,6,9,10,15]
[net,info] = trainNetwork(XTrain,YTrain,layers,options);
Please reply.
Pratyush Roy
Pratyush Roy 2022년 1월 19일
Hi Daemo,
Since you have multiple datasets, you can train multiple LSTMs in parallel. Please refer to the doc link below for more details:
Hope this helps!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Sequence and Numeric Feature Data Workflows에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by