競艇AI開発日記 第31話|AIを予想に組み込んだら、回収率が下がった

第30話では、これまで続けてきた特徴量探しをいったん止めて、「イン逃げが有利なのか、不利なのか」をレース前の情報から予測するスリット予測AIのVer.1の仕様を決めました。

ここまで来て、ようやくAIを実際の予想に組み込んで検証できます。

正直、これは楽しみでした。

「やっとAIを使って検証できる」

そんな気持ちがありました。

そして、もう一つ密かに期待していたことがあります。

今回のAIは、レースを選別するために使います。

だったら、買うレースを絞ることで、回収率も改善するんじゃないか?

そんな期待もありました。

これまで作ってきたものが、実際の予想でどう働くのか。

いよいよ確認することにしました。


まずはAIを予想に組み込んでみる

今回のスリット予測AIは、「イン逃げが有利なのか、不利なのか」をレース前の情報から予測するAIです。

AIが予測した結果を、そのまま舟券にするわけではありません。

これまで使っていた1号艇の1着予想と組み合わせて、買うレースと見送るレースを選別します。

考え方としてはシンプルです。

1号艇を1着と予想して、AIも「イン有利」と判断したら購入。

逆に、AIが「イン不利」と判断したら見送る。

1号艇を1着としない場合も、AIの判定によって購入・見送りを決めます。

これでレース数を絞ることになります。

なので、

「これなら回収率も少し良くなるんじゃないか?」

と期待していました。

ところが、実際に結果を出してみると――。


「げっ!マジか!?」

最初に結果を見たときの感想は、これでした。

「げっ!マジか!?」

(笑)

既存の予想ロジックだけで検証した場合、回収率は76.08%。

そこにスリット予測AIのVer.1を加えると、回収率は58.77%でした。

AIを入れたことで、かなり下がっています。

もちろん、AIを使えば必ず回収率が上がるとは思っていませんでした。

それでも、

「悪くなるにしてもちょっと悪くなり過ぎじゃない?」

というのが正直な印象でした。

せっかくAIでレースを選別するのだから、少しくらい良くなってくれるのではないか。

そんな期待があっただけに、なかなか厳しい結果です。


前の検証では、改善する傾向があった

ここで少し気になったことがあります。

以前は、レースが終わった後のST情報を使って「イン有利・不利」のラベルを付け、その条件でレースを選別したときには、回収率が改善する傾向がありました。

もちろん、レース後の情報を使っているので、今回のスリット予測AIとは条件が違います。

それでも、

「イン有利・不利という考え方自体は、そこまで悪くないんじゃないか?」

という感覚はありました。

だとすると、今回の問題は別のところにあるのかもしれません。

もしかすると、

過去の情報からAIがイン有利・不利をうまく判定できていない。

その結果、これまでなら買っていたレースまで見送ってしまっているのではないか。

そんなことを考えました。


AIの予測精度を見てみる

そこで、AIそのものの性能も確認しました。

スリット予測AI Ver.1のAccuracyは61.40%。

ROC-AUCは0.5388でした。

数字だけを見ると、ものすごく高い性能というわけではありません。

ただ、ここで単純に、

「AIの精度が悪いから、回収率も悪くなったんだ」

とは考えませんでした。

そもそも、過去の情報だけを使って未来のレースを予測すること自体が難しい。

今回の結果を見て、まずはそんな感覚がありました。

そして、自分の中ではもう一つ分けて考えていました。

今回のAIは、回収率を直接予測するAIではありません。

あくまで「イン有利・不利」を予測するAIです。

だから、

「イン有利・不利を予測できること」と「回収率を改善すること」は、関係はあるけれど同じことではない。

そんなふうに考えていました。

なのでAIの予測精度については、

「今の自分が作ったAIの実力は、今のところこれなんだな」

というくらいの受け止め方でした。


AIを入れて、何が変わったのか?

では、回収率が悪くなった原因は何なのか。

まずは、AIあり・なしで何が変わったのかを見ることにしました。

特に気になったのが、AIによって購入を見送ったレースです。

AIを入れたことで、購入するレース数は減っています。

その中に、

「これ、見送らなくてもよかったんじゃない?」

と思えるような、もったいないレースがありそうでした。

一方で、「1号艇不利」とAIが判断して購入したレースの回収率も、あまり良くありません。

つまり、

  • AIによって買わなくなったレースにも問題がありそう
  • AIによって「不利」と判断して買ったレースにも問題がありそう

という感じです。

細かいレースを一つ一つ追い込んだわけではありません。

ただ、結果を眺めていると、

「AIの判定を、そのまま今の舟券ロジックに組み込んでいいのかな?」

という疑問が出てきました。


そもそも、この組み合わせ方でいいのか?

今回、考えていたのは、

非AIで1着を予想する

そこに、

AIでイン有利・不利を判定する

という組み合わせでした。

当初は、この2つを組み合わせれば、より良いレース選別ができるのではないかと考えていました。

でも、今回の結果を見て、

「そもそも、この組み合わせ方自体が本当に良いものなのか?」

ということも、冷静に考える必要があると思うようになりました。

もちろん、まだ回収率を改善できる可能性はあると思っています。

だからといって、

「AIの精度をもっと上げれば全部解決する」

とも限りません。

AIの予測。

既存の1着予想。

そして、それを使ったレース選別。

それぞれを分けて考える必要がありそうでした。


じゃあ、Ver.1をどうする?

正直、スリット予測AI Ver.1をどうするかは迷いました。

ただ、一つ気になっていることがありました。

そもそも、学習に使っているデータ数がまだ少ないのではないか?

ということです。

この状態で、

「Ver.1は性能が悪い」

と判断してしまっていいのか。

そこにはまだ疑問が残っていました。

だったら、今の段階で仕様を変更するのではなく、まずはVer.1を固定してみよう。

そう考えました。

スリット予測AI Ver.1は、ここで一度完成とします。

そして、データが増えていく中で、AIの性能がどう変わっていくのかを長期的に見ていく。

これなら、今のVer.1を一つの基準として残すこともできます。


AIを続けながら、別の方法も考える

ただし、Ver.1を固定することと、

「この方法が正解だった」

と考えることは別です。

今回の検証をしてみて、

「そもそもの方法論から、別のアプローチも考えたほうがいいんじゃないか?」

という気持ちも出てきました。

Ver.1は長期モニタリングする。

一方で、別の方法も考えてみる。

今の段階では、それくらいの距離感がちょうどいいのだと思います。

AIを作れば、それだけで予想が良くなる。

そんな簡単な話ではありませんでした。

でも、だからといって、ここでAIをやめるつもりもありません。

むしろ今回の検証で、

「AIの性能を上げること」だけではなく、「AIを予想の中でどう使うのか」も考えないといけない。

そんなことを感じるようになりました。

まずはスリット予測AI Ver.1を固定して、データが増えた先でどうなるのかを見てみます。

そしてその一方で、別のアプローチについても考えていこうと思います。

AIを作るだけではなく、AIを予想の中でどう使うのか。

ここからは、そんなことも考えていく必要がありそうです。


あわせて読みたい

競艇AI開発日記

← 競艇AI開発日記 第30話|特徴量探索を止めてVer.1を作る

競艇AI開発日記

タイトルとURLをコピーしました