我想用多个输入提供神经网络(使用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。
答案 0 :(得分:2)
您必须区分以下参数:
4
的输入向量。此参数在Matlab的文档中称为R
。网络的不同输入数量,即向网络输入的集数量。来自Neural Network Toolbox doc's:
<强> net.numInputs 强> 此属性定义 网络的输入数量 收到。它可以设置为0或a 正整数。 澄清: 网络输入数量和大小 网络输入的不一样 事情。输入数量定义 网络有多少组向量 收到输入。每个的大小 输入(即,中的元素数量) 每个输入向量)由确定 输入大小(net.inputs {i} .size)。 大多数网络只有一个输入, 其大小由 问题
提供给网络的输入样本数。在您的示例中,您有3个4维向量样本。
考虑到这一点,如果您打算为网络提供3个样本,那么您的代码就可以了。另一方面,如果您确实需要 3组不同输入,则可以手动更改网络中的numInputs
参数,也可以创建自定义网络:
net = network(numInputs,numLayers,biasConnect,inputConnect, layerConnect,outputConnect);
根据需要输入数量numInputs
,但您需要自己定制它们。您可以在此处详细了解:http://www.mathworks.com/help/toolbox/nnet/network.html#667825