필터 지우기
필터 지우기

LSTMをつかって、​複数インプットから一​つのアウトプットを出​したいのですが、、、

조회 수: 12 (최근 30일)
Shuhei IKEDA
Shuhei IKEDA 2019년 11월 5일
댓글: Kenta 2020년 2월 23일
こんばんは。
現在、水量変動予測ができる時系列解析ネットワークを構築したく奮闘中です。
現在はLSTMを使いたいと思っているのですが、
インプットが4個、対応するデータが1個のアウトプットで学習させたいと思っています。
そして以下のように組んでみたのですが
numFeatures = 4;
numResponses = 1;
numHiddenUnits = 200;
layers = [ ...
sequenceInputLayer(numFeatures)
lstmLayer(numHiddenUnits)
fullyConnectedLayer(numResponses)
regressionLayer];
options = trainingOptions('adam', ...
'MaxEpochs',250, ...
'GradientThreshold',1, ...
'InitialLearnRate',100, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropPeriod',125, ...
'LearnRateDropFactor',0.2, ...
'Verbose',0, ...
'Plots','training-progress');
net = trainNetwork(input,pump3,layers,options); %inputは4個(4×881)のインプットデータ、pump3は対応データ
で学習を行うと、以下のようになります。
figure1 11.05.png
・LSTMのチュートリアルでは縦軸はaccuracy(%)でしたが、なぜかRMSE(Root Mean Square)になっていたり
・学習の挙動がおかしかったり しています。
これはインプットでーたの形式がおかしいのでしょうか?
もしくはLSTMのコードがおかしいため起こるのでしょうか?

채택된 답변

Hiro Yoshino
Hiro Yoshino 2019년 11월 11일
この様子だと、データの対が1つしかない状況でしょうか?
input{1,1:4} --> pump3(1)
input{2, 1:4} --> pump3(2)
....
input{n, 1:4} --> pump3(n)
のようにいくつか対が無いと学習は上手く行かないかなと思います。
どのチュートリアルか?分かりかねますが、今回は回帰モデルなのでRMSEで良いと思います。
分類でしたらAccuracyかなと思います。
  댓글 수: 2
Shuhei IKEDA
Shuhei IKEDA 2019년 11월 11일
回答いただきありがとうございます!
浅学で恐縮ですが
input{1, 1:4} --> pump3(1)
の(1)は時系列のことでしょうか。
現状は、インプット(4種類)に
・気温
・降水量
・上流からの水(1)
・上流からの水(2)
アウトプット(1種類)に
・下流への水
で学習させようと試みております。
この場合においても、データの対が1つということになるのでしょうか...?
-------------------------------------------------
RMSEの件については、
分類 → Accuracy(%)
回帰 → RMSE で出るようです!勉強不足でした、ありがとうございます。
Kenta
Kenta 2020년 2월 23일
ここの会話でいう、「データの対」とは、
・気温
・降水量
・上流からの水(1)
・上流からの水(2) ⇔ ・下流への水
という5つで1セットのデータが何個あるかということを言ってるのだと思います。
「・学習の挙動がおかしかったり」
に関しては、例えば初期学習率が100になっていて、少し大きいのかもしれません。local minimumを飛び越えてしまって、学習曲線がこのようにガタガタすることも多いかと思います。

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

추가 답변 (1개)

Hiro Yoshino
Hiro Yoshino 2019년 11월 11일
「入力」と「答え」 の対が必要です。(現状、一つだけ?)
「答え」は未知の入力が有った場合に得られる出力と同じフォーマットである必要が有ります。
(一つの値なら一つの値、連続値なら連続値)
LSTMが特殊に見えるかもしれませんが、普通の回帰モデルと同じです。
入力データ間の相関を考慮しているモデルということだけが異なる点です。

카테고리

Help CenterFile Exchange에서 時系列、シーケンス、およびテキストを使用した深層学習에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!