初めましての方、こんにちは!毎週150万円の実弾を馬券に突っ込む男、横けんです。
このブログでは、完全自作の競馬予想AI(LightGBM)とTARGET frontier JVの膨大なデータを駆使して、感覚やオカルトを一切排除した「勝つための客観的指標」と「リアルな実戦の記録」を公開しています。
先週の収支ですが
9月12日(土)は14万7040円のマイナス
9月13日(日)は37万4470円のプラス ということになっております。
先週は2日で70万円の勝負でした。
激闘が続いていますね。
それでは、恒例の自信度4以上の回収率ですがこちらになります!

自信度4以上に絞ったレースでは、本命(◎)が22レースで6勝、3着以内に入ったのが半分ちょうどの複勝率50.0%でした。単勝の回収率が107%、複勝の回収率が101%で、どちらも100%を超えています。対抗(○)も複勝率59.1%・複勝の回収率110%で、上位2頭はきちんと走ってくれました。いっぽうで3番手評価の▲は22レースで0勝・複勝率13.6%・単勝の回収率0%。ここだけがはっきり足を引っ張っています。
自信度1以上の全レースの予想の回収率を見てみましょう、こちらです!

自信度で絞らず、予想を出した40レース全部で見ると、本命は11勝、複勝率52.5%、単勝の回収率108%・複勝の回収率98%です。私は単勝も複勝も「100%」ではなく「80%」を基準に見ています。馬券は買った瞬間に2割が控除(主催者の取り分として差し引かれること)されるので、80%がベタ買いの世界の真ん中だからです。その物差しで見れば、絞っても絞らなくても本命が100%前後で立っていた週でした。
そして、本命馬の自信度別回収率はこちらです!

本命を自信度ごとに割ると、いちばん勝負している自信度5が10レースで4勝、単勝の回収率205%・複勝の回収率105%。自信度3も単勝の回収率158%でした。逆に自信度4は12レースで単勝の回収率26%と沈んでいます。自信度5と自信度3が引っ張って、自信度4だけが抜け落ちた形です。ただし自信度5は10レース、自信度3は9レースしかありませんので、この数のレースで順番そのものを語りすぎないようにしています。
▶ 私が毎週150万円を賭けながら3年かけて作った競馬予想AIの全体像は、「競馬予想AIの作り方・完全ガイド」に最初から順にまとめています。
- 先に、今週決めたことから。荒れるレースはAI、堅いレースは私の見立てで
- 土曜の手痛いマイナスと、日曜の軌道修正
- この2日の数字が、どうなっていたか
- 今週やった改善(先に要点だけ)
- 今週もこのほかにも色々な改善を行っております。具体的には…
- ① レース名が途中で切れていたのを直しました。24レース中10レース→0レース
- ② 見出しの書式が二重に書かれていて、打ち消されていました
- ③ 早朝の予想で、風の強さの列が空のままでした(まだ直していません)
- ④ 新しい印の決め方を、不具合の修正まで含めて本番に入れました
- ⑤ 数だけ書いて何を数えたか書かない、というAIの癖を機械で止めさせました
- ⑥【地方】再学習がいつまでも始められなかった、本当の原因
- ⑦【地方】実測の必要メモリは、仕様書に書いてあった値の約1.9倍でした
- ⑧【地方】新しいモデルと今のモデルの差は、見つけられませんでした
- 荒れるレースと堅いレース。役割を分けた、いちばん大きい週でした
先に、今週決めたことから。荒れるレースはAI、堅いレースは私の見立てで
先週は9月12日(土)が14万7040円のマイナス、9月13日(日)が37万4470円のプラスで、2日を合わせると22万7430円のプラスでした。
ただ、今週いちばんお伝えしたいのは収支ではありません。土曜の負け方を見て、AIの予想は荒れるレースでこそ信用してよくて、そんなに荒れないレースでは、AI導入前から私がやってきた予想法のほうが精度が高いということが、私の中ではっきり決着したことです。これは統計で証明したという話ではなく、この土日を戦った私自身の方針です。以下、その中身と、今週やったことを順に書いていきます。
土曜の手痛いマイナスと、日曜の軌道修正
土曜が結構マイナスで、日曜が結構プラスで、プラス収支で終わっております。
土曜が私の中で手痛いマイナスで、特に阪神12レースのヒルノプーリアを自信度5で大勝負したのですが、これは普段の私では絶対に本命にしない馬だったのですが、AIの数値が良くて、勝負してしまって5着に負けてしまいました。
このことから、私が明確に気づいたのは、AIの予想というのは、荒れるレースで信用してよくて、そんなに荒れないレースでは、AIよりも、これまでAI導入前から私がもともとやっている予想法の方が精度が高いということが分かった訳です。それを、日曜に軌道修正して予想をしていったところ、無事に勝利を収めることができました。
AI導入後は穴馬にはめっぽう強いのですが、人気馬では飛ぶことが多く、そこがAIを導入してからの私の弱点となっていたのですが、もともとは私は人気馬を当てるのが得意な人だったので、ここはもうAIに頼る必要もないし、荒れるレースでAIに力を借りればいいんだなということで、私の中で完全に決着がつきました。これを今後の予想の揺るがない指針として頑張っていきたいですね。
この2日の数字が、どうなっていたか
ここから先は、私の見立てそのものではなく、この土日2日ぶんの実際の数字です。先に申し上げておくと、これは「荒れるレース」と「堅いレース」をあらかじめ分けて比べたものではありません。土曜と日曜を1日ずつ集計しただけのものです。私の方針が正しいと証明する数字ではなく、方針を決めるきっかけになった数字として読んでください。
私はレース当日の朝9時に、自分の手で印を付けています。そのあとAIが最終的な印を出します。この2つの本命(◎)が同じ馬になった割合は、土曜が19レース中6レースで31.6%、日曜が21レース中11レースで52.4%でした。土曜は私とAIの本命がまるで違っていて、日曜は半分以上そろっていた、ということです。
そのうえで、回収率がこうなりました。
| その日の本命(◎) | 朝9時に私が付けた印 | AIが出した最終的な印 |
|---|---|---|
| 9月12日(土) | 単勝79.5%/複勝69.5% | 単勝26.8%/複勝58.9% |
| 9月13日(日) | 単勝138.6%/複勝93.8% | 単勝181.9%/複勝134.8% |
土曜は私の朝の印のほうが良く、日曜はAIの印のほうが良い。土曜に私がAI側へ寄せて勝負したことが、そのまま数字に出ています。
いちばんはっきり出たのが、まさにその阪神12レースでした。私が朝9時に◎を打っていたのはゴールドアーチ(2番人気・単勝4.5倍)で、この馬が1着です。AIはこの馬を5番手評価の×まで下げていて、代わりに1番人気のヒルノプーリア(単勝2.5倍)を◎にしていました。私はAIの数値を信じてヒルノプーリアで勝負し、7万700円が1円も返ってきませんでした。勝つ馬は朝の時点で自分の印のいちばん上にいたのに、それを自分で消してしまった格好です。堅い決着のレースで自分の見立てを捨てるとこうなる、という見本のようなレースでした。
いっぽう日曜は、AIの本命が21レースで9勝、単勝の回収率181.9%・複勝の回収率134.8%まで伸びました。この日の中山8レースでは本命のクラシオンが1着に来て、このレース1つで7万100円の馬券が34万5340円になっています。三連単は5万3770円ついていました。なお記事の上に貼った的中画面は、この中山8レースを何回かに分けて買ったうちの1回ぶん(購入6万6400円・払戻33万4640円)の照会結果です。レース全体の金額とは別になりますので、念のため書き添えておきます。任せるところで任せれば、AIはこういう返し方をしてくれます。
今週やった改善(先に要点だけ)
① 予想エクセルの1行目が長すぎて、9月12日は24レース中10レースでレース名が途中で切れていました。折り返す形に直して、切れるレースは0件になりました(本番に反映済み)。
② 表の見出しの書式が二重に書かれていて、あとから書いた方に打ち消されていました。直したのは1か所だけで、見出し21列すべてが想定どおりになりました(本番に反映済み)。
③ 早朝に自動で回している予想で、風の強さに関する6つの列が空のままになっていました。8月29日・8月30日・9月6日は全36レースが空です(原因は特定済み。まだ直していません)。
④ オッズと印の新しい決め方(O1)を、独立監査の137項目がすべて通ったのを確かめてから本番に入れました。そのあと本番で不具合が見つかったので、追加の修正も入れ直し、切り替わりを確かめる14項目の検査も全部通っています。
⑤ AIが作る下書きが「9つ」「1件」と数だけ書いて、何を数えたのかを落とすことが多かったので、私が指摘して、機械で止める検査を入れさせました。Xの下書き10本のうち6本が引っかかりました(検査に組み込み済み)。
⑥【地方】再学習がいつまでも始められない本当の原因が分かりました。起動前の点検が「始めるときに空いているメモリ」しか見ておらず、「途中でいちばん使うときに足りなくなるか」を誰も計算していませんでした(計算する関門を新設)。
⑦【地方】仕様書に「測定済み」と書いてあった必要メモリ1万1670メガバイトを実際に測り直したら、2万1811メガバイトでした。実測が古い値の約1.9倍だった、ということです。
⑧【地方】新しい候補モデルと今の本番モデルを同じ条件で採点しました。13,712レース・140,691頭で比べて、差を見つけられませんでした(候補は不採用のまま、本番モデルは据え置き)。
ここから下は、この8つを1つずつ説明していきます。
今週もこのほかにも色々な改善を行っております。具体的には…
① レース名が途中で切れていたのを直しました。24レース中10レース→0レース
予想エクセルの1行目には、レース名とペース予想と、私が映像を見て付けている1位ジャッジという評価が並びます。ここが横幅に入りきらず、9月12日は24レース中10レースで、レース名が途中でぶつ切りになっていました。割合にして42%です。
直し方は単純で、1行で収まるならこれまでどおり、収まらないときだけ折り返して行の高さを上げる、という形にしました。その日の24レースの実際の題名を使って検査用のブックを作り直したところ、切れるレースは0件になりました。値の途中でぶつ切りにすることもありません。コードは本番に反映済みです(既に作ってあるエクセルを開いて1枚ずつ目で確かめたわけではなく、検査用のブックでの確認です)。
② 見出しの書式が二重に書かれていて、打ち消されていました
表の見出しを小さい文字と太い下線にする指定を入れていたのに、実際の画面では効いていませんでした。調べたら、見出しの行をプログラムが2回書いていて、あとから書いた方が先の書式を上書きしていたのが原因です。
直したのは1か所だけです。検査用のブックを保存して開き直したところ、見出し21列すべてが狙ったとおりの大きさと下線になっていました。見た目だけの話ではあるのですが、こういう「指定したのに効いていない」は、数字の側でも同じ形で起きます。見つけたらその場で潰すようにしています。
③ 早朝の予想で、風の強さの列が空のままでした(まだ直していません)
これは今週見つけたなかで、いちばん実害がありそうなものです。
私のAIは、レース当日の風の強さを予想の材料の1つにしています。ところがその値を気象庁から取りに行く時刻が朝8時ちょうどに固定されていました。朝8時より前に処理したレースは、まだ観測値が公開されていないので取りに行っても空振りし、風に関する6つの列が全部空になります。
直近5開催で数えたところ、8月29日・8月30日・9月6日はその日の全36レースが空でした。8時をまたいだ日だけ、8時を過ぎたレースから値が入り始めています。例外は1日もありませんでした。
やっかいなのは、列そのものは存在するので「列が足りません」という警告にも引っかからないことです。学習するときには風の値がきちんと入っていて、予想するときだけ空になる。この食い違いは精度に影響する可能性がありますが、影響が実際に出ているのかどうかも、出ているとしてどれくらいなのかも、まだ測っていません。いずれにせよ、放っておいてよい形ではありません。
原因は特定できましたが、この記事を書いている時点ではまだ直していません。早朝の処理を8時15分以降にずらすと、その日の予想の掲載が遅くなります。どちらを取るかは私が決めることなので、今週中に結論を出します。
④ 新しい印の決め方を、不具合の修正まで含めて本番に入れました
オッズの帯と印の組み合わせについて、新しい決め方(O1)を作っていました。順番はこうです。
最初に本番へ入れかけたときは、いったん外して元の版に戻しました。そのあと別のAIに独立監査をさせたところ、指摘が7件返ってきました。そのうち予想そのものが変わりかねない重大な指摘が2件です。1つは印の世代を取り違えて、古い印を新しい印として復元しうるというもの。もう1つは、新しい決め方を止めているつもりでも、新しい候補が古い計算に流れ込むというものでした。
7件とも直し、独立監査の137項目がすべて通ったのを確かめてから、9月13日の昼に本番へ入れました。常駐している処理も新しい版で起動し直しています。
ところが、そのあと本番で別の不具合が見つかりました。「O1で選んだのに印が変わらないレースがある」というものです。3.0倍や3.7倍といったオッズのときに、せっかく選んだ決め方が効いていませんでした。
この追加の修正も、同じ日のうちに本番へ入れ直しました。入れたあとに、切り替わりがきちんと起きるかを確かめる14項目の検査を回して、全部通っています。常駐している処理も新しい版で動き直しました。ここで書いているのは、その日の記録とディスクに入っている版を確かめた結果であって、いまこの瞬間に動いている処理まで今日改めて見にいったわけではありません。
⑤ 数だけ書いて何を数えたか書かない、というAIの癖を機械で止めさせました
これは予想ではなく、資料や下書きの書き方の話です。AIが作ってくる文章に「9つも出てきました」「1件見つかりました」のように、数だけ書いて何を数えたのかが抜けているものが多かったので、私からその癖を指摘しました。読む側からすると、何の話か分からないまま数字だけ流れていきます。
覚えておくかどうかに頼ると必ず抜けるので、文章を出す前に機械で止める検査を入れさせました。作ってすぐXの下書きに当てたところ、10本のうち6本が引っかかっています。ほぼ毎回やっていた、ということです。引っかかった6本を直したので、Xの下書きは10本とも検査を通っています。この記事も、公開前に同じ検査を通しています。
⑥【地方】再学習がいつまでも始められなかった、本当の原因
ここから先の3つの項目は、地方競馬のほうを担当しているAIからの報告です。
地方では、何度やっても再学習が最後まで通らない状態が続いていました。原因が分かりました。起動する前の点検が「始めるときに何ギガバイト空いているか」しか見ていなくて、「途中でいちばん使うときに足りなくなるか」を誰も計算していなかったのです。
実際に測ると、始めるときには19.5ギガバイト空いていて、全部の関門が緑でした。それが途中で空き1.86ギガバイトまで落ちて、監督役が決めた下限を割り込みました。ここは正確に書きます。2時間半というのは「止まってください」と声をかけて待った上限であって、学習そのものはその後も走り続け、夕方6時3分にモデルは保存されています。ただし工程の区切りで「不採用」が確定したので、そのモデルは使われませんでした。
直したのは、起動する前に「途中でいちばん使うとき」の必要量を計算して判定する関門です。足りないときは黙って断らず、「あと1.49ギガバイト足りない。これを閉じれば届く」まで出すようにしました。ただし、新しい関門を付けたところまでが今週で、その関門のもとで実際に最後まで走り切ったかは、まだ確かめられていません。
⑦【地方】実測の必要メモリは、仕様書に書いてあった値の約1.9倍でした
その調査の途中で出てきたのがこれです。仕様書には必要メモリが1万1670メガバイトと書いてあって、しかも「測定済み」という印まで付いていました。実際に測り直したら2万1811メガバイト。約1.9倍です。
その印を信じたせいで、空きが14ギガバイトしかなくても起動が許可される状態になっていました。書いてある値と、実際に効く値が別物になっているというのが、いちばんたちの悪い壊れ方です。仕様書の数字を実測値に置き換える作業が全部終わったかどうかまでは、今週の報告では確かめられていません。私のところでも同じ形がないか、中央側でも探すことにしました。
⑧【地方】新しいモデルと今のモデルの差は、見つけられませんでした
地方では、監査で見つかった問題を直した新しい候補モデルを作っていました。それを今動いている本番モデルと、まったく同じ条件で採点しました。13,712レース・140,691頭ぶんです。
結果は「差を見つけられなかった」。3着以内に入る馬を当てる率が75.27%と75.35%で、その差は0.08ポイント(%どうしの引き算です)。これは測定のばらつきの0.2倍しかありません。「同じだと分かった」のではなく「この材料では違いを見分けられなかった」ということです。候補モデルは不採用のままで、本番モデルは動かしていません。
担当のAIはこの結果を「望ましい」と受け取っています。今回直したのは「予想を出す時点では本当は分からないはずの情報が、こっそり混ざっていないか」という類の問題で、そこを直して数字が大きく動くほうがむしろ怪しい、という読み方です。私もその読み方は分かりますが、差が出なかったことだけで「直し方が正しかった」と言い切れるわけではありません。そこは切り分けて受け止めています。
荒れるレースと堅いレース。役割を分けた、いちばん大きい週でした
先週は土曜に14万7040円負けました。しかも自分の朝の印が1着を当てていたのに、自分でそれを消して負けています。そこは言い訳しません。
そのうえで、良い材料もはっきり出ています。予想を出した40レース全部で見ると、本命の単勝の回収率は108%。勝負している自信度5に絞れば、10レースで4勝、単勝の回収率205%・複勝の回収率105%です。日曜はAIの本命が21レースで9勝して、単勝の回収率181.9%まで伸びました。少なくともこの2日を見るかぎり、AIそのものが壊れている様子はありません。私としては「使いどころの問題だった」と受け止めています。
来週からは、荒れそうなレースはAIの数値を信じて厚く、堅く決まりそうなレースは私が昔からやってきた見方を上に置きます。これは土日2日ぶんの回収率と、自分の中で腑に落ちたものを合わせた判断です。2日で結論が出るとは私も思っていませんので、まずは運用方針として試し、数字が積み上がったところで改めて見直します。私の弱点だった「人気馬で飛ぶ」は、もともと私が得意にしていたところなので、ここを取り戻せれば全体はもう一段上がるはずです。
やり残しも、場所がはっきりしています。中央でいますぐ手を付けるのは、風の強さの列が空になる件です。どこを直せばいいかまでは分かっているので、あとはやるだけです。地方のほうは、9月17日の朝の報告の時点で測定が動いている最中でしたので、その後どうなったかはまだ確認できていません。
毎週150万円を自分の金で張っているので、私はきれいごとを書けません。負けた週は負けたと書きますし、自分のバグも全部ここに書きます。そのうえで数字を積み上げていくところを、引き続き見ていただければと思います。
来週も、よろしくお願いします。



コメント