2

RPOPを使用する次のニューラルネットワークがあります-Resilent Back Propagation

NetCore = new BasicNetwork();
NetCore.AddLayer(new BasicLayer(null, false, 32));
NetCore.AddLayer(new BasicLayer(new ActivationTANH(), true, 65));
NetCore.AddLayer(new BasicLayer(new ActivationTANH(), true, 65));
NetCore.AddLayer(new BasicLayer(new ActivationSigmoid(), false, 1));
NetCore.Structure.FinalizeStructure();
NetCore.Reset();

(私が正しいことをしていることを確認するためだけにコードを投稿しました。誰かが指摘しないのであれば、私は願っています)

ネットワークをトレーニングした後、エラー率は約 1% に最小化されます。テスト データに合格すると、ほとんどの場合、「5,07080020755566E-10」のような出力が生成されます。そのようなケースが発生した場合、それらは常に正の数であることに注意してください(まだ負の出力に遭遇していません)。

私が聞きたかった 2 番目の質問は次のとおりです。ニューラル ネットワークはサッカーの試合を予測することを目的としているため、32 個の入力があることを考慮します。16 の入力はチーム 1 のパフォーマンス データ用で、16 はチーム 2 用です。

トレーニング セットは次のように準備されます: 1000 の一致があり、それらのトレーニング セットの出力がすべて 1 であるとします。

そのため、トレーニング セットの準備中に、リバース マッチがさらに追加されます。出力は 0 で、もちろんチーム 1 とチーム 2 の入力はそれぞれ変更されます。

テストすると、同じ試合で次の結果が得られます

Output 0,0125940938512236 Desired 1 direct  
Output 0,0386960820583483 Desired 0 reversed  

問題はなぜですか?:)

どんな助けにも感謝します。この問題に光を当てることで、どこを掘るべきかを教えてくれます。前もって感謝します。

4

1 に答える 1

2

ネットワークをトレーニングした後、エラー率は約 1% に最小化されます。テスト データに合格すると、ほとんどの場合、「5,07080020755566E-10」のような出力が生成されます。そのようなケースが発生した場合、それらは常に正の数であることに注意してください(まだ負の出力に遭遇していません)。

5,07080020755566E-100 と 1 の間の数値です。これは非常に小さい数値で、0 より少し大きいだけです。 .) - E-10 は、「小数点以下 10 桁右にシフト」を意味します。

私はあなたの2番目の質問には本当に従いませんでした-それが本当にプログラミングの質問であると仮定して、個別に、より詳細に質問することをお勧めします. (現時点ではわかりにくいです。)

于 2013-09-16T14:08:56.763 に答える