複数入力から一つの出力を出すLSTMの作成
33 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
LSTMを使用して1100×1の時系列データを3つ入力として入れて,一つの出力(1100×1)を出すようなコードを考えています.3つの時系列データはそれぞれ異なる単位を持つ変数で,データ数は400です.
以下の例からLSTMで実現可能だと思うのですが初心者なので正しく理解できていない可能性があります
深層学習を使用してエンジンの残存耐用期間 (RUL) を予測する
そこでLSTMでそのようなシステムが可能かどうかお聞きしたいです.
初心者で必要な判断に必要な情報が抜けていましたら申し訳ありませんがよろしくお願いいたします.
0 Kommentare
Antworten (1)
Naoya
am 25 Nov. 2021
複数の時系列を学習させる場合は、 入力データおよび教師データを nx1 のセル配列にする必要があります。
ここで各セルには、 [入力数 x 時系列ステップ数] , [出力数 x 時系列ステップ数] の行列を定義します。
以下は、 3入力1出力 100ステップ分の時系列データを 4種類学習した例となります。
% 入力データ 3入力 100時間ステップ分, 4時系列データ
xdata = {rand(3,100);
rand(3,100);
rand(3,100);
rand(3,100)};
% 出力データ 1入力 100時間ステップ分, 4時系列データ
ydata = {rand(1,100);
rand(1,100);
rand(1,100);
rand(1,100)};
% レイヤ定義
layers = [sequenceInputLayer(3);
lstmLayer(50);
fullyConnectedLayer(1);
regressionLayer()];
% 学習オプション / 学習
opts = trainingOptions('sgdm','InitialLearnRate',1e-2);
net = trainNetwork(xdata, ydata, layers, opts);
3 Kommentare
Naoya
am 18 Jun. 2024
学習済のネットワーク "net" は、下記のように predict 関数を使って、新たな時系列データ z_indata に対して、その推論値を z_outdata として出力することができます。
z_indata = rand(3,100);
z_outdata = predict(net, z_indata);
Siehe auch
Kategorien
Mehr zu 時系列、シーケンス、およびテキストを使用した深層学習 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!