검증세트: 다른 파티션

이전 모듈에서는 데이터 세트를 학습 세트와 테스트 세트로 나누는 방법을 소개했습니다. 이러한 파티션 나누기로 인해 하나의 예시 집합으로 학습한 다음 다른 예시 집합을 기준으로 모델을 테스트할 수 있습니다. 파티션이 두 개인 경우 워크플로는 다음과 같습니다.

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

그림 1. 가능한 워크플로는 무엇인가요?

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

데이터 세트를 두 개의 세트로 나누는 것은 좋은 생각이지만 만병통치약이 될 수는 없습니다. 데이터 세트를 아래 그림과 같은 3개의 하위 집합으로 분할하면 과적합의 가능성을 크게 줄일 수 있습니다.

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

그림 2. 데이터 세트 하나를 3개의 하위 집합으로 슬라이싱합니다.

검증 세트를 사용하여 학습 세트의 결과를 평가합니다. 그런 다음 모델이 검증세트를 '통과'한 테스트 세트를 사용하여 평가를 다시 확인합니다. 다음 그림은 이 새로운 워크플로를 보여줍니다.

그림 1과 비슷하지만 테스트 세트를 기준으로 모델을 평가하는 대신 검증 세트를 기준으로 모델을 평가한다는 워크플로가 유사합니다. 그런 다음 학습 세트와 검증 세트에서 거의 일치하는 정도가 나오면 테스트 세트를 기준으로 모델을 확인합니다.

그림 3. 워크플로 개선

개선된 워크플로의 내용은 다음과 같습니다.

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

이 워크플로는 테스트 세트에 대한 노출을 줄여주기 때문에 더 좋습니다.