私はMATLABを使ってニューラルネットワークを学習しています。私は、特徴抽出のためにPCAを使用する顔認識プログラムと分類のためのフィードフォワードニューラルネットワークを実装しようとしています。MATLABのニューラルネットワークはトレーニングに失敗します
トレーニングセットに3人の人がいます。画像は 'data'ディレクトリに保存されています。
私は個人ごとに一つのネットワークを使用しています、と私は私のトレーニングセットのすべての画像と、各ネットワークを訓練、私のプロジェクトのためのコードは以下の通りである。
dirs = dir('data');
size = numel(dirs);
eigenVecs = [];
% a neural network for each individual
net1 = feedforwardnet(10);
net2 = feedforwardnet(10);
net3 = feedforwardnet(10);
% extract eigen vectors and prepare the input of the NN
for i= 3:size
eigenVecs{i-2} = eigenFaces(dirs(i).name);
end
trainSet= cell2mat(eigenVecs'); % 27X1024 double
% set the target for each NN, and then train it.
T = [1 1 1 1 1 1 1 1 1 ...
0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0];
train(net1, trainSet', T);
T = [0 0 0 0 0 0 0 0 0 ...
1 1 1 1 1 1 1 1 1 ...
0 0 0 0 0 0 0 0 0];
train(net2, trainSet', T);
T = [0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 ...
1 1 1 1 1 1 1 1 1];
train(net3, trainSet', T);
ネットワークを訓練し終えた後、私はこのパネルを得る:
**私はこれらの数字は何を意味するのか理解できなかったので、誰もが、私にはパネルの進捗部分を説明することができれば。 **
ネットワークを訓練した後、私は以下を使用してネットワークをテストしてみてください:
Lは、私が得た結果は、この1X1024ベクトルである私のセットからのサンプルですsim(net1, L)
:
Empty matrix: 0-by-1024
私のアプローチは、ニューラルネットワークを間違ってトレーニングするのですか?このプログラムを修正するにはどうすればよいですか?
は、(それがans
変数に保存します)コード
train(net1, trainSet', T);
がnet1
変数に訓練されたネットワークを保存していないあなたに
は私が空行列に直面していた問題を修正するように見えるあなたの答え、のためにあなたをとても感謝し、あなたは私のためにパフォーマンスのセクションで異なるパラメータを詳しく説明してください可能性私は添付した写真の?私はそれらのパラメータを理解したいです。ありがとうございます –
https://www.mathworks.com/help/nnet/ug/train-and-apply-multilayer-neural-networks.htmlに説明があります。また、muパラメータの説明については、https://www.mathworks.com/help/nnet/ref/trainlm.htmlを参照してください。 – AVK