더북(TheBook)

model.fit() 메서드에 지정된 validationSplit 매개변수. 훈련하는 동안 trainData.xstrainData.labels의 마지막 15%를 검증을 위해 덜어 놓습니다. 이전 예제에서 배웠듯이 검증 손실과 정확도를 모니터링하는 것은 훈련 과정에서 중요합니다. 모델이 언제 어디서 과대적합(overfitting)이 되는지 알 수 있습니다. 과대적합이 무엇일까요? 간단히 말해서 모델이 훈련 데이터의 상세 사항에 너무 주의를 기울이는 것입니다. 이로 인해 훈련하는 동안 못 본 데이터의 정확도에는 좋지 않은 영향을 미칩니다. 과대적합은 지도 학습 머신 러닝에서 매우 중요한 개념입니다. 나중에 (8장에서) 과대적합을 찾고 해결하는 방법에 하나의 장을 할애해서 설명하겠습니다.

model.fit() 메서드는 비동기 함수입니다. 따라서 fit() 호출이 완료된 후 후속 명령을 실행하려면 await를 사용해야 합니다. 모델이 훈련된 후에 테스트 데이터셋을 사용해 모델을 평가하는 작업이 바로 이런 경우입니다. 평가는 동기적인 model.evaluate() 메서드를 사용합니다. model.evaluate() 메서드에 주입되는 데이터는 testData입니다. 앞서 언급한 trainData와 포맷이 같지만 샘플 수는 더 적습니다. 이 샘플들은 fit() 메서드를 실행하는 동안 모델이 만난 적이 없습니다. 이렇게 함으로써 테스트 데이터셋의 평가 결과가 모델에 새 나가지 않고, 이 평가 결과를 모델 품질의 객관적인 평가라고 확신할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.