앞에서 우리는 주어진 데이터 세트에만 과적합한 모델을 만드는 것을 방지하기 위해서 두 개의 하위 세트(학습 세트, 테스트 세트)로 나누어 일반화 시킨 모델을 만들었습니다.


하지만 여전히 이 방법에도 문제점이 하나 있습니다. 바로 학습 세트로 학습 시키고 테스트 세트로 테스트를 진행해 초매개변수를 조정하여 얻어낸 모델이 이번에는 테스트 세트에 과적합한 모델이 될 수 있다는 것입니다.


세 개의 세트로 분할: 학습 세트(Training Set), 검증 세트(Validation Set), 테스트 세트(Test Set)

이렇게 데이터 세트를 두 개로 나누는 것 보다 더 좋은 방법이 있습니다. 주어진 데이터를 세 개의 세트로 나누는 것입니다. 데이터 세트를 학습 세트(Training Set), 검증 세트(Validation Set), 테스트 세트(Test Set)로 나누어 테스트 세트에 과적합한 모델이 될 가능성을 크게 낮출 수 있습니다.


학습 세트를 통해 학습된 모델을 바로 테스트 세트로 결과를 얻는 것이 아닌, 검증 세트를 사용하여 학습 세트의 결과를 평가합니다. 검증 세트의 결과에 따라 모델을 조정하여 가장 우수한 결과를 보이는 모델을 선택한 후, 이 모델을 테스트 세트를 사용하여 다시 평가하는 것입니다.


검증 세트를 활용한 우수한 모델 선택 과정

  1. 학습 세트로 모델을 학습
  2. 학습된 모델을 검증 세트 모델로 평가
  3. 검증 세트 결과에 따라 모델을 조정하고 다시 학습
  4. 검증 세트에서 가장 우수한 결과를 보이는 모델을 선택
  5. 그 모델을 테스트 세트로 모델을 평가

Tip

테스트 세트와 검증세트는 반복적으로 사용함에 따라 마모됩니다. 즉, 초매개변수 설정 또는 기타 모델 개선을 결정할 때와 같이 데이터를 더 많이 사용할수록 이러한 결과가 아직 주어지지 않은 새로운 데이터까지 일반화될 가능성이 낮아지게 되는 것 입니다.
(일반적으로 검증 세트보다 테스트 세트의 마모 속도가 더 빠름)

가능하면 데이터를 더 수집하여 테스트 세트와 검증 세트를 갱신하는 것이 좋습니다. 각 세트를 초기화하고 데이터 세트로 부터 처음부터 다시 설정하는 것도 좋은 재설정 방법입니다.


+ Recent posts