25个向量,3维输出神经网络

时间:2012-02-13 06:53:17

标签: matlab neural-network pattern-recognition

如何摆脱错误。 我似乎无法训练我的神经网络获得三维输出。 错误说

  

???使用==>时出错network.sim在178   输入的网络大小不正确。   矩阵必须有1行。

==>中的错误testtt at 10

 Y = sim(net,P);
 addpath('data')
 load('ComPoles_Cir_Cy_Rect')
 load('target_row')
 P = Poles_Circle_10cm;
 T = Poles_Rectangular_40cm;
 m = min(min(P));
 mx = max(max(P));

 net = newff([m mx],[10 10 1],{'tansig' 'tansig' 'purelin'});
 Y = sim(net,P);
 plot(P,T,P,Y,'o')

 net.trainParam.epochs = 150;
 net = train(net,P,T);
 Y = sim(net,P);
 plot(P,T,P,Y,'o')    `

2 个答案:

答案 0 :(得分:1)

错误信息足够清晰:它期望一个矩阵有一行(一个1xM矩阵),它还有别的东西。

现在,希望这意味着您只需要在代码中转置一些矩阵,它应该可以工作。否则,你可能使用了错误的功能,你需要更多地思考你想要做什么。

答案 1 :(得分:0)

显然,如果没有关于P和m大小的任何信息,我可以猜出在这种情况下有什么问题。 MATLAB NN Toolbox希望输入和输出向量具有按列排序的数据,这意味着如果您具有带X输入的神经网络,则必须使用具有X行和N列的矩阵,其中N为输入样本的数量。输出数据也是如此。这是NN Toolbox在学习过程中最常见的错误。