我花了过去3个小时尝试在matlab中创建前馈神经网络,但没有成功。现在真的让我感到困惑。
我正在尝试创建以下神经网络:
但是从对network
函数的分析中,我无法理解如何在单个隐藏层中指定25个隐藏单元或神经元,以及如何使所有输入层的神经元相互连接这些隐藏的单元。
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect);
例如,如果我想创建一个神经网络,并在隐藏层中包含5个输入和5个隐藏单元(包括偏置单元),并使其完全连接。我正在使用此代码:
net = network(5,1,1,[1 1 1 1 1],0,1);
输出以下内容:
据我了解,我的代码存在以下问题:
所以,请把我的卡片放在桌子上,怎么办?
答案 0 :(得分:1)
我强烈认为您是在混淆输入/图层的数量及其大小:
W
是25 x 122的权重矩阵); W
是1乘25的权重矩阵)。以下代码可以完成您想做的事情:
% 1, 2: ONE input, TWO layers (one hidden layer and one output layer)
% [1; 1]: both 1st and 2nd layer have a bias node
% [1; 0]: the input is a source for the 1st layer
% [0 0; 1 0]: the 1st layer is a source for the 2nd layer
% [0 1]: the 2nd layer is a source for your output
net = network(1, 2, [1; 1], [1; 0], [0 0; 1 0], [0 1]);
net.inputs{1}.size = 122; % input size
net.layers{1}.size = 25; % hidden layer size
net.layers{2}.size = 1; % output layer size
net.view;
这将导致:
也请尝试help network
,以了解如何设置输入数据范围,传递函数等。