AI

train & test & validation data set

inthyes 2023. 10. 21. 12:00

데이터 셋

train set

모델을 학습 시키는 것에 유일하게 사용되는 데이터

보통 train set을 이용해 각기 다른 모델을 서로 다른 epoch로 학습을 시킨다.

  • 여기서 각기 다른 모델이란 hidden layer 혹은 hyper parameter에 약간씩 변화를 줌을 뜻한다.

Validation set

학습이 이미 완료된 모델을 검증하기 위한 data set
학습을 시키지 않지만 학습에 관여함

Test set

학습과 검증이 완료된 모델의 성능을 평가하기 위한 data set
학습에 전혀 관여하지 않고 "최종 성능"을 평가하는 용도

 

  • base line 기준으로 더 학습시키면 overfitting되어 test set에 대한 결과가 점점 안좋아진다.
  • base line에 해당하는 epoch를 찾아야하는데 이를 찾기 위해 validation set을 사용한다.
  • base line에 해당하는 epoch를 찾으면 해당 epoch까지만 모델을 학습시켜 test set으로 최정 성능을 평가한다.
  • validation set에 대한 accuracy가 중요한 이유는 학습에서 overfitting에 빠지지 않고 unseen data에 대한 좋은 성능이 핵심적이기 때문

train : test 데이터를 8:2로 나누는데 train데이터 중 일부를 validation set으로 이용해서 결국 train : validation : test을 일반적으로 6:2:2로 사용한다.

데이터 양에 의한 분할

데이터가 많은 경우
  • 6:2:2 비율에 얽매이지 않고, 전체 데이터셋의 크기, validation set, test set에 필요한 데이터의 양을 가늠하여 효과적인 dataset splitting을 해야함
데이터가 적은 경우
  • K-Fold Cross Validation 사용

'AI' 카테고리의 다른 글

머신러닝 기본 용어와 기초 수학 개념  (1) 2024.01.04
Regression vs Classification  (0) 2024.01.04
batch size & epoch & iteration  (0) 2023.10.20
K-Fold Cross Validation  (0) 2023.10.20
ROC curve  (0) 2023.10.20