ディープラーニング:LSTMによる系列データの予測と分類の動画やサンプルファイルに掲載されている分類のコードを使ってlstmを試したところ、ネットワークの学習まではできましたが、検証が行えません。どうしたら検証まで行えますか??

 Réponse acceptée

Kazuya
Kazuya le 30 Sep 2019

0 votes

この例題の最後、テストデータの予測精度を確認していますが、これも検証と言えば検証ですね。
どんな検証を思い描いていらっしゃいますか?

5 commentaires

Kazuya
Kazuya le 30 Sep 2019
コメントを追いにくくなるとあれなので、こちらにてコメントしますね。
***matsushita ryota さんのコメント引用***
この例題と同じように分類した予測の精度を求めたいと考えています。 前述したコードだと最後のdisplayResultでエラーが出てしまい予測精度を出すことができませんでした。 載せて頂いた最後のaccも試してみたのですが、予測精度が出せず悩んでいます。
**********************
なるほど、、恐らく書かれたコードにバグがあると思いますので、、コードを開示していただけると話が速いかもしれません。それかエラーメッセージでもあれば、推測をもとになんらかしかコメントできるかもしれません。
matsushita ryota
matsushita ryota le 30 Sep 2019
Modifié(e) : michio le 30 Sep 2019
お手数おかけします。 使用したコードは以下の通りです。
%% Classify Data using LSTM clear load 'ScaledHARDataset' load 'dataC' load 'dataD'
NA = size(dataC, 1); XA = cell(NA, 1); for k = 1:NA
% XA{k} = [dataA{k, 'ax'}; dataA{k, 'ay'}; dataA{k, 'az'}]; XA{k} = [dataC{k, 'dataC'}];
end
TA = categorical(dataC.t);
layers = [ ... sequenceInputLayer(1) lstmLayer(50) lstmLayer(70, 'OutputMode', 'last') fullyConnectedLayer(11) softmaxLayer classificationLayer];
options = trainingOptions('sgdm', ... 'InitialLearnRate', 0.1, ... 'L2Regularization', 0.0001, ... 'LearnRateSchedule', 'piecewise', ... 'LearnRateDropFactor', 0.1, ... 'LearnRateDropPeriod', 100, ... 'MaxEpochs', 200, ... 'MiniBatchSize', 128, ... 'Shuffle', 'every-epoch', ... 'Plots', 'training-progress');
[net, info] = trainNetwork(XA, TA, layers, options);
%% Data conversion
NB = size(dataD, 1); XB = cell(NB, 1); for k = 1:NB
%XB{k} = [dataB{k, 'ax'}; dataB{k, 'ay'}; dataB{k, 'az'}];
XB{k} = [dataD{k, 'dataD'}];
end
TB = categorical(dataD.t); TBHat = classify(net, XB); displayResult(TB, TBHat, actLabels
エラーはdisplayResultが未定義です。と出ます。
Kazuya
Kazuya le 30 Sep 2019
displayResult という関数が無いんですね。
サンプルファイルと書かれていたので、どこかで入手されたファイルを実行されていると想像しているのですが、displayResult.m というファイルはありませんでしたか?
matsushita ryota
matsushita ryota le 30 Sep 2019
ありました。
https://jp.mathworks.com/matlabcentral/fileexchange/68770-lstm
コード自体はこのページのfunctionを参考に作成しました。 本文自体にdisplayResult.mをloadしている部分がなかったため使用しないものだと考えていました。
どうすればよろしいですか??
Kazuya
Kazuya le 1 Oct 2019
MATLAB は関数を load しないんですよね。。
実行しているスクリプトと同じフォルダ内に displayResult.m が保存されていれば大丈夫だと思います。
厳密にいうと検索パスが通っているフォルダの何れかに displayResult.m があればOKですね。

Connectez-vous pour commenter.

Plus de réponses (1)

matsushita ryota
matsushita ryota le 30 Sep 2019

0 votes

この例題と同じように分類した予測の精度を求めたいと考えています。 前述したコードだと最後のdisplayResultでエラーが出てしまい予測精度を出すことができませんでした。 載せて頂いた最後のaccも試してみたのですが、予測精度が出せず悩んでいます。

Catégories

En savoir plus sur Deep Learning Toolbox dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!