投稿

初回ビルド時のエラーについて

2018 年の公開以来メールを何通か頂いておりますが,ほとんどは初回ビルドでのエラーに関してでした。対応できる部分については今後のバージョンで改良したいと思います。現状での対処法は以下のようになります。1,多くの場合,ARC フォルダ内のファイルが何らかの理由で破損している事が原因です。よってフォルダ内のファイルをすべて削除して再度ビルドすれば,成功する可能性が高いと思われます。あるいは本アプリケーションをフォルダごと削除し,ダウンロードしたインストーラーを再実行しても構いません。2,これで解決しない場合,JV-Link のダウンロードしたファイルが壊れている可能性があります。これらのファイルは通常 C:\ProgramData\JRA-VAN\Data Lab 内のフォルダ data と cache に格納されます。もう一度ダウンロードし直す事になり恐縮ですが,こちらも内容を全て削除して頂ければと思います。その後で 1 の手順を実行すれば問題なくビルドが進むと思われます。なお実際に当該フォルダのファイルが破損している場合,他のアプリケーションでも問題が生じる可能性があります。以上,ご不明な点がありましたらメールにてご連絡ください。JRA-VAN に掲載されているアドレスでも構いません。

Gold Aeroplane 4.0.0 がダウンロード可能になりました

本日,審査に通過しました。主な変更点は以下のようになります。1, 予想アルゴリズムの完全な変更これまでは単純ベイズ分類器による分類を行なっていました。具体的には各馬が「1 着馬である確率」を求めて順位付けしていましたが,今は,多層パーセプトロンによる回帰を実行しています。求めているのは「一般化した着順」です。この変更は以下の理由によるものです。各馬は多くのプロパティを保持していますが,計算の際にその全てを参照するのでなく,一部を除外する事によりパフォーマンスの向上が得られる事が分かっていました。しかしその組み合わせは無数にあるため,ランダムに組み合わせを選択する方法を取っていました。この方法でも最適解に近づくことは可能と考えます。しかしプロパティの重みは 0 または 1 であり,0.9 といった微妙な加減はできません。この加減を手続き的に実行する方法は無いかと考えました。パーセプトロンによる学習とは,与えられたデータの重みを最適化する事であり,まさにこの目的に合致します。2, レースの参照範囲学習にあたり,以前はレースを期間によって 3 つに分類していました。学習用のグループ A,プロパティの組み合わせを探索するグループ B,その組み合わせの汎用性をテストするグループ C。そしてグループ内のレースはランダムです。このうち C を廃止しました。というのも,汎用性をテストしてその結果が最高になるように繰り返すという処理をすると,結局のところ汎用性が失われるからです。またその分だけ全体の範囲を過去に広げなければなりません。B については「1」の変更に伴ない,重みを最適化する処理に変わりました。具体的には,重みを微妙に変更する事により,予測した着順と実際の着順との誤差を最小化する処理になります。この最適化によって得られた予測システムが未知のレースに対しても通用するかどうかをテストせず,むしろ得られたものが常に通用する程度に最適化を抑制する。このような方針でビルドを設計しました。ビルドを繰り返しても前回の結果が利用される事はなく,常に一から作り直されます。設定可能な項目においても,デフォルトでは浅い最適化に留めるようになっています。他にレースが芝,ダート,障害と分かれていたのを統一し,全プリディクタ(すべての賭式に対応しています)で同一のコアを使用するようにしました。結果と…

Gold Aeroplane 4.0.0 について

先日,バージョン 4.0.0 の公開申請を行ないました。審査通過後に詳細を記載する予定です。

Gold Aeroplane 3.1.0 の公開

Gold Aeroplane 3.1.0 が 10 月 5 日に公開となりました。ビルドは 9 月 23 日に行ないました。以下のような変更点があります。 プリディクタ リビルドに関して大きな変更をしました。おおよそ次のように行なわれます。 直近の 2000 レースを抽出し,古いほうの 1500 レースと新しいほうの 500 レースに分割します。古いほうからランダムに 500 レースを抽出し,学習してプリディクタを作成します。新しいほうのレースを 10 ブロックに分割し,各ブロックで順次テストを行ないます。全ブロックの最小値および中央値が,前回のテストより改善していれば,そのプリディクタを新たな基準として使用します。また,現在保存されているプリディクタよりも改善していれば保存します。上記の 2 から 4 までを 5000 回繰り返します。 ビルダ リビルドの仕様変更に関連して,従来使用していたアディショナル ビルダやターゲット ビルダといった機構は無くなり,コア ビルダのみとなりました。よって,該当馬の前走が無い(初出走)または中央競馬のレースでない場合を除く全てのレースで,馬券が提示されることになります。 シミュレーション ビルダの仕様変更に関連して,ユーザーが各自の基準で馬券を選択する事になったため,シミュレーション機能を強化しました。オッズ,レース番号,レースの格付の 3 通りのフィルターでシミュレーションを実行できます。例えば購入する馬券のオッズを 4.0 倍以上に限定すると,成績が向上するように見えます。 セットアップの不具合修正 特定のスケジュールでレースが行なわれた時に,セットアップでエラーが生じる場合がある事が分かりましたので,修正しました。

以上となります。次の更新は年末あたりを予定していますが,不具合があれば緊急に対処します。

Gold Aeroplane 3.0.0 を公開しました

今回のアップデートでは,予想アルゴリズムに対し,単純ベイズ分類器を使う点だけが変わらないと言ってよいくらい,大きな変更を加えました。
主なものを 3 つ挙げます。 1, プロパティではなく レースの選別による最適化

直近のレースをランダムに並び替える事により,パフォーマンスの向上を図ります。プロパティは全種類のレースで同じものが使用されます。

2, プリディクタの統一と追加

従来の「1 着馬である確率」を計算するプリディクタを「デフォルト プリディクタ」とし,CRM と RCM を統一した単勝予想のための単勝プリディクタ,さらに複勝予想のための複勝プリディクタを追加しました。これに伴い,プリディクションで表示される確率がデフォルト プリディクタによって算出される数値だけになりました。複勝プリディクタは実装が容易だったので追加しましたが,実際のところあまり有効でないように思います。

3, オッズの非参照

馬体重発表以降は,騎手変更等がない限り,確率や提示される馬券が変化しないようになりました。よって締切寸前まで待つ必要が無くなりました。
今後 次のバージョンは 3.1.0 の予定ですが,既にアルゴリズムの実装と調整は終えていますので,来月中には出せそうです。

3.1.0 では新馬戦以外すべてを馬券の対象としています。ほぼ全レースに賭けた上で,パフォーマンスの向上と安定化を目指し,リアルを徹底的に意識した改良を施しました。

これは従来の「改良」とは次元が違うと思っています。いっぱい自信あります。

なお確率の計算方法は,基本的にバージョンによって変化するものと考えて下さい。せっかくコメントを頂いたのに返信できず申し訳ありませんでした。

Gold Aeroplane 2.1.0 を申請しました

本日,Gold Aeroplane 2.1.0 の公開申請を行ないました。変更点は次の通りです。
初回ビルドに関する不具合の修正リビルドでの誤差最小化の対象の変更 1. 初回ビルドに関する不具合の修正 シリアライズが始まるタイミングで,極めてまれにエラー番号 -111 が発生し,ビルドが中断されてしまう不具合がありました。再現が困難だったのですが,JV-Link に同じ(もちろん正常な)パラメータを数百回繰り返して渡すと,時々発生する現象である事が分かりました。原因は不明ですが,恐らく内部動作に起因するものであると推測しています。直接の回避策は無いため,当該エラーが発生した場合に限って呼び出しをリトライするようにしました。

また,初回ビルドでエラーが発生し,その後アプリケーションを再起動することなく再度ビルドを行なった場合,NullReferenceException が発生する事が分かりました。これはアプリケーションの不具合でしたが,修正しました。
2. リビルドでの誤差最小化の対象の変更 これまでのリビルドでは,1 つのレースに出走した全ての馬に対して,実際の着順と予想された着順との差がなるべく小さくなるようなプロパティの組み合わせを検索していました。新しいバージョンでは全ての馬でなく 1 着馬に限定し,それが予想においてもなるべく上位に来るようにしました。

この変更を行なった理由は,最下位の馬を最下位と予想する事は,1着馬を1着と予想することより重要でないと判断したためです。またプリディクタは勝ち馬投票券を単勝で購入する事を前提としているため,2着,3着をそれと予想する事も重要でないと判断しました。

Gold Aeroplane 2.0.0 の公開

7 月 1 日付けで Gold Aeroplane 2.0.0 が公開されました。JRA-VAN のサイトよりダウンロードできます。このブログでも近日中に公開する予定です。主な変更点は次の 2 つです。リビルドの仕様変更アーカイブの誤検出への対応1. リビルドの仕様変更従来はメソッドの更新の基準を RMSE にしていました。本バージョンではメソッドを得た後で自動的にシミュレーションを行ない,実際の回収率など(設定により変更できます)を基準に更新するようにしました。また,リビルドの試行回数を指定することにより,繰り返し試行できるようにしました。留意するべき点としては,改善するのはあくまでシミュレーションの結果だという事があります。つまり過去のレースに対して最適化しているわけですから,あまり過剰に行なうと将来のレースに対しては不適切なメソッドとなる可能性があります。また,一週間に賭けるレース数は平地で 9 前後になるよう設計されていますが,メソッドによってはこれを大きく超過することがあります。経験上,そのようなメソッドはあまり良くない結果を生じるようですので,注意したほうが良いでしょう。2. アーカイブの誤検出への対応1.2.0 を公開したあとで,セットアップ プログラム(実際には自己解凍書庫)である GoldAeroplane120.exe が,セキュリティ ソフトによって「問題のあるファイル」だとされているというご指摘がありました。これは false-positive つまり誤検出ですが,調査の結果,多くのセキュリティ ソフトが同様の挙動を示すことが判明しました。そこで GoldAeroplane200.exe に対しては自己署名証明書にて署名を行なっています。これだけでセキュリティ ソフトは安全なファイルだと判断するようになります。本物のマルウェアが同様の手段を講じたらどうするのだろう?とは思いますが,とにかく世の中の多くのセキュリティ ソフトが,ただの自己解凍書庫であっても無署名ならば危険と判断する状況になっているようですので,無意味とは思いますが署名するようにしました。次期バージョン大きな変更は今のところ考えておりませんが,今年中にはリリースする予定です。