變更批次大小
你已經看過模型通常會以固定大小的批次進行訓練。批次越小,每個 epoch 的權重更新次數就越多,但代價是梯度下降會更不穩定。特別是當批次太小,無法代表整個訓練集時,更是如此。
我們來看看不同批次大小如何影響一個簡單的二元分類模型,它要將紅色與藍色的點區分開來。
你會先使用批次大小為 1,在每個 epoch 中,對訓練集中每個樣本各更新一次權重。接著,改用整個資料集作為一個批次,在每個 epoch 只更新一次權重。
本練習屬於課程
Keras 深度學習入門
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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])