더북(TheBook)

2.6.3 데이터셋 분할

데이터 전처리의 마지막 단계로, 데이터셋을 다음 세 가지 데이터셋으로 나눠야 한다.

훈련 데이터셋(training set): 신경망을 훈련시키는 데 사용한다.

검증 데이터셋(validation set): 초매개변수(예: 은닉 레이어 개수)를 튜닝하는 데 사용한다.

테스트 데이터셋(testing set): 신경망의 성능을 최종 평가하는 데 사용한다.

 

이와 같이 데이터셋을 나누는 이유는 과적합을 피하고 편향을 제거한 데이터로 모델 성능을 평가하기 위해서다. 일반적으로 훈련 데이터셋과 검증 데이터셋은 모델을 튜닝하고 개선하는 데 사용한다. 검증 데이터셋은 훈련을 조기 종료할지 결정하는 데 사용하기도 한다. 이 말은 모델의 검증 데이터셋 예측 성능이 더 이상 좋아지지 않는 시점에 훈련을 종료한다는 의미다. 이 방식은 신경망의 과적합을 방지하는 효과가 있다.

테스트 데이터셋은 홀드아웃(holdout) 데이터셋이라고도 하는데, 신경망을 훈련시키는 데 절대 사용하지 않기 때문이다. 이 데이터셋은 모델 성능을 최종 평가하는 데 사용한다. 이 방식은 모델의 실세계 성능을 비교적 정확하게 반영할 수 있다.

데이터셋을 나누는 비율도 중요하다. 훈련 데이터셋을 많이 할당하면 모델 성능은 향상시킬 수 있지만 과적합에 대처할 수 없게 된다. 반대로 검증 데이터셋과 테스트 데이터셋을 많이 할당하면 훈련 데이터셋이 부족해 모델 성능이 감소할 수 있다.

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