머신러닝에서는 일반적으로 전체 데이터를 training set과 test set으로 나누는 과정을 거친다.
기계는 반드시 훈련을 거쳐 성능을 쌓아올린 후, 그것을 평가하는 단계로 모델 완성을 해줘야 한다.
그렇기 때문에, Orignal Data를 Training Data와 Test Data로 나눈다.
일반적으로 Train : Test 데이터의 비율을 8:2 로 할당한다.
Train set과 Test set 간의 괴리를 보완하기 위해 Validation(검증) 과정을 거친다.
학습을 시킨다기보다, 학습한 내용을 검증하며, 머신러닝 모델의 성능을 검증하는 단계라고 볼 수 있다.
검증 과정에서 가장 일반적으로 쓰이는 방법론은 K-fold Cross Validation (K-겹 교차검증)이 있다.
이 방법의 장점은 자료 추출의 균일성을 확보하기 위한 것에 있다.
데이터를 효과적으로 검증하고 업그레이드할 수 있다는 장점이 있다.
검증 과정을 통해 우리는 과적합(Overfitting)을 막을 수 있다.
Train Data는 결국 전체 데이터의 일부분에 속하기 때문에, 한 부분만 과하게 학습되면 전체적으로는 정확성이 떨어지는 결과가 나오기 때문이다.
모델의 올바른 일반화 성능을 추정할 수 있다.
모델이 더 정교해지는 효과를 누리게 된다. 예측 정확성을 검토하기 때문이다.