AI

K-Fold Cross Validation

inthyes 2023. 10. 20. 17:56

정의

  • K개의 Fold를 만들어서 진행하는 교차검증

사용 이유

  • 총 데이터 갯수가 적은 데이터 셋에 대하여 정확도를 향상시킬 수 있음
  • 기존 분류보다 train, test로만 분류할 때 학습 데이터 셋이 더 많기 때문
  • 데이터 수가 적은데 검증과 테스트에 데이터를 더 뺏기면 underfitting등 성능이 미달되는 모델이 학습됨overfitting에 k-fold가 유용한 이유

단점

  • iteration 횟수가 많아지기 때문에 학습에 걸리는 시간이 늘어남

과정

  • 기존 과정과 같이 train data set과 test data set을 나눈다.
  • train data set을 K개의 fold로 나눈다.
  • 한 개의 fold에 있는 데이터를 다시 k개로 쪼갠 다음, k-1개는 train data, 마지막 한 개는 validation data로 지정한다.
  • 모델을 생성하고 예측을 진행하여 에러값 추출
  • 다음 fold에서는 validation set을 바꿔서 지정하고, 이전 fold에서 validation 역할을 했던 set은 다시 train set으로 활용한다.
  • 각각의 fold의 시도에서 기록된 에러를 바탕(에러들의 펑균)으로 최적의 모델(조건)을 찾는다.
  • 해당 모델(조건)을 바탕으로 전체 train data set의 학습을 진행한다.
  • 해당 모델을 처음에 분할하였던 test data set을 활용하여 평가한다.

'AI' 카테고리의 다른 글

train & test & validation data set  (1) 2023.10.21
batch size & epoch & iteration  (0) 2023.10.20
ROC curve  (0) 2023.10.20
Loss Function  (0) 2023.10.20
Entropy  (1) 2023.10.20