そもそも理解してるとは思っていませんが、取敢えずモデルの訓練が出来る様になったので50epochsで試してました。ああ、これ、35分/epochなんで50epochsだと29時間です😨 初トライではあまり良い結果が出ず、RMSEが確か39とかだった記憶なんですが、Copilotにあまり精度が上がらないけどって相談してみると
- from tensorflow.keras.optimizers import Adam
- # 学習率を指定
- optimizer = Adam(learning_rate=0.01) # 例えば 0.01 に変更
- # モデルをコンパイル
- model.compile(optimizer=optimizer, loss='mse', metrics=['mae', root_mean_squared_error])
とする事で学習率が指定出来るとの事で試しました。そもそもデフォルトでは0.001らしいです。でも、結果的にはそれ程改善された訳では無かったです。そこで、まあ、そもそも特徴量が爆発的に増えてますので層毎の指定を大幅に変更し、馬毎の部分を
- x = Dense(1024, activation='relu')(merged_features)
- x = Dropout(0.3)(x) # 過学習防止
- x = Dense(256, activation='relu')(x)
- x = Dropout(0.3)(x)
- x = Dense(64, activation='relu')(x)
として、より複雑(?)にして50epochsスタートしてみました。これ、結果わかるの29時間以上後なので...
追記 2025.5.14 21:17
そもそも当初はどうだったのかが分からんと比較出来ないですね😓
- x = Dense(64, activation='relu')(merged_features)
- x = Dropout(0.3)(x) # 過学習防止
- x = Dense(32, activation='relu')(x)
- x = Dropout(0.3)(x)
- x = Dense(16, activation='relu')(x)
これ、新馬戦用からコピーしてそのままだったんですが、そもそも新馬戦用ももう少し変更は必要ですね。
ああっ、そいえばWindowsに緊急のUpdateが来てるんだったけど、訓練スタートしちゃったから後日だなorz
追記 2025.5.15 21:23
終わるまで我慢出来なくて中断しました。思えば、上記なんですが、馬毎にしてるので馬毎は確か533特徴量なんてす。なので流石に1024は違うだろうって判断です。まあ、残り10epochsでやはりRMSE 38辺りだったのも中断の決め手です。
- x = Dense(128, activation='relu')(merged_features)
- x = Dropout(0.3)(x) # 過学習防止
- x = Dense(32, activation='relu')(x)
- # x = Dropout(0.3)(x)
- # x = Dense(16, activation='relu')(x)
時短になるかもって事で1つの層を削ってみたけど、これは効果無い感じorz いや、まだ1つ目も終わってないが訓練始まるとそのepochの残り時間とかが出るので単純にどの程度掛かるのか分かるんだが、38分とかだったので変わってないなっと。明日朝時点でRMSEがどの程度かで、今回の修正が意味あるのか分かるかも?
0 件のコメント:
コメントを投稿