見出し画像

【回収率150%】非エンジニアのための競馬AIの作り方|競馬予想AI開発、試行錯誤をすっとばせ!【初心者OK】

※早期購入者の優位性を保つため、一定部数販売ごとに値上げしていきます。今が常にお買い時。あと4部。


この記事は、プログラミング初心者・非エンジニアでも儲かる競馬AIを作れるように考えて作られた解説書です。

結果は、モチベーションが続くうちに早く出したいもの。時間をかける必要はありません。
試行錯誤しながら4年の歳月をかけて蓄積したノウハウを、惜しむことなくお伝えします。

もちろん、競馬AI開発を考えているエンジニアの方も、どんなアルゴリズムが効果的なのか等、非常に価値のある内容になっているかと思います。


「既存の競馬AIをネットで見て参考にしているけれども、全然当たらない…。」
「競馬AIで膨大なデータを処理しつつ、自分のロジックも加えて予想すれば最強なのでは…。」
こんな悩みを抱えていませんか?

競馬AIには、「◯◯型の予想AI」といったように、重視している型があります。期待値を予想の軸に据えるのか、的中率を考えオッズを加味していくのか…。
どのデータを重要なデータとして扱うかや、そもそもどのアルゴリズムを採用するのかによっても、大きく回収率は異なってきます。

一から作るには、膨大な時間と試行回数、時には大きなコストがかかってくるのです。

そして、厄介なことに、競馬AIは自らの利益に直結するため開発プロセスは機密とされ、個人開発者のほとんどが0からのスタートを余儀なくされます。

この記事を読むことで、私の長期にわたる足跡を辿り、試行錯誤をすっ飛ばすことができます。
少ないながらも転がっている情報の取捨選択、プログラミングの話、実際にAIを稼働させるための環境構築etc…。

完成された競馬予想AIをベースにし(note有料部分で入手)、回収率を上げていくための施策を提示していきます。

自分なりのロジックや、独自の方法を追加しながら、長期運用し楽しむ
ことも可能です。

・プログラミング - 競馬AI開発への最短経路
・インプットしておくべき情報
・特徴量(重視すべきデータ)
・アルゴリズム(オススメのもの、オススメしないもの)

などなど、大量の情報を掲載しました。


【追記】
目次は内容のネタバレになってしまうので(中身の趣旨がわかるように書いてしまったので)無料部分には載せていませんでしたが、金額も金額なのでなかなか中身がわからないものは買わないだろうと思い、目次の見出し文をネタバレにならない程度に変更して公開します。

購入いただいた方には従来の目次の方が使いやすいだろうと思いますので、そのままにしています。

目次(公開版)
・注意事項
・競馬AIで使用する言語
 ・その言語がなぜ使われるのかを理解する
・競馬AIを動かすための環境構築
・理解のための学習素材(無料)
・競馬AIのソースコード
・おすすめアルゴリズム、おすすめしないアルゴリズム
・特徴量エンジニアリング、有効な特徴量選択法
・おすすめアルゴリズムの具体的な使用法
・参考コード集
・特典

エンジニアの方や、ある程度プログラミング知識のある人は、太字以外の項目は飛ばしていただいて大丈夫です。
太字のところがこのnoteのキモになります。


【特典】

①生成AIプロンプト集
プログラミング初心者にとって、コードの解説ほどありがたいものはありません。ただ、人に聞くことのできる機会は少ないものです。
そんな時に心強いのが、ChatGPT-4をはじめとした生成AIです。
生成AIに効率よくデータを渡し、望んだ形で解説してもらえるようなプロンプト集を作成し使用しておりましたので、こちらを特典として用意しました。

② netkeiba.com の情報をコピーし、自動で整理してくれるExcelファイル
netkeiba のウェブサイトから、当日のレースデータを自動的に取得し(スクレイピングと言います)、エクセルの表にまとめてくれる便利ツールを用意しました。

③ 競馬AI開発用のchatGPTモデル(24.03.02 追加)
競馬AI開発用にチューニング
した、ChatGPTのモデルを作成しました。
Pythonのコード出力、日本語での会話、競馬知識をインプットしております。


こんにちは。競馬ばびぃと申します。
簡単に、私の自己紹介をしておきます。

・普段は建築デザイン系の仕事をしています。
・競馬歴は8年ほど。馬がとても好きで、分析しながら馬券を買うのが何よりの楽しみです。
・できるだけ多くの情報を精査して馬券を買いたいと思う一方で、限られた時間での膨大な情報処理に限界を感じ、競馬AIに興味を持つ。
プログラミング経験ゼロ、全く何もわからない状態から、競馬AI開発をはじめました。

それでは、私の開発した競馬予想AIのデータを見ていきましょう。
テスト収支は以下のようになっています。

最終残高:1,387,670円
回収率:150%
的中率:0.76

縦軸はle6=100万円単位

2023年1月から11月末までの、3連複馬券の収支シミュレーショングラフです。後半が下降気味ですが、こういったところをどう考え運用していくかというのも、競馬予想AIの醍醐味の一つです。
とはいえ、期間中の最高残高は180万を超え、ここでストップしていれば驚異的な回収率になります。

縦軸が回収率、横軸は閾値

また一例として、単勝馬券でシミュレーションをかけたグラフも載せておきます。
競馬AIのプログラムの中で therehold : 閾値を設定し、どの値で最も結果が出るのかということを確認していきます。
上のグラフは、閾値を動かしていき、それによって回収率がどう変化するのかを示しています。数字がありませんが、閾値を低く設定すると購入する馬券の数が膨大になり、閾値を高くしていくと枚数が絞られていきます。

閾値を2.5あたりに設定すると、回収率が150%近くまでいくことがわかりますね。

回収率を考える際に注意したいのが、とんでもオッズ馬券の存在です。
シミュレーションは実際に行われた過去のレースデータを使用します。
過去のとあるレースで、オッズがとんでもなく高い馬が勝ち、ものすごい額の払い戻し金額が発生、そしてそれをAIが的中させていた。となると、馬券の種類によってはそのレース単体で全体結果を押し上げるほどの回収率を叩き出す場合があるのです。

全体的には的中率はものすごく低いのに、ひとたびオッズの高いレースを的中させたがために、回収率がとても高く出てくる、ということになりかねません。
正しい回収率を算出し、正しくAIの性能を評価するための具体的な対策として、とんでもオッズ馬券をテストデータから取り除く、といった作業が必要になります。


と、このような形で様々書いてきましたが、非エンジニアの方には少し難しく感じたかもしれません。
しかし、心配は無用です。

このnoteでは、豊富な例とコードを交え、かなり丁寧に解説していきます。
最短経路で競馬AIを理解し、望むものへと行き着くことができる
でしょう。

#note上でコードはこんな感じで書かれます。
for year in range(year_start, year_end):
    race_data_all = []

かなりの分量となりますが、使える特典もご用意しています。
ぜひぜひ、ご一読ください!


【更新履歴】
noteを修正・更新したら、こちらに記載します。

2024.01.20 記事を公開しました。
2024.03.02 特典 - 競馬AI開発用のchatGPTモデル を追加しました。
2024.03.07 ベースとなる 競馬AI ソースコードを更新しました。

ここから先は

9,790字 / 1画像 / 4ファイル

¥ 9,800

この記事が参加している募集

仕事について話そう

お金について考える

この記事が気に入ったらサポートをしてみませんか?