검증: 추가 분할

이전 모듈에서는 데이터 세트를 학습 세트와 테스트 세트로 분리하는 방법을 소개했습니다. 이러한 분리를 통해 예제 세트 하나로는 학습을 수행하고, 다른 예제 세트로는 모델 테스트를 수행할 수 있었습니다. 두 개의 분할을 사용하는 워크플로우의 예는 다음과 같습니다.

3단계로 구성된 워크플로우 다이어그램1. 학습 세트로 모델을 학습시킵니다.2.테스트 세트로 모델을 평가합니다.3. 테스트 세트의 결과에 따라 모델을 조정합니다.1, 2, 3단계를 반복하여 테스트 세트에서 가장 우수한 결과를 보이는 모델을 선택합니다.

그림 1. 가능한 워크플로우

이 그림에서 '모델 조정'이란 학습률 변경, 특성 추가 또는 삭제, 완전히 새로운 모델 설계와 같이 모델에서 가능한 모든 요소를 조정함을 의미합니다. 이 워크플로우 마지막에서 테스트 세트를 기준으로 가장 우수한 모델을 선택합니다.

데이터 세트를 둘로 나누는 것은 좋은 생각이지만 더 훌륭한 방법이 있습니다. 다음 그림과 같이 데이터 세트를 셋으로 나누면 과적합 가능성을 크게 낮출 수 있습니다.

세 부분으로 분할된 가로 막대: 70%는 학습 세트, 15%는 검증 세트, 15%는 테스트 세트

그림 2. 데이터 세트 하나를 셋으로 분할

검증세트를 사용하여 학습 세트의 결과를 평가합니다. 그런 다음 모델이 검증세트를 '통과'한 테스트 세트를 사용하여 다시 평가해 봅니다. 다음 그림에서는 이러한 새 워크플로우를 보여줍니다.

그림 2와 비슷하지만 테스트 세트를 기준으로 모델을 평가하는 대신 검증 세트를 기준으로 평가하는 워크플로우입니다.학습 세트와 검증 세트에서 대략적으로 일치하는 결과가 나온 후에 테스트 세트를 기준으로 모델을 확인합니다.

그림 3. 워크플로우 개선

개선된 워크플로우는 다음과 같이 진행됩니다.

  1. 검증세트에서 가장 우수한 결과를 보이는 모델을 선택합니다.
  2. 테스트 세트를 기준으로 해당 모델을 재차 확인합니다.

이 워크플로우는 테스트 세트가 보다 적게 노출되므로 더 우수합니다.