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
問題はなぜですか?:)
どんな助けにも感謝します。この問題に光を当てることで、どこを掘るべきかを教えてくれます。前もって感謝します。