ChatGPTを活用して強化するディープラーニング競馬予想AI(バッチサイズ編)
以前、『ディープラーニングで作る世界一シンプルでわかりやすい競馬予想AI』という記事を投稿しました。
そこで作成したディープラーニングモデルは高い精度を見せましたが、さらに精度を向上させる余地があると感じました。そこで少し高度な内容になりますが、今回はその強化編を始めます。
今回の目標は、実際の競馬予想で実用的に使えるモデルに仕上げることです。
今後、さまざまな方法でモデルの精度向上を目指していきますが、基本的な基準となるのは、『ディープラーニングで作る世界一シンプルでわかりやすい競馬予想AI』で作成したモデルです。
強化編では、毎回1つのパラメータのみを基準モデルから変更し、その結果を確認していきます。そのため、どの記事からでも内容を理解できるようにしています。
最後に、強化編のまとめとして、効果のあった手法をすべて総括します。
では今回はバッチサイズに注目します。
バッチサイズとは、下記のbatch_size=64と書いているもので1回に学習するデータの量を表します。この量を変えてみようと思います。
# モデルの訓練
history = model.fit(X, Y, epochs=10, batch_size=64, validation_split=0.2,callbacks=[checkpoint])
以前の学習結果は下記のような感じでした。
まずはbatch_size=32に変えてみます
次にbatch_size=128に変えてみます
違いがはっきりしないため、さらに極端な値に設定してみましょう。
batch_size=4
lossは低いですが、accuracy(順位の正解率)も低いですね
batch_size=1024
これは学習が完了していない状態です。もう少し学習の回数(エポック数)を増やす必要がありそうです。ただaccuracyを考慮すると、学習の回数を増やしても効果は期待できないようです。
この学習で使用しているデータセットは約1万行(トレーニングに使用するデータは6000~7000行程度)です。
今回の結果よりもともとのbatch_size=64で問題なさそうであったことから、トレーニングデータのサイズに対するバッチサイズの比率は約6400行に対して64、つまり100:1の割合であるため、このくらいのバッチサイズが適切だと言えます。
データセットを増やすときに覚えておきましょう。