競馬予想における「機械学習」の使いどころ
――ところで、「電脳賞」という企画を通して競馬に興味は持たれましたか?
テリー氏:
もともと石橋を叩いて渡るという性格もありますが、僕は勝つべくして勝つのが好きで、勝てる勝負に勝つということを人生でやっております。
でも、これってけっこう難しいことなんですよ(笑)。勝てる勝負に人は慢心してしまう。そういう意味では、必ず勝てると分かっているときに必ず勝つことを積み重ね、実績を積んできたので、博打の要素が強いものはあまり好みません。
――なるほど。だから「そもそもロジックに合うレースを探す」戦略をとったんですね。ちなみに、じゃあなぜ今回この企画に参加されたんですか(笑)?
テリー氏:
実は、元々は「機械学習」【※】を勉強したかったんですよ。
多くのハッカソンに参加してきたなかで、機械学習を勉強したいという気持ちを持っていたのですが、24時間や48時間のハッカソンのなかでは機械学習を勉強しきれないんですね。
でも、今回のように数ヶ月にまたがるコンテストの場合は、機械学習の勉強に適するのではないかと思ったんです。去年末にCさんの勉強会に参加させていただいたと先ほど言いましたが、そこでTensorFlowやPythonなりのランダムフォレストのアプリを教えてもらったのも大きかったです。
――あれ、でも今回、機械学習は使われていないですよね。
テリー氏:
僕は逆に回収率の意味で、馬の強さを機械学習で求めるのは不利だと思っています。なぜなら人力予想においても、強い馬なのか弱い馬なのかはある程度みえているからです。そこで機械学習をかけて当たる確率を上げることができても、おそらく回収率自体は上がらない。
その意味で、もし機械学習を用いるのであれば長期的に使えるものにしたいと思ってます。たとえば荒れやすいレース展開の特定。これに関しては10年分のデータを分析すれば出るはずなので、まずはこういった部分から突き詰めてみたいですね。
C氏:
機械学習はゲームの分野ではかなり使われているようですが、私も競馬でどこまで活かせるかはまだ詰めきれていません。ただ、パラメーターを選んだり、重み付けを自動化する部分を強化学習していくことで、より高度な競馬予想ソフトが作れるかもしれませんね。
各チーム(と、ニコちゃん)の今後の抱負
――そろそろ最後ということで、今後の抱負をお伺いしたいです。
C氏:
私たちの場合は大会が進むにつれて的中率が出ていたので、手応えは感じていたのですが、ただ今回の大会では何度か買い方を変えてしまっていたので、次回は買い方を決めるかたちで臨んでみたいですね。買い方の部分を学習していって、今度は回収率を上げていきたいです。
――テリーさんは最近はじまった独自チャンネルではどういったことをやられていくんですか?
テリー氏:
今回はたまたま回収率180%を記録することができましたが、最終的には100〜120%に落ち着くのではないかと思っています。運用負担は少ないようにしていきつつ、高い回収率を維持するための仕組みはこれからも追求していきたいです。
そして、今後はレースの選出、つまりロジックに合ったレースを選び出していくことに注力していきたいですね
「CHANCE」チームは1日に開催される24もしくは36レース全てを当てる覚悟でやられていると思うのですが、僕は当てはまる確率が最も高いレースに合わせて学習していく方向性にしたいと思っています。
――ちなみに、条件に当てはまるレースの傾向は見えてきているのですか?
テリー氏:
例えば、先ほど話題に挙がった後半速度の影響が大きいのは、短距離ではなく長距離なんですよね。すると、1200mのような短いレースでは、影響が少ないので予想が難しくなってくるんです。加えて、芝とダートでも回収率に差が出ていて、ダートの方が芝よりも荒れやすいのでそっちに照準を合わせた方がいいかもしれないとも考えています。
そして5レースという縛りも今後はなくなるので、ソフトの精度を上げつつ回収率を上げていきたいと思っています。機械学習も使っていって、さらに効果的なパラメーターを特定してロジックの精度を上げていきたいですね。
――ロジックの改良にも取り組んでいくんですね。
テリー氏:
実は今回のロジック以外にも回収率95%、101%といった結果になったものが何通りか出たんです。ただ、今回のロジックも含めて、偶発的要素の影響を受けていることは否めないので、今後も影響の大きいパラメーターを見極めながらロジックの改良を行なっていきたいですね。いずれにしても、100%付近になる組み合わせを作ることは可能だと、手応えをつかむ瞬間は何度もありました。
そもそも、年に数回かしかない、必ず勝てるレースもロジックとしてはあるんです。ただ、今回の場合は52レースと総数が決まってて、かつ必ず毎日5レースに絞るルールがあったので大変でした。
C氏:
毎回5回という制限があったので、「当てたらやめる」ということができないですからね。
テリー氏:
ちなみに、こんな面白い話も聞きました。1番人気が10回連続で1着を外すと、11回目以降の的中率が上がるそうなんです。さらに、連続して外れているので、1番人気の信用が落ちてオッズが少し上がるんですよ。それによって回収率が100%を越えるそうなのですが、いつそのレースがやってくるかは当日にならないと分かりません。実は僕もそれに近いことをやりたかったのですが、「電脳賞」のルールでは当日の朝9時までにレース番号を申請しないといけなかったので、諦めました。
――なるほど。じゃあ、最後に。お父さんの横にいる、ニコちゃんは今後どうしたいですか?
「ニコちゃんAI競馬」チーム・ニコ氏(以下、ニコ氏):
いまJavaをやっているんだけど、パパと同じような競馬のアプリを作ってみたい。
――小学生がJava! そういえば、先ほどの生放送のなかでは、ニコちゃんが三角関数を勉強したという話もありましたよね。
テリー氏:
彼女は私が予想する過程で算出される馬のスピードを、画面にヴィジュアライズする部分を作ってくれました。
あとは、これまでゲーム寄りのプログラミングを長くやっているので、それを使って予想した馬同士のレース展開をゲームに再現もしてくれましたね。三角関数を覚えながら、等速円運動も含め横スクロールの表現をやりきったという感じです。
――円運動って、ラジアンとかじゃないですか(笑)。
テリー氏:
15度おきにsin(サイン)cos(コサイン)を覚えるために、「2分のルート3」 とか、お風呂のなかで暗証させていましたね(笑)。三角関数は高校で習う数学ですが、しっかり教えれば小学生でも円運動を理解できるんです。
ニコ氏:
え、高校生の数学だったの? 小学生の勉強じゃなかったんだ……。
一同:
爆笑
――将来が楽しみすぎですね! Javaの勉強、頑張って下さい。今日はありがとうございました。(了)
「電脳賞」に参加するまで競馬の経験は皆無だったという両チーム。「競馬経験と予想結果は比例しない」ということが、火を見るより明らかになったインタビューだったと思います。
「1番人気が勝つレースは買わない」、「レースにロジックを合わせるのではなく、ロジックをレースに合わせる」、「追い込みが効きやすい=荒れやすいレースを選ぶ」……こうした、回収率向上だけを至上命題にロジックを磨き込んでいった「ニコちゃんAI教場」チームの戦略からは、長年の競馬愛好家にもヒントになるようなポイントがいくつもあったのではないでしょうか。
世の中には競馬予想ソフトが溢れています。ただ、そのどれもが圧倒的に胡散くさいし、インチキくさい! そんな怪しさ満点の業界に一石を投じているのが「電脳賞」に他なりません。
なぜなら、各チームの予想ソフトのロジック、予想結果の透明性、大会を通じたプロセスがすべてオープンになっているからです。その上、ルールが一般ユーザー寄りに設計されているため、少額の投資金額から、ソフトの予想を参考に馬券を買うことができるように敷居が低くなっています。
ただ、今後の発展として個人的に期待したいこともあります。
それはインタビューのなかでも出てきたように、パドックやレースの映像のようなマルチモーダルなデータから特徴量が作り出され、モデル化されることです。実際、消費者行動の分析などのマーケティングの現場ではすでに用いられている手法だといいます。
とはいえ、競馬の世界で完全予想(すべての結果を完全に予想し、当てること)が実現されることはあり得ないでしょう。
オセロや囲碁と異なり、競馬は完全情報ゲームではないからです。考慮すべきパラメーターは無数に存在しますし、なによりも「生身の馬」は予測不可能な存在といえます。その証拠に、「電脳賞(春)」の最終レースでもあった桜花賞で、2番人気だったアドマイヤミヤビは、なんと脱糞中にゲートが開き、スタートで後手を踏んで12着に敗れてしまいました。それでもいつか、馬の生体情報やリアルタイムコンディションを把握し、データ分析に活かせる日が来ないとも限りませんが……。
回収率100%から完全予想の狭間に広がる宇宙に想いを馳せながら、今回は筆を置こうと思います。