이전까지는 보통 모델 훈련(model.fit)과정에서 train데이터만을 가지고 학습했다면 오늘 실습에서 아래와 같이 validation_data를 설정해주었다.
validation_data는 학습하기 위한 용도는 아니며 loss와 model의 metrics(보통 accuracy)를 평가하기위해 사용된다.
history 기능을 사용해 단순히 train데이터의 loss와 accuracy만 가지고 판단하기에는 overfitting의 문제를 거를 수 없다. 따라서 별도의 validation_data의 loss와 accuracy를 함께 확인함으로써 실제 test 데이터에서의 예측을 보다 정확히 할 수 있다.
history = model.fit(datagen.flow(x_train, y_train, batch_size = 32), epochs= 12, validation_data= datagen.flow(x_val, y_val), callbacks = [learning_rate_reduction])