K-겹 교차검증 (K-Fold Cross-Validation)
쉽게 풀면
모형을 만들 때 사용한 바로 그 자료로 성능을 평가하면 실제보다 성능이 과대평가되기 쉽다. K-겹 교차검증은 전체 자료를 K개의 조각으로 나눈 뒤, 그중 하나를 검증용으로 남겨두고 나머지로 모형을 학습시키는 과정을 K번 반복하며 매번 다른 조각을 검증용으로 사용하는 방법이다. 이렇게 얻은 K개의 성능 결과를 평균 내면 모형의 실제 예측 성능을 더 안정적으로 추정할 수 있다.
왜 중요한가
K-겹 교차검증은 모형이 훈련 자료에만 과적합되지 않고 새로운 자료에도 잘 일반화되는지를 확인하는 표준적인 방법이라, 머신러닝, 통계학, 계량경제학, 생물통계학 등 예측모형을 다루는 거의 모든 분야에서 필수적으로 사용됩니다. 특히 자료가 제한적이어서 별도의 검증용 데이터셋을 확보하기 어려운 상황에서 모형 선택과 하이퍼파라미터 튜닝의 근거를 마련하는 데 핵심적인 역할을 합니다.
논문에서는 이렇게 쓰입니다
자료를 10개의 조각으로 나누어 번갈아 학습과 검증에 사용하는 방식으로, 모형이 새로운 자료에서도 잘 작동하는지 확인했다는 뜻이다.
의학 연구에서 표본 크기가 작을 때 예측모형의 신뢰도를 확보하기 위해 흔히 쓰이는 표현이다.
딥러닝, 머신러닝 분야에서 불균형 데이터를 다룰 때 층화 방식을 결합한 교차검증을 설명하는 예문이다.
조금 더 깊게 보면
K값은 흔히 5나 10이 관행적으로 많이 쓰이며, K를 전체 표본 수만큼 크게 잡는 특수한 경우를 leave-one-out 교차검증이라 부릅니다. 분류 문제에서는 각 폴드의 클래스 비율을 원본 자료와 동일하게 유지하는 층화(stratified) 교차검증이 흔히 사용되며, 시계열 자료에는 미래 정보가 과거 예측에 섞이지 않도록 시간 순서를 고려한 변형 방법이 쓰입니다. 교차검증 결과는 보통 평균과 표준편차(또는 표준오차)를 함께 보고하여 성능 추정의 안정성을 나타냅니다.
주의할 점
교차검증은 모형이 새로운 자료에 얼마나 잘 일반화되는지를 평가하는 데는 유용하지만, 자료 자체가 편향되어 있다면 이 문제까지 해결해주지는 못한다.