AI 용어집 · 입문 · 전통 ML·추천·검색
교차 검증 Cross-Validation
교차 검증은 데이터를 여러 조각으로 나눈 뒤, 조각을 번갈아 평가용으로 쓰면서 모델을 여러 번 학습·평가해 성능을 더 믿을 만하게 재는 방법이다.
어떻게 작동하나
가장 흔한 방식은 K-겹(K-fold) 교차 검증이다. 예를 들어 데이터를 5개 조각으로 나누고, 그중 1개를 평가용으로 남긴 채 나머지 4개로 학습한다. 이 과정을 평가용 조각을 바꿔 가며 5번 반복하면 모든 데이터가 한 번씩 평가에 쓰인다. 마지막으로 5번의 점수를 평균 내고, 점수가 얼마나 들쭉날쭉한지도 함께 본다.
5-겹 교차 검증 순서
- 15조각으로 나누기데이터를 고르게 나눔
- 21조각은 평가용나머지 4조각으로 학습
- 3점수 기록평가용 조각에서 성능 측정
- 4조각 바꿔 5번 반복모든 조각이 한 번씩 평가에
- 5평균·편차 보기5번 점수를 모아 판단
왜 중요한가
데이터를 한 번만 나눠 평가하면 어떤 데이터가 평가용에 들어갔느냐에 따라 점수가 크게 달라질 수 있다. 교차 검증은 여러 번 나눠 본 결과를 모으기 때문에 운에 덜 휘둘린다. 데이터가 적을 때 특히 쓸모가 있는데, 모든 데이터를 학습과 평가에 골고루 활용할 수 있기 때문이다. 모델 설정(하이퍼파라미터)을 고르거나 여러 모델을 비교할 때 과적합된 모델을 걸러 내는 데도 쓰인다.
알아 둘 점
모델을 여러 번 학습해야 하므로 시간과 계산 비용이 그만큼 늘어난다. 그래서 거대한 LLM을 처음부터 학습할 때보다는 비교적 작은 모델이나 표 형태의 데이터에서 주로 쓴다. 시간 순서가 있는 데이터는 미래 데이터로 과거를 평가하지 않도록 순서를 지켜 나눠야 하고, 클래스 불균형이 있으면 조각마다 비율을 맞춰 나누는 층화(stratified) 방식을 쓴다. 전처리를 조각을 나누기 전에 전체 데이터로 하면 데이터 누수가 생길 수 있으니 주의한다.
예시
한 병원이 수백 명 규모의 환자 기록으로 질병 위험 예측 모델을 만든다고 하자. 데이터가 적어 한 번만 나눠 평가하면 점수가 우연에 크게 좌우되므로, 5-겹 교차 검증으로 평균 성능과 편차를 함께 보고 그 결과로 그래디언트 부스팅과 결정 트리 중 어느 모델을 쓸지 정한다. 이때 같은 환자의 기록이 학습용과 평가용에 동시에 들어가지 않도록 환자 단위로 조각을 나눈다.