【发布时间】:2012-11-21 07:16:49
【问题描述】:
我计划将 Nguyen-Widrow 算法用于具有多个隐藏层的 NN。在研究的过程中,我发现了很多含糊不清的地方,我想澄清一下。
以下是 Nguyen-Widrow 算法的伪代码
Initialize all weight of hidden layers with random values
For each hidden layer{
beta = 0.7 * Math.pow(hiddenNeurons, 1.0 / number of inputs);
For each synapse{
For each weight{
Adjust weight by dividing by norm of weight for neuron and * multiplying by beta value
}
}
}
只是想澄清hiddenNeurons的值是特定隐藏层的大小,还是网络中所有隐藏层的大小。我通过查看各种来源混淆了。
换句话说,如果我有一个网络(3-2-2-2-3)(索引 0 是输入层,索引 4 是输出层),那么 hiddenNeurons 的值会是:
NumberOfNeuronsInLayer(1) + NumberOfNeuronsInLayer(2) + NumberOfNeuronsInLaer(3)
或者只是
NumberOfNeuronsInLayer(i) ,其中 i 是我所在的当前层
编辑:
那么,hiddenNeurons 的值就是当前隐藏层的大小,而输入的值就是前一个隐藏层的大小?
【问题讨论】:
-
我认为这个等式与每个隐藏层有关,即隐藏神经元的数量是第 i 层中的神经元数量(可以从一个隐藏层到另一个隐藏层不同),输入的数量是相同第 i 层的输入数,即前第 (i-1) 层的神经元数。
-
我不确定说实话,这么多消息来源说不同的东西,我对算法必须是什么感到困惑。不过感谢您的回复:)
-
其实在大多数情况下,一个隐藏层就足够了,至少数量较多的网络可以减少到一个隐藏层的类比。这就是为什么该公式通常以隐藏层中的神经元数量和(其)输入来描述的原因。当您添加二维隐藏层时,该公式也递归适用于它,其中输入是前一层的输出。
-
那么,hiddenNeurons 的值就是当前隐藏层的大小,而输入的值就是前一个隐藏层的大小?顺便谢谢你的回复:)
-
hmm,我仍然不确定,尽管大多数示例只有一个隐藏层,但在计算隐藏层和输出层之间的权重时,使用的输入大小似乎是输入层。
标签: artificial-intelligence neural-network