前馈全连接神经网络 |软件

feedforward fully connected neural network | matlab

我花了 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);

输出这个:

根据我的理解,我的代码存在以下问题:

请问,我已经把我的牌放在 table 上了,我该怎么做?

我强烈认为您将 inputs/layers 的数量与其大小混淆了:

  • 您的网络有一个输入,其大小为 122;
  • 你的网络有两层:
    • 第一层:隐藏层25个节点(W是一个25×122的权重矩阵);
    • 第 2 层:具有 1 个节点的输出层(W 是一个 1 x 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,了解如何设置输入数据范围、传递函数等。