MATLAB中的神经网络训练失败

MATLAB中的神经网络训练失败,matlab,neural-network,pca,face-recognition,Matlab,Neural Network,Pca,Face Recognition,我正在使用MATLAB学习神经网络,我正在尝试实现一个使用PCA进行特征提取的人脸识别程序,以及一个用于分类的前馈神经网络 我的培训集中有3个人,图像存储在“数据”目录中 我为每个人使用一个网络,并使用我的培训集的所有图像对每个网络进行培训,我的项目代码如下所示: dirs = dir('data'); size = numel(dirs); eigenVecs = []; % a neural network for each individual net1 = feedforwardnet(

我正在使用MATLAB学习神经网络,我正在尝试实现一个使用PCA进行特征提取的人脸识别程序,以及一个用于分类的前馈神经网络

我的培训集中有3个人,图像存储在“数据”目录中

我为每个人使用一个网络,并使用我的培训集的所有图像对每个网络进行培训,我的项目代码如下所示:

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);
完成网络培训后,我得到以下面板:

**如果有人能向我解释一下小组的进度部分,因为我不明白这些数字是什么意思**

培训网络后,我尝试使用以下方法测试网络:

sim(net1, L)
其中L是我集合中的一个样本,它是一个1X1024向量,我得到的结果是:

Empty matrix: 0-by-1024
我训练神经网络的方法错了吗?我能做些什么来修复这个程序

谢谢

代码

 train(net1, trainSet', T);
不将经过训练的网络保存到
net1
变量中(将其保存到
ans
变量中)。这就是
sim
的结果为空的原因:在
net1
中没有经过训练的网络。您必须自己保存经过培训的网络:

 net1= train(net1, trainSet', T);

非常感谢您的回答,这似乎解决了我在使用空矩阵时遇到的问题,您能为我详细说明我所附图片性能部分的不同参数吗?我很想了解这些参数。谢谢这里有一个描述:。您还可以参考mu参数的说明