有人可以帮助在Matlab中训练这个神经网络并检查我在做什么吗?

时间:2013-12-06 19:09:26

标签: matlab data-analysis neural-network

首先 - 这是我的数据的外观:

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问题。请告诉我如何提供输入/反馈等?非常感谢你!

1 个答案:

答案 0 :(得分:1)

对于 layrecnet 以及其他需要 cell 输入格式的神经网络,您可以使用命令 con2seq(in) con2seq(out) [无论是否进出矢量的维度]。此命令将在 1xM 单元格排列中转换输入 NxM

参考:http://www.mathworks.com/help/nnet/ref/con2seq.html