如何在Matlab中使用2个或更多输入神经网络

时间:2011-01-18 11:46:55

标签: matlab neural-network

我想用多个输入提供神经网络(使用Matlab工具箱)。

如果我将输入向量声明为P = [1 2 3 4; 1 2 3 4; 1 2 3 4;1 2 3 4],目标为T = [1 2 3 4],然后将网络声明为net = newff(P,T,1);,当我查看网络参数numInputs: 1时,在我看来,输入的数量应该是3(每行一个)。

我的问题是:如何使用3个独立的输入来馈送网络?

提前致谢, 问候 G.B。

1 个答案:

答案 0 :(得分:2)

您必须区分以下参数:

  1. 神经网络的输入向量的维数。在您的示例中,第一个图层有一个维度为4的输入向量。此参数在Matlab的文档中称为R
  2. 网络的不同输入数量,即向网络输入的数量。来自Neural Network Toolbox doc's

      

    <强> net.numInputs   此属性定义   网络的输入数量   收到。它可以设置为0或a   正整数。 澄清:   网络输入数量和大小   网络输入的不一样   事情。输入数量定义   网络有多少组向量   收到输入。每个的大小   输入(即,中的元素数量)   每个输入向量)由确定   输入大小(net.inputs {i} .size)。   大多数网络只有一个输入,   其大小由   问题

  3. 提供给网络的输入样本数。在您的示例中,您有3个4维向量样本。

  4. 考虑到这一点,如果您打算为网络提供3个样本,那么您的代码就可以了。另一方面,如果您确实需要 3组不同输入,则可以手动更改网络中的numInputs参数,也可以创建自定义网络:

    net = network(numInputs,numLayers,biasConnect,inputConnect, layerConnect,outputConnect);
    

    根据需要输入数量numInputs,但您需要自己定制它们。您可以在此处详细了解:http://www.mathworks.com/help/toolbox/nnet/network.html#667825