앞에서 우리는 주어진 데이터 세트에만 과적합한 모델을 만드는 것을 방지하기 위해서 두 개의 하위 세트(학습 세트, 테스트 세트)로 나누어 일반화 시킨 모델을 만들었습니다.
하지만 여전히 이 방법에도 문제점이 하나 있습니다. 바로 학습 세트로 학습 시키고 테스트 세트로 테스트를 진행해 초매개변수를 조정하여 얻어낸 모델이 이번에는 테스트 세트에 과적합한 모델이 될 수 있다는 것입니다.
세 개의 세트로 분할: 학습 세트(Training Set), 검증 세트(Validation Set), 테스트 세트(Test Set)
이렇게 데이터 세트를 두 개로 나누는 것 보다 더 좋은 방법이 있습니다. 주어진 데이터를 세 개의 세트로 나누는 것입니다. 데이터 세트를 학습 세트(Training Set), 검증 세트(Validation Set), 테스트 세트(Test Set)로 나누어 테스트 세트에 과적합한 모델이 될 가능성을 크게 낮출 수 있습니다.
학습 세트를 통해 학습된 모델을 바로 테스트 세트로 결과를 얻는 것이 아닌, 검증 세트를 사용하여 학습 세트의 결과를 평가합니다. 검증 세트의 결과에 따라 모델을 조정하여 가장 우수한 결과를 보이는 모델을 선택한 후, 이 모델을 테스트 세트를 사용하여 다시 평가하는 것입니다.
검증 세트를 활용한 우수한 모델 선택 과정
- 학습 세트로 모델을 학습
- 학습된 모델을 검증 세트 모델로 평가
- 검증 세트 결과에 따라 모델을 조정하고 다시 학습
- 검증 세트에서 가장 우수한 결과를 보이는 모델을 선택
- 그 모델을 테스트 세트로 모델을 평가
Tip
'Muchine Learning > Google MLCC' 카테고리의 다른 글
08-2 표현: 좋은 특성의 조건(Qualities of Good Features) (0) | 2018.08.27 |
---|---|
08-1 표현: 특성 추출(Feature Engineering) (0) | 2018.08.26 |
06-01 학습 및 평가 세트 (0) | 2018.08.13 |
05-01 일반화: 과적합과 일반화 (0) | 2018.08.13 |
03-03_손실 줄이기: 확률적 경사하강법(Stochastic Gradient Descent) (0) | 2018.08.12 |