LSTMによる複数の入力データを用いた学習方法について
Show older comments
LSTMによる学習のうち,入力データと学習のさせ方に関する質問です.
% 学習用データの読み込み
% 処理
% 入力用の時系列データをTrainとして定義
XTrain = Train(:,1:end-1);
YTrain = Train(:,2:end);
numFeatures = 5;
numResponses = 5;
numHiddenUnits = 100;
layers = [ ...
sequenceInputLayer(numFeatures)
flattenLayer('Name','flatten')
lstmLayer(numHiddenUnits,'OutputMode','sequence')
fullyConnectedLayer(numResponses)
regressionLayer];
options = trainingOptions('adam', ...
'MaxEpochs',200, ...
'GradientThreshold',1, ...
'InitialLearnRate',0.005, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropPeriod',100, ...
'LearnRateDropFactor',0.3, ...
'Verbose',0, ...
'Plots','training-progress');
net = trainNetwork(XTrain,YTrain,layers,options);
実際には,実験パラメータとして条件Aというものが存在しているとすると,
・条件A = 1のときの訓練データTrain1
・条件A = 2のときの訓練データTrain2
...
・条件A = 6のときの訓練データTrain6
という6つの時系列データのデータセットを所持しています.
各訓練データは1つのタイムステップに1行5列のデータをもち,300タイムステップ分の行列データとなっています.
条件Aが異なることによる取得される数値の変化は時系列予測を行うのに十分な特徴を有するものとし,それ以外のデータの形状などは同じとします.
ここで,この6つの訓練データすべてを学習させた学習モデルを作成したいと考えています.
この場合,参考ページにあるような resetState() や predictAndUpdateState() を用いれば可能なのでしょうか?
基礎的な間違いなど未熟な部分も多々あるかと存じますが,是非ご教示のほどよろしくお願いいたします.
Accepted Answer
More Answers (0)
Categories
Find more on Deep Learning Toolbox 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!