首先 - 这是我的数据的外观:
in1 = [a vector of [5189,1]]
in2 = [a vector of [5189,1]]
in3 = [a vector of [5189,1]]
out = [a vector of [5189,1]]
我要做的是使用3输入/
预测输出现在,我一直在训练径向基础网络,执行以下步骤:
net = newrbe([in1';in2';in3'], out', 100);
然后使用具有sim
函数的测试集获取预测。首先,这是我应该做的事情的正确方法吗?我得到了一个很好的答案/预测,因此我认为它很好。
现在,我想用相同的方法训练一个递归神经网络。我根据以下手册进行了以下操作:http://www.mathworks.com/help/nnet/ref/layrecnet.html
所以,
net = layrecnet(1:2,100);
然后我只做了[Xs,Xi,Ai,Ts] = preparets(net,X,C);
其中X = [in1';in2';in3']
和C = out';
我收到了错误:
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
因此,使用"Index Exceeds Matrix Dimensions" neural network function error
的答案我做了X = num2cell([in1',in2',in3']);
和C = num2cell(out');
然后再次尝试preparets
函数获取:
Error using preparets (line 161)
The number of input signals does not match network's non-feedback inputs.
OR
Error using network/train (line 293)
Number of inputs does not match net.numInputs.
有人可以教我/解释一下我该如何完成这件事?我对一个递归神经网络有一个很好的想法,但是这个问题似乎是一个matlab问题。请告诉我如何提供输入/反馈等?非常感谢你!
答案 0 :(得分:1)
对于 layrecnet 以及其他需要 cell 输入格式的神经网络,您可以使用命令 con2seq(in) 和 con2seq(out) [无论是否进出矢量的维度]。此命令将在 1xM 单元格排列中转换输入 NxM 。