2

私はニューラルネットワークとプログラミング全般に不慣れです。Java でニューラル ネットワークを作成し、サッカーのデータを見ています。2 つの入力があります。

1) ホームチームの n 試合での勝率 2) アウェイチームの n 試合での勝率 %

「標準的な統計モデル」を使用すると、これら 2 つの数字だけを使用して、妥当な精度で試合で発生するゴールの数を予測できます。ただし、目標数を予測するために NN をトレーニングしようとすると、単純に収束しません:(

私は遺伝的アルゴリズムを使用してネットワークをトレーニングしています。これは、人口サイズが 100,000 の最初の数世代の最も適した個体です。

1) 0.1407408056662556 2) 0.13406266176967252 3) 0.13406267600215235 4) 0.1338753567259805 5) 0.13280257001618265 6) 0.13275165964860766 7) 0.1319768652096691 8) 0.13161029326238236

収束しているように見えることがわかりましたが、非常に遅い速度で収束しており、これを何世代にもわたって何度も実行しましたが、0.13 を下回ることはありません。

10 個のニューロンからなる 1 つの隠れ層と 1 つの出力ニューロンを備えたフィードフォワード ニューラル ネットワークを使用しています。隠れ層で双曲線正接シグモイド関数を使用し、出力層でシグモイド関数を使用しています。目標数を 10 で割って、0 から 1 の間の出力を得ました。

これを実行する前は、NN は単純な統計モデルよりも優れていると思っていましたが、実際にはそうではありませんでした。私の質問は:

表示される結果から、コードのどこかにエラーがあるように見えますか? ネットワークのアーキテクチャを変更する必要がありますか? ネットワーク入力/トレーニング データを何らかの方法で変更する必要がありますか?

私はしばらくの間、問題を特定しようとしてきましたが、それは私を精神的に駆り立てています. どんなアドブも大歓迎です。

どうもありがとう。

4

1 に答える 1

3

あなたが得るものは、そのようなニューラルネットワーク構成で達成できる最高のものである可能性が非常に高いです。Wekaの多層パーセプトロンなど、既存のNN実装があります。優れた分析ツールがあり、得られる結果が実装エラーによるものではないと確信している場合は、それらの実験を開始することをお勧めします。

于 2012-02-12T01:38:39.947 に答える