요약
LOOCV(Leave-One-Out Cross-Validation)는 n개의 데이터에서 1개씩 테스트용으로 남기고 n-1개로 학습하는 과정을 n번 반복하는 교차 검증 방법이다.
본문
동작 방식
- 1번 샘플을 테스트, 나머지 n-1개로 학습 → 오차 측정
- 2번 샘플을 테스트, 나머지 n-1개로 학습 → 오차 측정
- n번 반복 후 오차를 평균
LOOCV vs k-fold CV
| 항목 | k가 작을 때 (예: 5) | k가 클 때 (LOOCV) |
|---|---|---|
| 학습 데이터 비율 | 80% | 95%+ |
| 편향(Bias) | 높음 | 낮음 |
| 분산(Variance) | 낮음 | 높음 |
| 계산 비용 | 적음 | 많음 |
k가 커지면 편향은 낮아지고 분산은 높아진다
- 편향 감소: 학습 데이터가 많아져서 전체 데이터로 학습한 모델에 가까운 성능 추정
- 분산 증가: 각 fold의 학습 데이터가 거의 겹침 → 모델들이 비슷해짐 → 오차들이 상관관계를 가짐
선택 기준
| 데이터 수 | 권장 방법 |
|---|---|
| ~100개 | LOOCV |
| 100~1000개 | 10-fold CV |
| 1000개 이상 | 5-fold CV |
5~10 fold가 편향-분산 트레이드오프의 균형점으로 알려져 있다.
참고
- 교차 검증은 모델 평가 방법이지 학습 개선 방법이 아니다
- 최종 모델은 전체 데이터로 다시 학습한다