将来のタイムステップの予測について
조회 수: 7 (최근 30일)
이전 댓글 표시
現在評価版を使用しており、深層学習を使用した時系列予測について質問があります。
以下ページにある例題を使い2入力1出力したい場合、どのようにして将来のタイムステップを予測すると良いのでしょうか。
[net,YPred] = predictAndUpdateState(net,YTrain(end));
ですとYTrain(end)で1入力しかできず実行できません。
YTrain_new = [YTrain(1:end-1);YTrain(2:end)];
[net,YPred] = predictAndUpdateState(net,YTrain_new(:,end));
そこで、YTrainを分けてみましたがこういう意味ではありませんよね?
どのように行うと最後まで実行可能でしょうか。
댓글 수: 1
Kenta
2020년 2월 23일
こんにちは、こちらすでに解決されていますか?
こちらのpredictAndUpdateState関数では、時刻t+1の値を予測し、次は、その値をインプットさせ更新させながらどんどん先の方向の値を予測していきます。
一方、質問者さまの課題はおそらく、若干異なっていて、たとえでいうと、
時刻tのcosxとsinxの値からtanxの値を予測し、次は時刻t+1のcosxとsinxの値からtanxの値を予測...
という感じなのかなと思いました。センサーデータのようなインプットデータが時刻t以降も入るうえで、そのデータから時刻t以降のほしいデータを予測したい、といったことなのかと推測しました。
その場合は、「sequence to one」の回帰をどんどん先の時間まで繰り返せばよいかと思います。
채택된 답변
Hiro Yoshino
2019년 12월 26일
この例題は、入力と出力が同じタイプのものです。
何が行っているのかをご理解されれば、技術的な問題では無いとご理解いただけるかなと思います。
まず、学習段階では X --> Y (未来のX) のペアで教師あり学習をします
テスト段階ではX_test --> Y_test (未来のX_test)です。
predictAndUpdateState は未来のX_testの予測を使って上げて、更に未来を予測しようとしています。
つまり、Y_test --> Y_test_1 (未来のY_test)
つまり2入力1出力では、出てきた1出力のモノを再度入力にすることは出来ないのですよね。
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Deep Learning Toolbox 入門에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!