더북(TheBook)

Note ≡ 훈련 데이터셋과 테스트 데이터셋의 적절한 분할 비율


데이터셋을 훈련 데이터셋과 테스트 데이터셋으로 나누면 학습 알고리즘에 도움이 될 수 있는 유익한 정보를 감추게 된다는 것을 기억하세요. 테스트 데이터셋으로 너무 많은 정보를 떼어 놓아서는 안 됩니다. 반대로 테스트 데이터셋이 작으면 일반화 오차에 대한 추정은 더 부정확해질 것입니다. 훈련 데이터셋과 테스트 데이터셋으로 나눌 때 이 트레이드오프의 균형을 맞추어야 합니다. 실전에서 가장 많이 사용하는 비율은 데이터셋의 크기에 따라 60:40, 70:30 또는 80:20입니다. 대용량의 데이터셋일 경우에는 90:10 또는 99:1의 비율로 훈련 데이터셋과 테스트 데이터셋을 나누는 것도 보통이고 적절합니다. 예를 들어 데이터셋에 10만 개 이상의 훈련 샘플이 있다면 일반화 성능을 잘 추정하기 위해 1만 개의 샘플만 테스트로 떼어 놓아도 괜찮습니다. 더 자세한 내용은 제가 쓴 ‘머신 러닝의 모델 평가와 모델 선택, 알고리즘 선택’(http://arxiv.org/pdf/1811.12808.pdf)을 참고하세요.13 6장에서 모델 평가에 대해 더 자세히 다루겠습니다.

또한, 떼어 놓았던 테스트 데이터셋을 버리지 말고 훈련과 평가 후에 전체 데이터셋으로 모델을 다시 훈련하여 모델의 예측 성능을 향상시키는 방법이 널리 사용됩니다. 이런 방식이 일반적으로 권장되지만, 데이터셋이 작고 테스트 데이터셋에 이상치가 들어 있다면 일반화 성능은 오히려 나빠질 수 있습니다. 전체 데이터셋을 사용하여 모델을 다시 훈련한 후에는 이 모델의 성능을 평가할 독립된 데이터셋이 남아 있지도 않습니다.

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