더북(TheBook)

그림 4-10에서 볼 수 있듯이 검증 MAE가 (그래프에서 뺐던 열 번의 에포크를 포함하여) 120~ 140번째 에포크 이후에 줄어드는 것이 멈추었습니다. 이 지점 이후로는 과대적합이 시작됩니다.

모델의 여러 매개변수에 대한 튜닝이 끝나면(에포크의 수뿐만 아니라 중간층의 크기도 조절할 수 있습니다) 모든 훈련 데이터를 사용하고 최상의 매개변수로 최종 실전에 투입될 모델을 훈련시킵니다. 그다음 테스트 데이터로 성능을 확인합니다.

코드 4-31 최종 모델 훈련하기

model = build_model() 
model.fit(train_data, train_targets, 
          epochs=130, batch_size=16, verbose=0)
test_mse_score, test_mae_score = model.evaluate(test_data, test_targets)

새롭게 컴파일된 모델을 얻습니다.

전체 데이터로 훈련시킵니다.

최종 결과는 다음과 같습니다.

>>> test_mae_score
2.4642276763916016

아직 2,500달러 정도 차이가 납니다. 하지만 성능이 향상되었습니다! 이전 두 예제처럼 모델의 층 수나 층의 유닛 개수를 바꾸어 테스트 오차를 더 낮출 수 있는지 확인해 볼 수 있습니다.

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