前回は、モデルAからモデルCまでを試した結果、
「AIに渡している情報そのものを見直した方がいいのではないか。」
そう考えるようになったところまで書きました。
とはいえ、
「特徴量を見直そう。」
と決めたものの、何から手を付ければいいのかはまだ決まっていませんでした。
では、実際にどこから特徴量を探していくのか。
この時、自分が最初に着目したのは「平均スタート(平均ST)」でした。
今回は、特徴量探索をどのように進めることにしたのか、その最初の考え方について書こうと思います。
最初に調べるなら、やっぱり平均スタートだった
競艇を予想するとき、自分が一番参考にしていた情報の一つが平均スタートです。
スタートが速い選手なのか。
遅れやすい選手なのか。
そんなことを考えながらレースを見ていました。
もちろん、実際には平均スタートだけを見て予想していたわけではありません。
「この選手は勝負どころでは思い切ったスタートを切る。」
「この選手は安定してスタートを決める。」
そんな経験から知っている選手ごとの特徴も、自然と頭の中で組み合わせながら予想していました。
ただ、それを最初からすべて特徴量としてAIへ渡すのは違う気がしました。
いろいろな情報を一度に追加してしまうと、
「どの特徴量が役に立ったのか。」
「本当に効果があったのは何だったのか。」
それが分からなくなってしまいます。
だからまずは、一番基本となる平均スタートだけを見てみる。
そこから少しずつ広げていこうと考えました。
思い込みではなく、データから考えたかった
もちろん、自分の中でも
「平均スタートだけでは足りないだろうな。」
という感覚はありました。
一方で、
「きっとこれが特徴量になるはず。」
という思い込みだけで進めるのも避けたいと思っていました。
AI開発は初めてです。
どんな特徴量が本当に役に立つのか、自分にはまだ分かりません。
そこで今回は、自分だけで決めるのではなく、ChatGPTにも特徴量の候補を提案してもらいながら進めることにしました。
候補を出してもらう。
実際に集計してみる。
結果を見て判断する。
この流れであれば、思い込みだけで特徴量を決めずに済みます。
また、自分が競艇を予想するときには考えもしなかったような特徴量が見つかるかもしれない。
そんな期待もありました。
データ分析からアプローチすることで、自分の経験だけでは気付けなかった視点を見つけられたら面白そう。
この頃は、そんなことを考えていました。
まずは基準になる数字を知る
最初に平均スタートを調べようと思った理由は、もう一つあります。
それは、
「まずは全体がどんな数字なのか把握したい。」
と思ったからです。
平均スタートは、どのくらいの値が一般的なのか。
ばらつきはどのくらいあるのか。
まずは基準となる数字を知っておきたい。
そんな気持ちで集計を始めました。
もちろん、平均スタートだけでスリット隊形を予測できるとは思っていません。
ある程度使えるかもしれない。
でも、それだけでは難しいかもしれない。
正直、この時点では半々くらいの気持ちでした。
だからこそ、まずはデータを見てみる。
そこから次の特徴量を考えていけばいい。
そんなスタンスで進めることにしました。
Pythonで分析できる面白さ
特徴量探索を始めて、もう一つ面白いと感じたことがありました。
それは、Pythonを使えば、データ分析があっという間にできることです。
分析用のコードは、ChatGPTに相談しながら作ってもらっています。
自分は、そのコードを確認して実際に動かし、結果を見ながら次に何を調べるかを考える役割です。
以前の自分だったら、こういう集計はExcelで時間をかけて行っていたと思います。
それが今では、必要な集計をすぐに実行し、その結果をもとに次の仮説を考えられるようになりました。
「Pythonを使うと、こんなことまでできるんだ。」
これは素直に驚きました。
Pythonの勉強を始めた頃は、for文や関数を覚えるだけでも苦戦していました。
それが今では、ChatGPTと相談しながら分析を進め、データを見て次の特徴量を考えています。
この頃は、Pythonを学んできたことが少しずつ実践につながっていることを実感していました。
特徴量探しは、まだ始まったばかり
この時点では、平均スタートだけで終わるとは思っていませんでした。
むしろ、
「特徴量探しは、時間がかかりそうだな。」
そんな予感の方が大きかったです。
平均だけではなく、
中央値。
標準偏差。
速いスタートを切る割合。
遅れやすい割合。
ほかにも調べられそうなことは、まだまだありそうです。
どれが本当にAIに役立つ特徴量なのかは、まだ分かりません。
だから、一つずつ調べる。
一つずつ試す。
その積み重ねが、最終的にAIの精度につながるのではないか。
そんなことを考えながら、特徴量探索を進めていくことにしました。
次回予告
今回は、特徴量探索をどのような考え方で始めたのかについて書きました。
次回は、実際に平均スタートを集計してみた結果についてまとめようと思います。
全体の平均や分布を調べてみると、次の特徴量につながるヒントも少しずつ見えてきました。
あわせて読みたい
前回は、モデルA〜Cを試した結果から、「AIに渡す情報」そのものを見直すことにしました。
モデルを改善するのではなく、特徴量探索へ進むことにした経緯をまとめています。
今回の記事につながる内容なので、まだ読んでいない方はこちらもぜひご覧ください。
▶ 競艇AI開発日記 第11話|AIに渡す情報を、データから探すことにしました
