1

入力行列は次のとおりです。

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'andも試しましたT'。どんな助けでも事前に感謝します

4

1 に答える 1

1

のMATLABの公式ドキュメントを見ると、入力行列と同じ数の列が必要であることがわかります。この場合は5ですtrainT代わりに、次を試してください。

T = ones(size(input, 1));

また

T = [1, size(input, 1) - 1];

これが機能するかどうかを確認します。

于 2012-10-25T12:20:15.010 に答える