バッチサイズを変えてみる
モデルは通常、固定サイズのバッチで学習します。バッチサイズが小さいほど各エポックでの重み更新回数は増えますが、その分、勾配降下が不安定になりやすくなります。特にバッチサイズが小さすぎて、学習データ全体を代表できていない場合は要注意です。
ここでは、赤と青の点を分類するシンプルな二値分類モデルで、バッチサイズの違いが精度にどう影響するかを見ていきます。
まずはバッチサイズ1を使い、各エポックで学習データのサンプルごとに一度ずつ重みを更新します。次に、データセット全体を1つのバッチとして使い、各エポックにつき一度だけ重みを更新します。
この演習はコースの一部です
Kerasで学ぶIntroduction to Deep Learning
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Get a fresh new model with get_model
model = ____
# Train your model for 5 epochs with a batch size of 1
model.fit(X_train, y_train, epochs=____, ____=____)
print("\n The accuracy when using a batch of size 1 is: ",
model.evaluate(X_test, y_test)[1])