22.03.21 Validation 세트, Test 세트의 차이

2022. 3. 21. 15:12카테고리 없음

머신 러닝 모델의 평가

머신 러닝을 위한 데이터를 준비했다면 기계를 학습하기 전 해당 데이터를 훈련용, 검증용, 테스트용 이렇게 세 가지로 분리하는 것이 일반적이다. 대부분 training : val : test = 8:1:1의 비율로 분리한다.

 

Training set : 모델을 학습하는 용도

Validation set : 모델의 성능을 조정(tuning)하기 위한 용도. 과적합 되고있는지 판단 or 하이퍼파라미터의 조정을 위한 용도. 검증용 데이터에 대해서 높은 정확도를 얻도록 하이퍼파라미터의 값을 바꿔보는 것이다. 이렇게 튜닝하는 과정에서 모델은 검증용 데이터의 정확도를 높이는 방향으로 점차적으로 수정된다.

Test set : 학습한 모델의 성능을 평가하기 위한 용도. 튜닝 과정을 모두 끝내고 모델의 최종 평가를 하고자 한다면, 이제 검증용 데이터로 모델을 평가하는 것은 적합하지 않다. 모델은 validation 데이터의 정확도를 높이기 위해서 수정되어져 온 모델이기 때문입니다. 모델에 대한 평가는 이제 모델이 한 번도 보지 못한 데이터인 test 데이터의 몫입니다.

 

수능으로 비유하자면

- Training set : 실제 공부를 위한 문제지

- Validation set : 모의고사

- Test set : 수능

 

하이퍼파라미터 : 모델의 성능에 영향을 주는 값. 적절한 값을 찾아 사람이 지정해주는 변수. (ex. lr, 뉴런 수, 층수, batchsize 등)

매개변수 : w와 b(weight와 bias), cost함수에서 변수가 되는 값. cost = f(w,b)

 - 사람이 지정하는 것이 아니라 모델이 학습하는 과정에서 얻어지는 값이다.