K-겹 교차검증 (K-Fold Cross-Validation)

통계
한 줄 정의: 자료를 K개의 부분집합으로 나누어 번갈아 훈련과 검증에 사용함으로써 예측모형의 성능을 안정적으로 평가하는 방법.
K-겹 교차검증K-겹 교차검증 단계 순서: K개 폴드로 분할 → 1개 폴드 검증, 1개 폴드 검증 → K번 반복, K번 반복 → 성능 평균.K개 폴드로 분할무작위·층화1개 폴드 검증나머지 K−1개로 훈련K번 반복검증 폴드 교대성능 평균±표준편차 보고1234K는 흔히 5·10, K=n이면 leave-one-outK-겹 교차검증K-겹 교차검증 단계 순서: K개 폴드로 분할 → 1개 폴드 검증, 1개 폴드 검증 → K번 반복, K번 반복 → 성능 평균.K개 폴드로 분할무작위·층화1개 폴드 검증나머지 K−1개로 훈련K번 반복검증 폴드 교대성능 평균±표준편차 보고1234K는 흔히 5·10, K=n이면 leave-one-out

쉽게 풀면

모형을 만들 때 사용한 바로 그 자료로 성능을 평가하면 실제보다 성능이 과대평가되기 쉽다. K-겹 교차검증은 전체 자료를 K개의 조각으로 나눈 뒤, 그중 하나를 검증용으로 남겨두고 나머지로 모형을 학습시키는 과정을 K번 반복하며 매번 다른 조각을 검증용으로 사용하는 방법이다. 이렇게 얻은 K개의 성능 결과를 평균 내면 모형의 실제 예측 성능을 더 안정적으로 추정할 수 있다.

왜 중요한가

K-겹 교차검증은 모형이 훈련 자료에만 과적합되지 않고 새로운 자료에도 잘 일반화되는지를 확인하는 표준적인 방법이라, 머신러닝, 통계학, 계량경제학, 생물통계학 등 예측모형을 다루는 거의 모든 분야에서 필수적으로 사용됩니다. 특히 자료가 제한적이어서 별도의 검증용 데이터셋을 확보하기 어려운 상황에서 모형 선택과 하이퍼파라미터 튜닝의 근거를 마련하는 데 핵심적인 역할을 합니다.

언제 쓰나

예측모형이 새로운 자료에서 얼마나 잘 맞을지를 추정하거나, 여러 모형·조율값 중 하나를 고를 때 씁니다. 모형을 만든 바로 그 자료로 성능을 재면 과적합 때문에 성능이 과대평가되므로(과적합), 모형을 만들 때 쓰지 않은 자료로 평가하려는 방법입니다(Stone, 1974; Geisser, 1975).

결과는 이렇게 읽는다

작은 예 1(컴퓨터로 만든 가상의 자료, n = 100, 설명변수 3개): 5-폴드로 나눈 선형회귀의 폴드별 RMSE는 0.84, 1.27, 0.92, 1.22, 1.14로 평균 1.08, 폴드 간 표준편차 0.19입니다. 다른 무작위 분할로 20번 반복하면 평균이 1.08~1.13 사이에서 움직였습니다.

작은 예 2(누수): 무작위 잡음 변수 200개와 무관한 결과변수가 있는 n = 40 자료에서 결과변수와 상관이 가장 큰 변수 5개를 전체 자료로 먼저 고른 뒤 5-폴드 평가를 하면 평균제곱오차가 0.62로, 아무 정보도 쓰지 않을 때의 기준(결과변수 분산 0.65)보다 좋아 보입니다. 변수 선택을 폴드 안에서 하면 1.15로 기준보다 나쁩니다. 한 번의 모의실험이지만 잡음에서 성능이 만들어진 것처럼 보이는 위험을 잘 보여 줍니다.

논문에는 이렇게 보고한다

논문에서는 이렇게 쓰입니다

실제 논문에서

국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"예측모형의 일반화 성능을 평가하기 위해 10-겹 교차검증을 실시하였다."

자료를 10개의 조각으로 나누어 번갈아 학습과 검증에 사용하는 방식으로, 모형이 새로운 자료에서도 잘 작동하는지 확인했다는 뜻이다.

"환자 표본이 제한적인 점을 고려하여 5-겹 교차검증을 통해 진단 분류모형의 민감도와 특이도를 산출하였다."

의학 연구에서 표본 크기가 작을 때 예측모형의 신뢰도를 확보하기 위해 흔히 쓰이는 표현이다.

"하이퍼파라미터 최적화를 위해 층화 K-겹 교차검증을 적용하여 각 폴드의 클래스 비율을 동일하게 유지하였다."

딥러닝, 머신러닝 분야에서 불균형 데이터를 다룰 때 층화 방식을 결합한 교차검증을 설명하는 예문이다.

조금 더 깊게 보면

K값은 흔히 5나 10이 관행적으로 많이 쓰이며, K를 전체 표본 수만큼 크게 잡는 특수한 경우를 leave-one-out 교차검증이라 부릅니다.

분류 문제에서는 각 폴드의 클래스 비율을 원본 자료와 동일하게 유지하는 층화(stratified) 교차검증이 흔히 사용되며, 시계열 자료에는 미래 정보가 과거 예측에 섞이지 않도록 시간 순서를 고려한 변형 방법이 쓰입니다.

교차검증 결과는 보통 평균과 표준편차(또는 표준오차)를 함께 보고하여 성능 추정의 안정성을 나타냅니다.

주의할 점

교차검증은 모형이 새로운 자료에 얼마나 잘 일반화되는지를 평가하는 데는 유용하지만, 자료 자체가 편향되어 있다면 이 문제까지 해결해주지는 못한다.

헷갈리기 쉬운 용어

용어어떻게 나누나특징
K-겹 교차검증K등분, 돌아가며 검증모든 관측이 한 번씩 검증에 쓰임. 안정적
단순 분할(홀드아웃)훈련/검증 한 번간단하지만 어떻게 나누느냐에 결과가 크게 좌우
한 개 빼기(LOOCV)K = n편향 작지만 계산 많고 분산이 클 수 있음
교차검증K-겹 등을 포함한 총칭검증용 자료를 바꿔 가며 예측 성능을 추정
편향-분산 상충—K를 고를 때 편향과 분산이 맞바뀌는 이유

참고 문헌

  1. Stone, M. (1974). Cross-validatory choice and assessment of statistical predictions. Journal of the Royal Statistical Society: Series B, 36(2), 111–147.
  2. Geisser, S. (1975). The predictive sample reuse method with applications. Journal of the American Statistical Association, 70(350), 320–328.
  3. Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning (2nd ed.). Springer.
  4. Varma, S., & Simon, R. (2006). Bias in error estimation when using cross-validation for model selection. BMC Bioinformatics, 7, 91.
  5. Bengio, Y., & Grandvalet, Y. (2004). No unbiased estimator of the variance of K-fold cross-validation. Journal of Machine Learning Research, 5, 1089–1105.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

관련 용어