複数の隠れ層を持つ NN に Nguyen-Widrow アルゴリズムを使用する予定です。調査中に多くのあいまいさを見つけたので、それらを明確にしたいと思います。
以下は、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 の値は現在の隠れ層のサイズになり、入力値は前の隠れ層のサイズになりますか?