0

AForge.NET - Neuro Learning - Backpropagation を使用したバックプロパゲーション学習に問題があります。私は実際にサンプル(近似)のようにニューラルネットワークを実装しようとしています。私の問題はこれについてです: 1. 入力ベクトル {1,2,3,...,19,20} 2. 出力ベクトル {1,2,3,...,19,20} (線形関数です) 3 . ActivationNetwork ネットワーク = 新しい ActivationNetwork(新しい BipolarSigmoidFunction(2), 1, 20, 1); 4. その後、約 1 万回 - teacher.RunEpoch(input, output);

学習が完了すると、network.Compute() が [-1;1] の値を返すのはなぜですか?

サンプルには、ベクトルの値を正規化するようなものがあります( x -> [-1; 1] および y -> [-0.85; 0.85] )。それを行うと、すべて問題ありません...しかし、それは私が望む唯一のサンプルですニューラルネットワークがどのように機能するかについて学びます。実装したい現在の問題はより複雑です(40を超える入力ニューロン)

誰でも私を助けることができますか?

4

1 に答える 1

2

私はまだ AForge を使っていませんが、BipolarSigmoidFunction はおそらくtanhです。つまり、出力は [-1, 1] の範囲内です。これは通常、分類に使用されるか、場合によっては有界回帰に使用されます。あなたの場合、データをスケーリングするか、線形活性化関数(identityなどg(a) = a)を使用できます。

于 2013-05-12T09:53:33.050 に答える