[ML/DL] Train vs Validation vs Test

느린 개발자·2020년 12월 18일
0

ML/DL

목록 보기
1/1

📌Introduction

모델을 학습하고 평가 하기 위해 dataset은 필수적이다.
이때, dataset의 목적에 따라 크게 다음 3가지로 분류한다.

1. Train
2. Validation
3. Test


📝Train

  • 모델을 학습 하기 위한 dataset.

  • 모델을 학습하는데에는 오직 유일하게 Train dataset만 이용한다.

  • 일반적으로 모델을 학습하기 전 준비된 dataset에서 Train, Test dataset을 8:2의 비율로 미리 나눈다.


📝Validation

  • 학습이 이미 완료된 모델을 검증 하기 위한 dataset.
  • 모델 학습, 즉 모델의 가중치 업데이트에는 참여하지 않지만, 모델 검증을 위해 관여한다.
  • 일반적으로 Train dataset 의 일부를 떼어내어 Validaion dataset으로 둔다.

  • 위의 그림은 왼쪽에서 부터 Underfitting -> Good Training -> Overfitting 을 나타낸다.
    이때, Train dataset에 대한 많은 학습은 overfitting 이 발생하고 unseen data에 대해 안좋은 성능을 보일 것이다.
    그래서, overfitting 을 해결하기 위해 Validation dataset 을 이용하여 최적의 모델 파라미터를 찾는다.

text


📝Test

  • 학습과 검증이 완료된 모델의 성능을 평가 하기 위한 dataset.
  • 학습에 전혀 관여하지 않고, 오직 '최종 성능'을 평가 하기 위해 쓰인다.
  • 즉, 모델이 unseen data에서 얼마나 잘 수행 되는지 확인하는 dataset.
  • 일반적으로 Train:Validation:Test=6:2:2 의 비율로 dataset을 구성한다.


📚Reference

The figure 1 for header # Validation
The figure 2 for header # Validation
The figure for header # Test

profile
남들보단 느리지만, 끝을 향해

0개의 댓글