봉식이와 캔따개

머신러닝 데이터셋 종류 (train, validation, test) 본문

머신러닝, 딥러닝/기초

머신러닝 데이터셋 종류 (train, validation, test)

봉식이누나 2021. 1. 21. 10:58
반응형

 

Train Data

  • 모델을 학습시키기 위한 Data

  • Train data를 이용해 각기 다른 모델을 서로 다른 epoch로 학습시킨다

    (epoch : 전체 Data set에 대해 한 번 학습을 완료한 상태)

  • 모델을 학습하는 데에는 Train data만 사용한다

 

Validation Data

  • 학습이 이미 완료된 모델을 검증하기 위한 Data

  • 모델을 학습시키지 않는다

  • 학습시키지는 않지만 학습에 관여한다

 

Test Data

  • 학습과 검증이 완료된 모델의 성능을 평가하기 위한 Data

  • 학습에 전혀 관여하지 않고 최종 성능을 평가하기 위해 쓰인다

 

 

 


 

 

Validation Data의 역할

 

epoch에 따른 model의 변화

 

그림에서 우측으로 갈 수록 epoch를 늘려가면서 train data를 학습시키는 과정이다.

가운데 그림은 train data 뿐 아니라 일반적인 data에 대해서도 좋은 성능을 보인다.

맨 우측 그림을 보면 train data에 과적합되어 다른 data에는 안좋은 성능을 보일 것이다.

 

즉 train data로 학습을 할 때 너무 높은 epoch를 주면

train data에 대해서는 매우 높은 성능을 보이지만, 학습될 때 사용되지 않은 데이터 셋에 대해서는 정확도가 떨어지는 과적합 문제가 발생하는 것을 알 수 있다.

 

 

 

 

 

Validation Data의 필요성

 

 

Validation data는 이런 과적합 문제를 막기 위한 data이다.

위 그림은 Validation data를 사용하여 train data에 대한 epoch값을 바꿔가며 error 곡선을 그린 모습이다.

파란 점선에서 멈추는게 적당해보인다.

이러한 방식으로 적절한 epoch를 찾는 데 사용되고 학습시키지는 않지만 학습에 관여하는 data가 validation data이다.

또한 Epoch 뿐만 아니라 hyperparameter나 hidden layer를 조정할 때도 사용될 수 있다.

 

 


 

 

 

+ ) overfitting, underfitting

 

 

 

 

반응형
Comments