第23話では、自分で考えた「イン逃げ有利・不利」の判定ルールを、過去のレースデータに当ててみました。
「イン逃げ有利」と「イン逃げ不利」で1号艇の1着率に差が出たことで、少なくともこの考え方を、AIに教えるためのラベルとして検証していく価値はありそうです。
ただ、ここで一つ問題があります。
今回のラベルは、実際のレースで発生したスタートタイミングを使って判定しています。
これでは、レースが始まる前に「このレースはイン逃げ有利なのか、不利なのか」を予測することができません。
そこで次は、
レース前に分かっている情報から、このラベルを予測するには何を使えばいいのか?
を考えることにしました。
まず考えたのは「平均ST」
最初に候補として考えたのが、選手の平均STです。
これまでの開発でも、選手ごとのスタート特性を見るために平均STを使ってきました。
今回も、
- 1号艇の平均ST
- 2号艇の平均ST
- 3号艇の平均ST
- …
- 6号艇の平均ST
というように、6艇それぞれの過去のスタート特性をAIに渡せないかと考えました。
ただ、ここで少し考え方を変える必要があります。
今回予測したいのは、
「誰が一番速いスタートをするか」
ではありません。
第22話、第23話で考えてきた「イン逃げ不利」の条件は、
外艇が内側の艇をまとめて上回れるか
というものでした。
つまり、選手それぞれの平均STを見るだけではなく、
6艇のスタート特性を比較する必要がある
ということです。
「平均STが速い」だけでは判断できない
例えば、6号艇の平均STが0.15秒だったとします。
これだけを見ると、かなり速いように感じます。
でも、1号艇の平均STが0.14秒なら、
6号艇より1号艇のほうが速い
ということになります。
逆に、1号艇の平均STが0.18秒なら、同じ0.15秒でも意味が変わります。
つまり、
平均STそのものを見るだけではなく、艇同士の差を見る必要があるのではないか?
と考えました。
そこで候補になったのが、
平均STの差
です。
特に、
外艇の平均STと1号艇の平均STとの差
を見ることで、今回の「イン逃げ不利」というラベルに近い情報を作れるのではないかと考えました。
もう一つ気になった「STのばらつき」
平均STについて考えていると、もう一つ気になることがありました。
平均STが同じ選手でも、
毎回ほぼ同じタイミングでスタートする選手
と、
レースによってスタートタイミングが大きく変わる選手
では、少し違うはずです。
そこで調べてみたのが、
STのばらつきです。
今回は標準偏差を使って確認しました。
平均STが、
「その選手はどのくらいのスタートをするのか」
を表すものだとすれば、
標準偏差は、
「そのスタートがどのくらい安定しているのか」
を見るための材料として使えそうです。
最初は、このばらつきにも何か傾向があるのではないかと思いました。
まずは標準偏差だけで調べてみる
そこで、
- 6艇全体の平均的な標準偏差
- 外艇だけの平均標準偏差
- 標準偏差が一定以上ある外艇の数
などを見てみました。
ところが、思ったような単純な傾向は出ませんでした。
例えば、6艇全体の標準偏差をいくつかのグループに分けてみても、
標準偏差が大きくなるほどイン逃げ不利になる
というようなきれいな関係にはなりませんでした。
外艇の標準偏差についても同じです。
標準偏差が小さいケース、大きいケースを比べても、単純に一方向へ動くわけではありませんでした。
この結果を見て、
「ばらつきが大きいからイン逃げ不利」
といったルールを人間が決めてしまうのは違いそうだと感じました。
標準偏差は「判定ルール」ではなく「AIに渡す材料」にする
ここで、標準偏差の使い方を少し考え直しました。
今回の目的は、
人間がルールを作ってイン逃げ有利・不利を判断することではありません。
最終的には、過去のデータからAIに判断してもらいたい。
そう考えると、
標準偏差が大きいから不利
標準偏差が小さいから有利
と、人間が決めつける必要はありません。
明確な傾向がないのであれば、
標準偏差そのものを特徴量としてAIに渡して、平均STなど他の情報と合わせて判断させる
という使い方もできます。
この時点では、標準偏差単独での効果は分かりませんでした。
でも、だからといって完全に使えないとも決めませんでした。
平均STとの差と組み合わせてみる
そこで次に、
平均STの差+STのばらつき
という組み合わせで見てみました。
まず、外艇の中から平均STが最も速い艇を選び、
その艇と1号艇の平均STの差を確認します。
すると、
平均STの差が大きいケースでは、イン逃げ不利になる割合が高くなる
という方向性が見えてきました。
一方で、平均STの差が小さいケースでは、標準偏差を加えてみても、はっきりした方向性は出ませんでした。
この結果から、現時点では、
平均STの差を中心に考え、標準偏差は補助的な情報として持っておく
という考え方が良さそうだと思っています。
ただし、まだAIに入れて試したわけではありません。
あくまで現時点での特徴量候補です。
「複数の内側艇を上回る傾向」も気になる
もう一つ気になったのが、
選手が過去に複数の内側艇を上回ることがどのくらいあったのか
という部分です。
今回の「イン逃げ不利」のラベルは、
単純に、
外艇が内側の1艇より速い
というものではありません。
外艇が、その内側にいる複数の艇をまとめて上回ることが条件になっています。
それなら、
過去のスタートでも、その選手は複数の内側艇を上回ることが多かったのではないか?
という特徴を作れるかもしれません。
そこで、単純なST順位を見るのではなく、
複数の内側艇を上回った割合
のような数字を特徴量にできないかと考えました。
実際に調べてみると、イン逃げ不利のレースでやや高くなる傾向はありました。
ただ、その差はまだ大きくなく、これだけで特徴量として採用すると判断できるほどではありませんでした。
そのため、現時点では、
候補の一つとして残しておく
ということにしました。
今回の検証で見えてきたこと
ここまで調べてみて、AIに渡す情報について少しずつ整理できてきました。
現時点で考えている候補は、
平均ST
まずは基本となる情報として使えそうです。
特に、
外艇と1号艇の平均ST差
は、今回のラベルが「6艇の相対的な関係」で決まることを考えると、重要な候補になりそうです。
STのばらつき
今回は標準偏差を調べましたが、単独では明確な傾向は見つかりませんでした。
そのため、「これだけで判定する」というものではなく、AIに渡す補助的な情報として考えています。
複数の内側艇を上回る傾向
今回のラベルの構造には近い特徴だと思います。
ただし、現時点では差が大きくないため、こちらもまだ候補の段階です。
「使えそうな数字を増やす」だけではない
今回、特徴量を考えていて少し意識するようになったことがあります。
それは、
とにかく数字を増やせばいいわけではない
ということです。
以前のAI開発では、特徴量を増やせば精度が上がるのではないかと考えていました。
でも今回は、
このラベルを予測するために、本当に意味のある情報なのか?
を考えながら選ぶ必要があります。
例えば、標準偏差に単純な傾向がなかったからといって、
「使えない」
とすぐに決める必要もありません。
逆に、
「何となく関係ありそうだから」
という理由だけで、どんどん特徴量を増やすのも違う気がします。
このあたりは、実際にAIへ渡してみながら確認していく必要がありそうです。
次は「AIに渡す数字」を具体的にする
第23話までで、
AIに教えるための「イン逃げ有利・不利」というラベル
を考えました。
そして今回は、そのラベルを予測するために、
どんな情報をAIに渡せばいいのか
を考え始めました。
現時点では、
- 平均ST
- 外艇と1号艇の平均ST差
- STのばらつき
- 複数の内側艇を上回る傾向
などが候補になっています。
ただ、まだ「これを使えば予測できる」というところまでは来ていません。
次は、それぞれの情報をそのまま使うのではなく、
「この選手は速い」「この選手は安定している」という情報を、AIが比較できる数字にするにはどうすればいいのか。
ここをもう少し具体的に考えてみることにしました。
まだAIモデルを作る段階ではありません。
まずは、AIに渡す材料そのものを、もう少し整理してみようと思います。
あわせて読みたい
- 競艇AI開発日記 第23話|「イン逃げ不利」の仮説をデータで検証してみました
- 競艇AI開発日記 第22話|「イン逃げ有利・不利」をどう定義する?|AIに教える“正解”を考える
- 競艇AI開発日記 第15話|Accuracyは上がったのに、手応えはありませんでした
