

확률부터 LLM까지 — 데이터 사이언스 자기주도 학습 플랫폼
교차 검증은 데이터를 여러 조각(폴드)으로 나눠 각 조각을 번갈아 테스트용으로 쓰고 나머지로 학습하는 과정을 반복해, 모델의 일반화 성능을 안정적으로 추정하는 방법이다.
이 내용은 넘스탯의 모델 평가 시뮬레이터에서 직접 실험으로 확인할 수 있습니다.
각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다
학습 진도 (완료한 단계)
0%
교차 검증은 모델이 새 데이터에서 얼마나 잘 작동할지를 한 번의 시험이 아니라 여러 번의 시험으로 평가하는 방법입니다. 데이터를 K개의 조각(폴드)으로 나눈 뒤, 각 조각을 한 번씩 테스트용으로 쓰고 나머지 조각들로 모델을 학습하는 과정을 K번 반복해, K개의 성능 점수를 평균합니다. 이렇게 하면 "우연히 쉬운(또는 어려운) 테스트 데이터에 걸리는 운"의 영향을 크게 줄일 수 있습니다.
5-Fold 교차 검증 절차 (교육용 시나리오): 학생 100명의 공부 시간으로 합격 여부를 예측하는 모델을 평가한다고 합시다. 1단계: 100명의 데이터를 무작위로 섞어 20명씩 5개 조각(폴드 A, B, C, D, E)으로 나눕니다. 2단계: 폴드 A를 테스트용으로 빼두고, 나머지 B+C+D+E(80명)로 모델을 학습한 뒤 A(20명)에서 정확도를 잽니다. 3단계: 이번에는 폴드 B를 테스트용으로 빼고, A+C+D+E로 학습해 B에서 정확도를 잽니다. 4단계: 같은 방식으로 C, D, E까지 반복하면 정확도 5개가 모입니다. 5단계: 5개 정확도의 평균이 교차 검증 성능 추정치입니다. 5개 값이 서로 얼마나 다른지(표준편차)를 보면 추정이 얼마나 안정적인지도 알 수 있습니다. 핵심은 100명 전원이 정확히 한 번씩 테스트에 참여했고, 매번 학습에 쓰인 데이터와 테스트에 쓰인 데이터가 겹치지 않았다는 점입니다.
정답: 어떤 데이터가 테스트 세트에 들어가느냐는 무작위 분할의 운에 달려 있기 때문입니다. 우연히 예측하기 쉬운 데이터가 테스트에 몰리면 성능이 부풀려 보이고, 어려운 데이터가 몰리면 실제보다 나쁘게 보입니다. 분할을 바꿔 다시 재면 상당히 다른 숫자가 나올 수 있어, 한 번의 측정치는 변동이 큰 추정입니다.
정답: 모델은 총 5번 학습됩니다(폴드마다 한 번씩). 각 데이터는 자신이 속한 폴드가 테스트 차례일 때 정확히 한 번 테스트에 쓰이고, 나머지 4번은 학습에 쓰입니다.
정답: 한 번의 시험(단일 분할)에 섞인 운의 영향을 평균으로 상쇄해, 성능 추정의 변동(분산)을 줄이는 성질에 해당합니다. 서로 다른 문제(서로 다른 테스트 폴드)로 여러 번 평가하므로 특정 문제 구성에 유리하거나 불리했던 우연이 평균 과정에서 희석됩니다.