훈련셋을 이용하여 훈련을 지나치게 많이 하게 될 경우, 훈련셋에 대해서는 오차가 적게 훈련이 되지만 시험셋이나 다른 데이터셋에 대해서는 오차가 커지는 현상이다.
검증셋이 있다면 스스로 평가하면서 적절한 학습방법을 찾아 볼 수 있다.
검증셋으로는 훈련을 하지 않고 스스로 검증을 한다.
가장 이상적인 학습량을 찾아야한다.
→ save_best_only = True
손실값이 가장 적게 나온 모델을 저장하는 콜백함수를 지정해 준다.
checkpoint_callback = ModelCheckpoint("best_model.h5",
save_best_only=True,
monitor="val_loss")
hist = model.fit(x_train, y_train,
validation_split=0.2,
batch_size=32,
epochs=100,
callbacks=[checkpoint_callback])