2023/09/30

更に飛躍かな

 完璧な学習が済めば、基本的に的中率100%に限りなく近づくのかな?今回の学習では更に最適が向上しRMSE 1.5310が出ました。

単勝:的中[52.63%] 回収[395.32%] 複勝:的中[88.96%] 回収[217.12%]
枠連:的中[41.51%] 回収[691.19%] 馬連:的中[36.46%] 回収[1,258.54%]
ワイド:的中[65.61%] 回収[755.04%] 馬単:的中[25.13%] 回収[1,593.30%]
三連複:的中[31.18%] 回収[3,995.86%] 三連単:的中[13.09%] 回収[10,347.80%]
予想[6,912] 的中[6,195] (89.63%) 購入[¥4,769,200] 払戻[¥132,606,490 (2,780.48%)]

こんな予想が現実なら神レベルかも?まあ、実際には未来はそんな簡単に予測は出来ないとは思いますが、先ずはベストな最適が見つければと思ってます。

どこまで行けるか

 順位の学習ですが、2,000秒20回では良いものが得られませんでした。今は2,200秒20回中です。早々にRMSE 1.6133が出たのでいつもの目安の検証しました。

単勝:的中[47.63%] 回収[361.96%] 複勝:的中[85.88%] 回収[211.57%]
枠連:的中[35.61%] 回収[561.39%] 馬連:的中[30.35%] 回収[1,033.15%]
ワイド:的中[58.87%] 回収[682.76%] 馬単:的中[19.43%] 回収[1,277.47%]
三連複:的中[24.57%] 回収[2,867.54%] 三連単:的中[8.35%] 回収[5,647.52%]
予想[6,912] 的中[5,985] (86.59%) 購入[¥4,769,200] 払戻[¥87,002,360 (1,824.25%)]

これまでの最適より的中率も回収率も上がってます。ただ、既に今日の前半は以前の物で投票済み。ちょっと朝用事があり出掛けたのでその前に済ませてました。後半戦はこちらを試してみようかと思います。

2023/09/29

仮住まいでのネット環境

 ここにも9月7日に書きましたが、仮住まいに引越してPIXELAのSIMフリールーターを楽天モバイルでと準備してたので利用開始って繋がらない😖 iPhoneにも元々デュアルSIMで楽天モバイル入れてましたのでiPhoneでも楽天モバイルにしてみると「圏外」です。主回線のドコモは若干遅い感じはするもののアンテナ4本で問題ない。楽天モバイルは駐車場に出ると入る場所もなくもないが、アパート内ではどこでも「圏外」。解約する事にしたんですが、ネット回線が無い状態で、PCからは出来ないのでiPhoneで挑んだんです。解約するのにワンタイムパスワードがメールで届くってタイムアウト15分になっているけど確認出来るのに30分程度掛かるのでチャットで挑む。チャットももっさりで最初は切れるので電話で挑むが最初10分程お待ち下さいだった案内が途中で15分に伸びたので断念。楽天Linkの無料通話だとパケット消費するからだらだら待つのは危険との判断からです。で、まあ、解約をチャットで出来たんですが2時間程掛かりました。

ドコモ回線が室内でも使えるのは分かったのでmineo Dタイプに決定して申込。早ければ即日的な案内がサイトにあったので申込んだんですが、結局火曜日(9/26)早朝に申込してSIMカードは本日(9/29)に郵送されてきました。カスタマーサポートに電話したら、即日的なのはeSIMで郵送とか無いからって事でした。市内に取扱店的なのがあるから取りに行けばって勝手に思ったのが間違いでした。

楽天モバイルでは無制限3,278円/月の予定でしたが、mineo マイピタ20GB Dタイプにパケット放題Plusが無料で付いて1,925円/月。毎月20GBは最速3Mbpsで、パケット放題Plusを有効にすると最速1.5Mbpsに下がる。この切替を有効に活用って事らしい。パケット放題Plusで3日間で10GB超えると次の日はペナルティーになるらしい。そんなに使う事は無いと思うのであまり気にしないでおきます。

2023/09/24

勝手に限界とか

 今週末も実戦投入したりして負けました😖 まだまだなんだなっとは思いながら実は更に順位の学習に挑んだりしてます。なんとなくこれまでの最適が出た2,100秒で更に20回やってるんですが、これまでの最適を大きく更新したモデルが出てきました。RMSE 1.6628です。いつもの目安の検証は

単勝:的中[44.10%] 回収[296.39%] 複勝:的中[83.93%] 回収[190.94%]
枠連:的中[33.52%] 回収[488.71%] 馬連:的中[27.85%] 回収[734.34%]
ワイド:的中[54.90%] 回収[524.70%] 馬単:的中[17.01%] 回収[894.62%]
三連複:的中[22.35%] 回収[1,936.90%] 三連単:的中[6.60%] 回収[3,515.71%] 
予想[6,912] 的中[5,875] (85.00%) 購入[¥4,769,200] 払戻[¥58,982,660 (1,236.74%)]

これで十分かとか、これが限界かとか、何の根拠もなく決めない方が良さそうです。

Model Builderのバージョンアップが行われたら、また試してみたいと思うし、Tensorflowの方ですが、やはり、手強いのは間違いないです。C#や.NETでの実装はラッパーとかがもう少し充実してこないと厳しいんじゃないかと思ってます。というのも、Pythonでは取敢えずTensorflowを使って新馬戦用の学習はさせる事が出来、Onnx形式での保存までは来ました。このモデルをC#のMicrosoft.ML側でロードして予測して検証してみないと何ともなんですが...ただ、RMSEが滅茶苦茶巨大な値で実際の検証結果をみないと判断が出来ません。

2023/09/22

ML.NET Model BuilderのLightGBM問題の回答

ここに8月20日に書きましたModel BuilderにLightGBMだけ指定するとエラーで動かない件で"issue has been fixed in the latest version main Build 17.17.0.2335401"との回答を頂けました。ただ、そこにも書かれてましたがこのバージョンはまだリリース前だとの事で、リリースをお待ち下さいとの事でした。Model Builderの今入っているバージョンは17.17.0.2332602なのでどんなタイミングでリリースになるのかは分かりませんが、少なくとも次のバージョンアップでは改善されるのかなぁっと。

ただ、既にAutoMLで相当やり込んでいますので改めてModel Builderで行う意味合いが微妙ではありますが、予想精度が上がる可能性があれば試してみます。

2023/09/21

Microsoft Rewards 8回目

 前回から50日なのでちょっと長かったです。デイリーストリークは146日なので抜けた日はない筈ですが、日々の内容的にってのと昨日ちょっと色々としてて、昨日申請出来ていたかもではあります。

今回の申請ってかAmazonギフト貰うのに途中でエラーになったので焦りましたが、履歴見たら即座に反映されていたので、いつもは申請してメールが来るのを待って受け取る感じでしたが、履歴から直接受ける感じでAmazonに反映しました。来週月曜日に引越なのでそこでドタバタしてデイリーストリークが切れるかも😔

2023/09/20

TensorFlow.NETでの初フライト

何度も何度も、もう数えきれない程アイビー先生とグーグル先生に質問ぶつけてはサンプルコードをコピペして...コピペ時点でエラーの嵐な日々でした。Tensorflow入門だとかのチュートリアルを見てみたりドキュメントにも目を通し、努力は続けてますが機械学習は挫折しやすい的な話をどこかのチュートリアルで見かけた。これ、Microsoft.MLとMicrosoft.ML.AutoMLと比較するとあまりにも...チュートリアルが悪いのか、そもそもそれぞれのパッケージが未だVer1.0未満だとか、もしくは自分自身の学習能力不足なのか、この1ヶ月以上は苦悩の日々でした。

本日やっとコピペのエラーは全て無くなり実行にこぎつけました。が!いや、実行まで行けただけで、実行時エラーが出ますけどね。ただ、徐々にですが前に進めたかな~っとね。何が分かり辛いって、そもそもの学習データの準備がもう大変です。CSVファイルから読み込んでどうする?がそもそも入り口が多くて選択には悩まさせるし、あっちもこっちもでごちゃごちゃになりやすいしなんです。

NuGetパッケージで今使っているのは

TensorFlow.NET ver0.110.3

です。これって実行形式(?)ってかバックボーン(?)が無く単体では実行出来ず環境なんかで選択する必要があるんですが、取敢えず

SciSharp.TensorFlow.Redist ver2.11.4

を入れました。GPU使う奴とかもあるんですが、まっ、画像系じゃないからトラブル避けるにも普通のにって感じです。画像認識とかだとGPU使うと良いのかな~っと勝手に思っただけで実際にはCPUパワーだけよりGPUにも力を借りればかもですが、先ずは動かす事に集中。

取敢えず、現時点での問題は、NDArrayというものを、NumSharpから使うかTensorflow.Numpyから使うかとか、まだまだ学習する事がいっぱいなのかも...

2023/09/18

そろそろ限界かな

 通常用と順位で2,100秒30回を行いました。

2023/09/17      7:18       85656371 SouhaTime2100_8282.zip
2023/09/17      7:54         644940 SouhaTime2100_11540.zip
2023/09/17      8:30         812308 SouhaTime2100_11444.zip
2023/09/17      9:07       28226614 SouhaTime2100_8398.zip
2023/09/17      9:48      109934440 SouhaTime2100_8169.zip
2023/09/17     10:23         221531 SouhaTime2100_11818.zip
2023/09/17     10:59         344101 SouhaTime2100_11758.zip
2023/09/17     11:34         331462 SouhaTime2100_11771.zip
2023/09/17     12:16       47719354 SouhaTime2100_10939.zip
2023/09/17     12:52         637786 SouhaTime2100_11953.zip
2023/09/17     13:27          35525 SouhaTime2100_12397.zip
2023/09/17     14:09      155194199 SouhaTime2100_8231.zip
2023/09/17     14:45         975407 SouhaTime2100_11368.zip
2023/09/17     15:20         143486 SouhaTime2100_12287.zip
2023/09/17     15:55         177255 SouhaTime2100_11858.zip
2023/09/17     16:34       24801729 SouhaTime2100_10548.zip
2023/09/17     17:09         297511 SouhaTime2100_11945.zip
2023/09/17     17:45         273565 SouhaTime2100_11887.zip
2023/09/17     18:20         130184 SouhaTime2100_12219.zip
2023/09/17     18:57         376008 SouhaTime2100_11859.zip
2023/09/17     19:41       65292209 SouhaTime2100_9643.zip
2023/09/17     20:16         197009 SouhaTime2100_12400.zip
2023/09/17     20:54        2071765 SouhaTime2100_11015.zip
2023/09/17     21:30         795541 SouhaTime2100_11592.zip
2023/09/17     22:13      162233822 SouhaTime2100_8343.zip
2023/09/17     22:50         476945 SouhaTime2100_12135.zip
2023/09/17     23:25         488476 SouhaTime2100_12047.zip
2023/09/18      0:01         175596 SouhaTime2100_11932.zip
2023/09/18      0:39       51340013 SouhaTime2100_9721.zip
2023/09/18      1:16        2290920 SouhaTime2100_10966.zip

通常用は5回目に最適ですが、これまでを超えず、

2023/09/17      7:13          79058 RaceJuni2100_19823.zip
2023/09/17      8:24          52704 RaceJuni2100_19902.zip
2023/09/17     10:09          15889 RaceJuni2100_20723.zip
2023/09/17     10:44         185986 RaceJuni2100_19761.zip
2023/09/17     11:19          97156 RaceJuni2100_19969.zip
2023/09/17     11:54         296553 RaceJuni2100_19690.zip
2023/09/17     12:30         130037 RaceJuni2100_19874.zip
2023/09/17     13:40          67363 RaceJuni2100_20024.zip
2023/09/17     14:50           7138 RaceJuni2100_20737.zip
2023/09/17     15:25         154601 RaceJuni2100_19764.zip
2023/09/17     16:00         218296 RaceJuni2100_19705.zip
2023/09/17     16:36         244341 RaceJuni2100_19815.zip
2023/09/17     17:11         278494 RaceJuni2100_19826.zip
2023/09/17     18:56          33313 RaceJuni2100_20169.zip
2023/09/17     19:32        6148520 RaceJuni2100_20717.zip
2023/09/17     20:07         141936 RaceJuni2100_19795.zip
2023/09/17     20:42         230865 RaceJuni2100_19782.zip
2023/09/17     21:20       55048711 RaceJuni2100_18529.zip
2023/09/17     22:30           4950 RaceJuni2100_0.zip
2023/09/17     23:06         247594 RaceJuni2100_19732.zip
2023/09/17     23:41         229551 RaceJuni2100_20535.zip
2023/09/18      0:17         616087 RaceJuni2100_19625.zip

順位は22個しかセーブされてません。少なくとも3回程度RMSEがゼロだったのは見掛けましたので、ログ確認したら8回もありました😔 順位学習側のみの問題なのか何だろ? まあ、こちらは25回目に最適でこれは昨晩検証とかも書いた通りです。

2023/09/17

偶然とかではなくRMSEが0

 今やっていてる2,100秒30回でもRMSEが0になる事がありました。しかも1回ではないですね。これっまあ、単純に何かのバグなのか当たり前ですが、RMSEを比較して最適判断してるのでこれ出た回ははこれが最適でこれ以上はないのでこれが残りますね😔考えたくないケースはこれまでの最適を超えたものが出ていてもこのゼロによって全て消されちゃうんですよね。今回も途中ではありますが、このゼロが出た直前の回の最適が1.8529とこれまでの最適を更新しましたので、いつもの目安の検証してみました。

単勝:的中[33.43%] 回収[185.69%] 複勝:的中[70.72%] 回収[146.55%]
枠連:的中[21.98%] 回収[250.50%] 馬連:的中[17.36%] 回収[348.10%] 
ワイド:的中[36.52%] 回収[283.91%] 馬単:的中[10.00%] 回収[356.39%]
三連複:的中[11.33%] 回収[729.39%] 三連単:的中[3.31%] 回収[1,127.73%]
予想[6,912] 的中[4,957] (71.72%) 購入[¥4,769,200] 払戻[¥23,522,820 (493.22%)]

これは随分と的中率も上がりましたし、回収率もまずまずなので実戦でその実力が発揮されれば良いんですが...実は今日は一日用事で外出でしたので、早朝全てのレースに投票(厳密には阪神1Rは合成オッズが低過ぎて見送り、結果総的中orz)して18:00過ぎて帰宅。結果確認すると
昨日の利益のほとんどを放出してる結果でした😖 明日、リベンジ!


2023/09/16

奇妙な現象

 順位2,400秒20回が終わったんですが、妙です😓

2023/09/16      7:30         214642 RaceJuni2400_19735.zip
2023/09/16      8:51          50328 RaceJuni2400_19854.zip
2023/09/16      9:32         128420 RaceJuni2400_19888.zip
2023/09/16     10:12        5124916 RaceJuni2400_18872.zip
2023/09/16     10:53         222925 RaceJuni2400_20055.zip
2023/09/16     11:33        1415406 RaceJuni2400_19331.zip
2023/09/16     13:34          76953 RaceJuni2400_19972.zip
2023/09/16     14:14         225732 RaceJuni2400_19733.zip
2023/09/16     14:54         127196 RaceJuni2400_19865.zip
2023/09/16     15:36         654422 RaceJuni2400_19788.zip
2023/09/16     16:16        1356823 RaceJuni2400_19402.zip
2023/09/16     19:37           5650 RaceJuni2400_20737.zip
2023/09/16     20:17           4950 RaceJuni2400_0.zip

たった13個しかセーブされていないのは単に重なった事が多かったのはあれですが、最後がゼロって何?もうシビアなところで限界に近いから似たようなRMSEで重なったってのは分からないでもないんですよね。4回目?前の書込みで5回目って書いてるので、多分8:10辺りに有ったのが上書きされて無くなってるんですね。にしても、これ、更にやるべきか悩む所です。

本日6Rまでは前日までの最適なモデルを利用してましたが、7R移行はこのRMSE 1.8872のモデルに変更しての実戦配備でしたが、

まあ、助かりました😁 この調子で行けるならまずまずな成績ですね。今回のモデルを1Rから行けてたらもう少し成績良かった感じでしたけどね。


途中経過ではありますが

 ひたすら学習プロセスは走らせてます。順位の最適RMSE 1.8872とか出たのでいつもの目安の検証をしてみました。

単勝:的中[28.56%] 回収[147.12%] 複勝:的中[63.59%] 回収[130.18%]
枠連:的中[17.32%] 回収[184.89%] 馬連:的中[13.02%] 回収[245.29%]
ワイド:的中[29.43%] 回収[211.01%] 馬単:的中[7.22%] 回収[239.79%]
三連複:的中[7.96%] 回収[436.62%] 三連単:的中[1.68%] 回収[496.17%]
予想[6,912] 的中[4,490] (64.96%) 購入[¥4,769,200] 払戻[¥14,325,430 (300.37%)]

的中率は少し上がってますが、回収率が微減と微妙です。的中率の上昇は歓迎しなきゃですね。ただ、まだ2,400秒20回の5回目なんで今後にも期待です。

相変わらずOutOfMemoryは解消せず

 ビルドし直しても結局OutOfMemoryは発生してます。まっ、制限なしを制限しても変わらなくても当然と言えば当然な気はします。次からは触らずにビルドします。

で、通常用2,400秒20回をしてみたんですが、

2023/09/15     10:50         949856 SouhaTime2400_11899.zip
2023/09/15     11:30         208622 SouhaTime2400_11960.zip
2023/09/15     12:11         637643 SouhaTime2400_11815.zip
2023/09/15     12:56       87637330 SouhaTime2400_8165.zip
2023/09/15     13:36         273158 SouhaTime2400_12092.zip
2023/09/15     14:16         677329 SouhaTime2400_11558.zip
2023/09/15     14:57         345389 SouhaTime2400_11813.zip
2023/09/15     15:39        1147239 SouhaTime2400_12122.zip
2023/09/15     16:19          20216 SouhaTime2400_12893.zip
2023/09/15     16:59          82066 SouhaTime2400_12162.zip
2023/09/15     17:39         274620 SouhaTime2400_11847.zip
2023/09/15     18:31      154052923 SouhaTime2400_8992.zip
2023/09/15     19:18      173740647 SouhaTime2400_8114.zip
2023/09/15     20:01       38622341 SouhaTime2400_9672.zip
2023/09/15     20:42        1056055 SouhaTime2400_11574.zip
2023/09/15     21:31      111048349 SouhaTime2400_8715.zip
2023/09/15     22:11         219802 SouhaTime2400_11824.zip
2023/09/15     23:02      181090741 SouhaTime2400_8111.zip
2023/09/15     23:45       50058699 SouhaTime2400_8658.zip
2023/09/16      0:26         485985 SouhaTime2400_11576.zip

最適はなんとか18回目に更新出来てますが、

単勝:的中[20.16%] 回収[82.23%] 複勝:的中[47.86%] 回収[83.17%]
枠連:的中[11.82%] 回収[92.16%] 馬連:的中[7.78%] 回収[80.83%]
ワイド:的中[18.53%] 回収[85.86%] 馬単:的中[4.34%] 回収[82.99%]
三連複:的中[3.99%] 回収[72.79%] 三連単:的中[0.78%] 回収[54.03%] 
予想[6,314] 的中[3,109] (49.24%) 購入[¥4,360,500] 払戻[¥3,948,770 (90.56%)]

的中率、回収率共にダウンなものでした😖 RMSEってどれだけ誤差が少ないかの指標なんで、着順予測に直結してる訳ではないって事なのかな。

今週末の戦略検討するのに先週の予想を確認してると、予想表示が変わっている事に気が付きました。これ、先々週末の時に前日と当日とかで予想が変わってるのに気が付きましたが、朝の予想はレース発送時点までは変わってないのは確認してます。何かがミスコーディングされてるとしたら嫌な感じです。

TensorFlowには相変わらず苦戦してます。Python環境構築でも苦労したりで...来月には3.12がリリースされるっていうからRC2を入れてみるがTensorFlowが新バージョン未対応で元に戻したりとかね。TensorFlow.NETにも色々バージョンがあったり、TensorFlow for .NETが存在してたり、まだまだ環境自体が微妙なのも苦労させられる原因の一つですね。

2023/09/15

LightGBM v4.1.0

LightGBMのGitHubに行ってみると3日前にv4.1.0がリリースされてました。って事で改めてダウンロードしてビルド。そんな裏でも学習プロセスは稼働してたんですがOutOfMemoryの文字が目に入ったので、この際って事でFAQの指示に従おうと確認すると、まあ、キャッシュのサイズ指定を変えるって事なんですが、これが元々は無制限になってまして、これ、逆に制限して意味あるかは別として、うちは実メモリ64GBしか積んでませんので32GB程度にしてみようかと思いましたが、まあ、この際だから(?)40GBって事にしてビルドしてみました。これがどうなるかは何度か動かしてみない事には分からないです。

学習データが200MBとして、その10倍は必要になるって話で2GBです。その20倍用意してるので、これで足りなきゃどうしようもないです。しかし、チラッと見たその辺りの資料に100GB超えのものもあったので何ともです。今後数年すれば128GB積んだPCも普通に組める時代になるかもですけど😜

追記 2023/9/15 19:39
40GBでは相変わらずOutOfMemoryExceptionはあるので50GBにしてビルドし直してみましたが、実行中にコピーしてどうなのかは微妙です。