見出し画像

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=64

まずはbatch_size=32に変えてみます

batch_size=32

次にbatch_size=128に変えてみます

batch_size=128

違いがはっきりしないため、さらに極端な値に設定してみましょう。

batch_size=4

batch_size=4

lossは低いですが、accuracy(順位の正解率)も低いですね

batch_size=1024

batch_size=1024

これは学習が完了していない状態です。もう少し学習の回数(エポック数)を増やす必要がありそうです。ただaccuracyを考慮すると、学習の回数を増やしても効果は期待できないようです。

この学習で使用しているデータセットは約1万行(トレーニングに使用するデータは6000~7000行程度)です。

今回の結果よりもともとのbatch_size=64で問題なさそうであったことから、トレーニングデータのサイズに対するバッチサイズの比率は約6400行に対して64、つまり100:1の割合であるため、このくらいのバッチサイズが適切だと言えます。

データセットを増やすときに覚えておきましょう。


いいなと思ったら応援しよう!

シークレット
もし記事が良かったなと思った人はサポートしていただけると嬉しいです! より良い情報をお伝えできるように頑張ります🙇‍♂️