AI学習・予測
過去のレース結果からAIに学習させ、指定した開催日の各選手の着順ランクや1着確率などを予測する画面です。作った予測と学習の設定は、サーバへ公開して一般ユーザーに配ります。この画面で学習・公開ができるのは管理者だけです。一般ユーザーは、管理者が公開したAI予想を受け取って使います。
一般ユーザーの方へ(AI予想を受け取る)
一般ユーザーのメイン画面では、このメニューは AI予想を受け取る という名前で表示されます。押しても学習画面は開かず、次のことだけを行います。
- メイン画面の[AI予想を受け取る]を押す
番組表で表示している開催日のAI予想(予測と診断)を、サーバから受け取ります。
- 番組表に反映される
受け取れると番組表が読み直され、「○○のAI予想を受け取りました。(予測 ○車/診断 ○レース …)」と知らされます。
- まだ公開されていないとき
「AI予想はまだ公開されていないか、受け取れませんでした。」などと表示されます。しばらくしてからもう一度押してください。
くわしくは「AI予想を受け取る」をご覧ください。
管理者かどうかは、サーバに登録された利用者情報で決まります。AI学習・予測画面を開くたびにサーバの利用者情報を取り直すので、登録が変わればソフトを起動し直さなくても反映されます。以下は管理者向けの説明です。
画面の開き方(管理者)
- 番組表で開催日を選ぶ
予測したい開催日の番組表を表示しておきます。画面を開くと、その開催日が「予測する開催日」に入ります。
- メニューを押す
メイン画面上部の AI学習・予測 を押します。
- 閉じると番組表に反映
画面を閉じると、番組表が読み直されてAIの予測と診断が反映されます。
画面の見方
番号にマウスを合わせると、画面上の場所が赤枠で示されます。番号を押すと、下の説明へ移ります。写真を押すと拡大します。
写真は管理者の画面の例です。件数・日付・数字は、お使いのパソコンのデータによって変わります。
- 1DBの蓄積状況
手元のデータベースにたまっているレースの数を、年ごとと合計で示します。「学習に使う」は、確定したレースからAI除外のレースを引いた数です(実際に使うのは、このうち学習期間のぶんだけです)。
- 2予測する開催日
予測を作る開催日です。開くたびに、番組表で表示している開催日が入ります。
- 3学習期間
何か月ぶんの過去データで学習するかを指定します。学習の終わりは「予測する開催日の前日」です。
- 4期間で検証する/期間検証2
過去の期間について予測を作り、当たり具合を確かめるための設定です。
- 5学習回数・早期打切り・学習率・葉の数・学習プログラム
AI(LightGBM)の学習のしかたと、使う学習プログラムの情報です。
- 6特徴量(4つのボタン)
学習に使う項目を区分ごとに選びます。横の件数は、いま選ばれている項目の数です。
- 7実行する目的変数・除外レース
AIに何を予測させるかを選びます。「除外レース」の行には、除外レースの条件の件数が出ます。
- 8設定と操作
推奨の特徴量の設定、AI除外レース、判定設定、AI印の買目、サーバの予測の削除を行うボタンです。
- 9ログ
学習・予測・公開の進み具合が流れます。
- 10下のボタン
学習の実行・中止、サーバとのやり取り、画面を閉じるボタンです。
DBの蓄積状況の列
| 列 | 意味 |
|---|---|
| 年 | 集計の年です。いちばん上が「合計」です。 |
| 開催日 | データがある開催日の数です。 |
| レース | データがあるレースの数です。 |
| 中止 | 中止になったレースの数です。 |
| 結果なし | 結果がまだ入っていないレースの数です。 |
| 確定 | 結果が確定しているレースの数です。 |
| AI除外 | AI除外レースの条件に当たり、学習から外すレースの数です。 |
| 学習に使う | 確定したレースからAI除外を引いた数です。 |
表の上の見出しには、データの期間と出走の件数も出ます。数えるのは画面の裏で行い、学習が終わると数え直されます。
実行設定
予測する開催日・学習期間
| 項目 | 説明 |
|---|---|
| 予測する開催日 | 予測を作る日です。画面を開くたびに番組表の開催日が入ります。 |
| 学習期間(過去〇か月) | 「予測する開催日の前日」までの何か月ぶんで学習するかです。初めは12か月です。 |
期間で検証する・期間検証2
| 項目 | 説明 |
|---|---|
| 期間で検証する | チェックすると「検証の開始日」「検証の終了日」が入力できるようになります。開始日の前日までで1回学習し、その内容で期間ぶんを予測して、AI診断まで行います。 |
| 検証の開始日/終了日 | 検証する期間です。開始日が終了日より後だと「検証期間の開始日が終了日より後になっています。」と出ます。期間に開催が無いときは「検証期間に開催がありません。」と出ます。 |
| 期間検証2(〇日ごとに学習し直す) | 「期間で検証する」にチェックしたときだけ選べます。検証期間を指定した日数ずつに区切り、区切りごとに「その前日までの過去〇か月」で学習し直してから予測します。時間がかかります。 |
検証が終わると、その期間の予測をサーバへ公開し直すかどうかを尋ねられます(学習の設定値も一緒に公開します)。
学習のしかた
| 項目 | 初めの値 | 説明 |
|---|---|---|
| 学習回数 | 2000回 | 学習をくり返す回数の上限です。 |
| 早期打切り | 50回 | この回数続けて良くならなければ、途中でも打ち切ります。 |
| 学習率 | 0.050 | 1回の学習でどれだけ大きく直すかです。 |
| 葉の数 | 31 | AI(決定木)1本あたりの枝分かれの細かさです。 |
| 学習プログラム | - | 学習に使うプログラム(train_keirin_model.exe)の名前と、更新日時・大きさです。見つからないときは「【見つかりません】」と出ます。 |
学習プログラムは、ソフトと一緒にインストールされる専用のプログラム(LightGBM を使った Python のプログラムを1つの exe にまとめたもの)です。
特徴量
AIが学習に使う項目(特徴量)を、次の4つの区分ごとに選びます。選んだ特徴量は、4つの目的変数すべてで共通に使います。ボタンを押すと「特徴量の選択」画面が開きます。
| ボタン | 選ぶもの |
|---|---|
| レース情報(数値) | レース単位の数値の項目 |
| レース情報(カテゴリ) | レース単位の分類の項目 |
| 出走選手(数値) | 選手ごとの数値の項目(競走得点・成績・計算で作る項目など) |
| カテゴリ | 選手ごとの分類の項目 |
選び方は特徴量の選択のページをご覧ください。
実行する目的変数
チェックしたものだけ学習・予測します。予測の結果は、出走表のデータの決まった欄(AI_ で始まる欄)に書き込まれます。
| 目的変数 | 書き込む欄 | AIが予測するもの |
|---|---|---|
| 着順ランク | AI_着順ランク | レースの中での各選手の着順の並び |
| 1着確率 | AI_1着確率 | 各選手が1着になる見込み |
| 2連対確率 | AI_2連対確率 | 各選手が2着以内に入る見込み |
| 3連対確率 | AI_3連対確率 | 各選手が3着以内に入る見込み |
設定と操作のボタン
| ボタン | 説明 |
|---|---|
| 推奨の特徴量をまとめて設定 | 特徴量の選択を、4区分とも推奨の内容に置き換え、学習期間を12か月にします。終わると区分ごとの件数が表示されます。 |
| AI除外レースの設定 | 学習とAI診断から外すレースの条件を決めます。詳しくはAIによる除外へ。 |
| 判定設定 | 買い・見送り・ランクの境目を決めます。 |
| AI印の買目 | AIの印(◎〇△×56)のどの組み合わせを買目にするかを決めます。詳しくはAI印の買目へ。 |
| サーバの予測を削除 | 「予測する開催日」のAI予測をサーバから消します。[はい]でソフト向けとホームページ用の両方、[いいえ]でホームページ用だけを消し、[キャンセル]でやめます。もう一度確認されてから消します。手元の予測は消えないので、サーバへ公開 で戻せます。 |
下のボタン
| ボタン | 説明 |
|---|---|
| 学習して予測する | 学習と予測を始めます(流れは下の章)。 |
| 中止 | 実行中の処理を止めます。実行中だけ押せます。 |
| サーバから受け取る | サーバにある学習の設定と、「予測する開催日」のAI予測と診断を受け取り、いまの内容を置き換えます。 |
| サーバへ公開 | 「予測する開催日」のAI予測と、学習の設定値(推奨設定)をサーバへ公開します。「期間で検証する」にチェックがあるときは、検証期間ぶんをまとめて公開します。 |
| ホームページを表示 | ホームページのAI予想のページを、「予測する開催日」を指定してブラウザで開きます。 |
| ホームページだけ公開 | ソフト向けの予測は送らず、ホームページ用のAI予想だけを送り直します。 |
| 閉じる | 画面を閉じます。 |
学習して予測する流れ
学習して予測する を押すと、次の順に進みます。進み具合はログに出ます。
- 入力の確認
開催日の形や、目的変数が1つ以上選ばれているか(「実行する目的変数を1つ以上選んでください。」)などを確かめます。
- 除外レースを調べる
AI除外レースの条件に当たるレースを調べ、学習から外します(「除外レース ○ / ○ レース」とログに出ます)。
- 目的変数ごとに学習・予測
チェックした目的変数ごとに学習プログラムを動かし、予測を書き込みます。
- AI診断を作る(期間検証のとき)
期間検証のときは、検証期間の日ごとにAI診断も作ります。
- 公開するかを尋ねる
終わると「この結果と、学習の設定値(推奨設定)をサーバへ公開しますか?」と尋ねられます。[はい]で公開、[いいえ]ならあとから サーバへ公開 で公開できます。
中止のしかた
実行中に 中止 を押すと、動いている学習プログラムを止め、ログに「中止しました。」と出ます。
- 学習プログラムが5秒待っても終わらないときは、まとめて強制的に止めます。このときは Windows の一時フォルダに作業用のファイルが残ることがあります。
- 実行中に画面を閉じようとすると「学習中です。中止して閉じますか?」と尋ねられます。OK で中止して閉じます。
毎日の予測は、番組表でその日を表示してから画面を開き、学習して予測する → 終わったら公開、の順で行います。設定を変えて試すときは、まず「期間で検証する」で過去の期間を予測し、「AI成績」画面で「競走得点1位」と比べてから公開すると安全です。
公開した学習の設定と予測は、すべての一般ユーザーに配られ、番組表の判定や自動運転の買目に影響します。公開の前に内容を確かめてください。AIの予測は結果を保証するものではありません。
