競艇開発(強化学習)

おひさしぶりです。
サボりにサボってました。。。

前回は単勝について予測モデルの出力分析しました。
前回の結果としては、”予測値が1 かつ 1コース かつ オッズが2倍” のときに回収率が110%を超えるという分析結果になりました。

今回は単勝オッズと予測値を強化学習により学習させ、一番良い買い方を学習させてみました。

入力:各選手の予測値、オッズの12要素
出力:どの選手に賭けるかの6要素
学習モデル:DQN(Deep Q-Network)

で学習させてみました。

結果としては、各レースで必ず1人に賭けるという条件下では、回収率95%前後 という結果になりました。
控除率75%を考えると良さそうですが、まだ運用できそうではないですね。。

この回収率になっている理由としては、
・執行戦略(モデル設計)が上手くいってない
・少し過学習してしまっている。

を考えています。

今回のモデルでは確実に誰か1人には賭けないといけないので、期待値がなさそうなレースにも投票してしまっています。
ですので、どのレースのどの人にどのくらい賭けるかまで学習させる必要がありそうだと思っている一方で、モデルが複雑になりすぎると学習できなくなる恐れもあると考えています。

ちなみに、競馬AIゆまの予測値を用いて同様の強化学習を行いましたが、
過学習してしまい上手く行きませんでした。
ですので、予測値の部分以外で改良する必要がありそうです。

改良については今後していこうと思います!!
強化学習など詳しい方いればアドバイスいただけたらと思います。

では、以下でコードの説明をしていきます。

ここから先は

6,783字 / 1ファイル

競艇のデータ取得から買い目抽出、自動購入までpythonでできるようにしていきます。 徐々に書いていくつもりですが、サボっても多めに見てく…

この記事が気に入ったらサポートをしてみませんか?