我输入矩阵为:
input =
1 0 0 1 1
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
0 0 1 0 0
0 1 1 1 0
0 1 1 1 0
和
T = [eye(10) eye(10) eye(10) eye(10)];
我创建的神经网络是:
net = newff(input,T,[35], {'logsig'})
%net.performFcn = 'sse';
net.divideParam.trainRatio = 1; % training set [%]
net.divideParam.valRatio = 0; % validation set [%]
net.divideParam.testRatio = 0; % test set [%]
net.trainParam.goal = 0.001;
到目前为止工作正常,但是当我使用火车功能时出现了问题
[net tr] = train(net,input,T);
并在matlab窗口中显示以下错误:
??? Error using ==> network.train at 145
Targets are incorrectly sized for network.
Matrix must have 5 columns.
Error in ==> test at 103
[net tr] = train(net,input,T);
我也尝试了input'
和T'
。任何帮助都提前得到赞赏
答案 0 :(得分:1)
如果你看一下MATLAB官方文档train
,你会注意到T
必须与输入矩阵具有相同数量的列,在你的情况下是5。相反,尝试:
T = ones(size(input, 1));
或
T = [1, size(input, 1) - 1];
看看是否有效。