2つの出力を持つ回帰ニューラルネットワークを構築したいです。
入力Aには3×2450のcell配列
出力Bには2×2450のcell配列
としています。
プログラムを実行すると以下のようなエラーが出力されてしまいます。
エラー: network/train (行 347)
Output data size does not match net.outputs{2}.size.
層の数やユニット数を変更してもエラーが改善しないのですが、
複数出力のニューラルネットワークを構築したい場合はこのようなプログラム構成で合っているのでしょうか。
入力Aには3×2450のcell配列
出力Bには1×2450のcell配列
で出力のユニット数を1にすると上記のプログラムは正常に動作します。
以下が作成しているプログラムです。
net.biasConnect = [1;1;1];
net.inputConnect = [1 1 0;0 0 1;0 0 0];
net.LayerConnect = [0 0 0;1 0 0;0 1 0];
net.outputConnect = [0 0 1];
net.trainFcn = 'trainlm';
net.layers{1}.transferFcn = 'logsig';
net.layers{2}.transferFcn = 'logsig';
net.layers{3}.transferFcn = 'purelin';
net.plotFcns = {'plotperform','plottrainstate','ploterrhist','plotregression'};
net.divideFcn = 'dividerand';
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
[net,tr] = train(net,A,B);