정의
- 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 |