- 이름 그대로 Train(학습) 을 위해 사용되는 데이터이다.
- Training Set 은 학습 외 Test나 Validation 에서 사용 되서는 안된다.
→ Cheating 에 해당되기 때문
![]()
- Training Set 을 통해 학습된 Model 의 성능을 검증하는데 사용된다.
- Train 과정 이후 모델의 학습이 올바르게 이루어지고 있는지 검증하는데 사용된다.
→ ex) Train Acc ↑, Val Acc ↓ = Overfitting 발생 의심 !
- 최종 Model or CheckPoint 를 선택할 때, 보통 Validation Acc 기준으로 선택한다.
- 최종 Model 학습 및 선정이 끝난 뒤, 모델의 예상되는 성능을 측정하는데 사용된다.
- Validation Set 은 Train 과정에 관여하지만, Test Set은 관여하지 않고 최종적으로 마지막에 딱 한번 사용된다.
![]()
통상적으로 전체데이터셋을 100 이라 하였을 때, 각 Set의 비율은 다음과 같이 나눈다.
전체 데이터셋을 Train (학습) 하는 용도로만 쓰게 되면, 객관적인 모델의 성능을 예측 할 수 없습니다.
→ Train Acc 는 항상 높기 때문 !
Train 과정 중간에 현재 모델이 Training Set 에 Overfitting 되지 않고, 올바르게 학습이 이루어지고 있는지 검증하는 과정이 필요하기 때문입니다.
Training Set 은 학습에 직접적으로 이용되는 데이터셋이며, Validation Set은 학습에 직접적으로 이용되지는 않지만, 검증 과정에 사용되어 간접적으로 이용되는 데이터셋이라 할 수 있습니다.
하지만, Test Set 의 경우 Train 과정에 어디에도 쓰이지않고, 최종적으로 Model 의 일반화된 성능을 예측하는 것에 사용되는데, 이러한 Test Set 이 아주 일부일지라도 Train 과정에서 노출되면, Test Set 으로써의 의미를 잃게 됩니다.
이러한 경우 "Test Set이 오염되었다" 합니다.