如何在训练后计算神经网络中的权重?

时间:2015-04-22 09:02:25

标签: matlab neural-network

我有一个带有1个隐藏层和20个神经元的神经网络。我的训练集有8个功能。

因此,我期待输入权重矩阵为20x8,而在net.IW,我得到一个20x10的矩阵。关于为什么会这样,我有点困惑。

我没有设置任何延误。我也无法弄清楚我需要如何从隐藏层到输出层获得1个神经元的权重(期望20x1向量)。

编辑:

1)它并不总是给'N'特征+ 2额外的重量。在另一个问题中,我正在训练一个不同的神经网络,它在唯一隐藏层上有10个输入特征和25个神经元。因此,虽然我应该期望输入权重矩阵(从输入层到隐藏层的权重)是25x10的矩阵,但我得到一个25x16的矩阵。请参阅page的底部以查看此内容

  

“(输入)权重矩阵的行数与其所在层的大小一样多   to(net.layers {i} .size)。它拥有与产品一样多的列   输入大小与权重相关的延迟数量:

     

net.inputs {j} .size * length(net.inputWeights {i,j} .delays)“

我的长度(net.inputWeights {i,j} .delays)是1,所以我不知道为什么我得到的值超过了输入功能的数量。

2)我在输入层有8个神经元(我有8个输入功能)。

3)训练网络的代码。

net = newfit(trainX', trainY', 20 );
net.performFcn = 'mae';
net = trainlm(net, trainX', trainY');

enter image description here

0 个答案:

没有答案