#2 Train-Vaildation-Test

chiro_J·2022년 7월 17일
0

머신러닝 클리닉

목록 보기
2/29
post-thumbnail

머신러닝에서는 일반적으로 전체 데이터를 training set과 test set으로 나누는 과정을 거친다.

  • 학습에 사용되는 데이터 : Training
  • hyper-parameter tuning에 사용되는 데이터 : Validation
  • 최종 성능 확인에 사용하는 데이터 : Test

기계는 반드시 훈련을 거쳐 성능을 쌓아올린 후, 그것을 평가하는 단계로 모델 완성을 해줘야 한다.

그렇기 때문에, Orignal Data를 Training Data와 Test Data로 나눈다.

일반적으로 Train : Test 데이터의 비율을 8:2 로 할당한다.


Train set과 Test set 간의 괴리를 보완하기 위해 Validation(검증) 과정을 거친다.

학습을 시킨다기보다, 학습한 내용을 검증하며, 머신러닝 모델의 성능을 검증하는 단계라고 볼 수 있다.

검증 과정에서 가장 일반적으로 쓰이는 방법론은 K-fold Cross Validation (K-겹 교차검증)이 있다.

이 방법의 장점은 자료 추출의 균일성을 확보하기 위한 것에 있다.
데이터를 효과적으로 검증하고 업그레이드할 수 있다는 장점이 있다.


  1. 검증 과정을 통해 우리는 과적합(Overfitting)을 막을 수 있다.
    Train Data는 결국 전체 데이터의 일부분에 속하기 때문에, 한 부분만 과하게 학습되면 전체적으로는 정확성이 떨어지는 결과가 나오기 때문이다.

  2. 모델의 올바른 일반화 성능을 추정할 수 있다.
    모델이 더 정교해지는 효과를 누리게 된다. 예측 정확성을 검토하기 때문이다.


참고 자료 : https://davincilabs.ai/blog/?q=YToxOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjt9&bmode=view&idx=10640969&t=board

0개의 댓글