본문 바로가기

딥러닝 & 머신러닝/딥러닝 지식

훈련, 검증, 테스트 (Training, Validation, Test) 데이터셋에 관한 설명과 질문

# Training 세트와 Test 세트를 분리하는 이유는? Validation 세트가 따로 있는 이유는? Test 세트가 오염되었다는 뜻은?

 

우선 Training 세트를 이용해 모델을 훈련시켜 최적의 parameter(즉 bias와 가중치)를 찾아낸다. 한편 모델을 개발할 때 항상 모델의 설정, 즉 하이퍼파라미터를 바꿔가는 과정이 필수적이다. 이때 Validation 세트를 이용해서 훈련된 모델의 성능을 평가하고, 하이퍼파라미터를 바꿔서 또 모델 성능을 평가하는 과정을 반복하면서 최적의 모델을 찾는다.

 

- Validation 세트가 따로 있는 이유

: Validation 세트로 모델의 성능을 평가하는 과정을 반복하며 모델에게 맞는 최적의 하이퍼파라미터를 찾아주기 위해서

 

- Training 세트와 Test 세트를 분리하는 이유

: 우리의 목적은 '모델의 일반화'이고, 그러기 위해선 Training 세트로 잘 훈련된 모델에 새로운 데이터셋이 들어와도 잘 작동하는지 봐야함. 그 '새로운 데이터셋'의 역할을 하는 것이 바로 Test 세트이다. 즉, Test 세트는 모델의 범용 성능을 평가한다.

 

- Test 세트가 오염되었다는 뜻

: 모델이 Test 세트에 대한 정보를 조금이라도 얻어버려서 '완전히 새로운 데이터 셋'이라는 기능을 잃어버린 것. Test 세트에 기초하여 튜닝된 모델의 설정은 일반화 성능을 왜곡시킬 것이다.