1. 개요[편집]
| 교차검증 Cross-Validation | |
|---|---|
| 약칭 | CV, K-겹은 K-fold CV, 하나 빼기는 LOOCV |
| 하는 일 | 학습에 쓰지 않은 데이터로 예측오차를 추정 |
| 표준 설정 | K = 5 또는 10 |
| 공짜 지름길 | 선형 평활자의 LOOCV 닫힌 형태, GCV |
| 대표 사고 | 폴드 밖 전처리로 인한 정보 누수 |
| 실제 추정 대상 | 지금 이 모형이 아니라 절차의 평균 오차 |
교차검증(cross-validation)은 가진 데이터를 여러 조각으로 나눠 일부를 학습에서 빼 두고 그 조각으로만 예측을 채점하기를 번갈아 반복해, 학습에 쓰지 않은 데이터에 대한 오차를 추정하는 재표본 기법이다.
훈련오차는 예측오차의 추정치로 쓸 수 없다. 모형 복잡도를 올리면 훈련오차는 단조 감소하지만 예측오차는 U자로 꺾이기 때문이다. 별도의 검증 집합을 떼어 두면 되지만 데이터가 아까운 상황이 대부분이고, 한 번 나눈 분할이 운 나쁘면 결과도 운 나쁘다. 교차검증은 모든 데이터가 한 번씩 검증 역할을 돌아가며 맡게 해서 이 두 문제를 동시에 완화한다. AIC·BIC 같은 정보기준이 모형에 대한 가정(우도, 모수 개수) 위에서 해석적으로 벌점을 계산하는 반면, CV는 가정을 거의 안 하고 계산으로 때운다. 그 대가가 배의 학습 비용이다.
2. 기본형과 변종[편집]
-겹 교차검증. 데이터를 크기가 비슷한 개 폴드로 무작위 분할하고, 번째 폴드를 빼고 학습해 그 폴드에서 채점하기를 번 반복해 평균 낸다.
는 번 관측이 속한 폴드다. 이면 하나 빼기 교차검증(LOOCV)이 된다.
- 반복 -겹: 분할 자체가 무작위라 CV 값도 분할마다 흔들린다. 다른 시드로 번 반복해 평균 내면 이 분할 잡음이 줄어든다. 이 흔하다.
- 층화(stratified): 분류에서 각 폴드의 클래스 비율을 전체와 맞춘다. 희귀 클래스가 있으면 필수 — 안 하면 어떤 폴드에는 양성 사례가 0개인 사태가 난다.
- 중첩(nested) CV: 초모수 튜닝과 성능 보고를 동시에 해야 할 때, 바깥 루프는 평가용, 안쪽 루프는 튜닝용으로 이중으로 돌린다. 이걸 생략하고 “CV로 고른 모형의 CV 오차”를 성능으로 보고하는 것은 낙관 편향이 확실히 들어간다.
- 부트스트랩 계열: .632, .632+ 추정량 등. 재표본이라는 큰 틀은 같지만 중복 추출 때문에 편향 보정식이 따로 필요하다.
3. K에도 편향-분산이 있다[편집]
를 고르는 것 자체가 편향-분산 문제다.
가 작으면(예: 2) 각 학습 집합이 전체의 절반뿐이라 실제로 배포할 모형보다 훨씬 못 배운 모형을 채점하게 된다. 학습곡선이 아직 평평해지지 않은 구간이면 CV는 예측오차를 비관적으로(위쪽으로) 편향해서 보고한다. 를 키우면 학습 집합이 에 가까워져 이 편향이 사라진다.
반대로 가 크면 개 학습 집합이 서로 관측 하나씩만 다른 거의 같은 집합들이 된다. 폴드별 오차가 강하게 상관되어 평균의 분산이 잘 안 줄고, 계산비는 에 비례해 커진다. 그래서 교과서 권장은 오래도록 또는 이다.1
여기서 정직하게 짚을 것 하나. “LOOCV는 편향은 작지만 분산이 크다”는 서술은 널리 통용되는 경험칙이지 정리가 아니다. 벵지오와 그랑발레(2004)는 -겹 CV의 분산에 대한 보편적 불편추정량이 존재하지 않음을 증명했고, 그래서 폴드별 오차의 표본분산을 로 나눠 얻은 “표준오차”는 엄밀한 표준오차가 아니다(폴드끼리 독립이 아니다). 실무에서는 여전히 쓰지만, 그 숫자로 유의성 검정을 하는 것은 근거가 약하다.
실용적으로 더 중요한 사실은 따로 있다. CV 곡선은 참 시험오차 곡선의 높이를 맞히는 데는 자주 실패하지만, 최소점의 위치는 꽤 잘 맞힌다. 편향은 곡선 전체를 위아래로 평행이동시키는 성분이 크고, 모형 선택은 곡선의 모양만 보면 되기 때문이다. 그래서 “CV 오차 = 배포 오차”라는 등식은 위험해도, “CV 최소점의 복잡도 = 쓸 만한 복잡도”라는 사용법은 대체로 살아남는다. 반대로 폴드 간 산포는 곡선의 최소 근방에서 특히 커지므로, 폴드별 오차를 평균만 보지 말고 흩어진 정도까지 같이 그려 보는 습관이 필요하다.
4. 선형 평활자의 공짜 LOOCV와 GCV[편집]
은 원칙적으로 번 재학습이지만, 예측이 처럼 에 선형이고 가 와 무관한 모형(최소자승, 능형회귀, 평활 스플라인, 커널 평활)에서는 한 번의 적합으로 끝난다.
는 모자행렬의 대각 원소, 즉 번 관측이 자기 예측에 기여한 지렛대다. 지렛대가 큰 점일수록 잔차를 크게 부풀려 벌한다는 해석이 붙는다. 이 항등식이 PRESS(Allen 1974)이고, 티호노프 정규화·능형회귀의 정규화 파라미터 탐색이 실무에서 사실상 공짜인 이유다.
를 평균 으로 갈아 끼우면 일반화 교차검증(GCV, Golub-Heath-Wahba 1979)이 된다.
GCV의 장점은 회전불변이라 관측 순서·좌표 선택에 안 흔들린다는 것, 그리고 를 개별로 안 구해도 대각합만 있으면 된다는 것(대규모에서는 이 대각합조차 확률적 추정으로 때운다). 약점은 최소점 근방이 극도로 평평해 수치적으로 위치를 못 잡는 경우가 잦고, 잡음이 백색이 아니면 체계적으로 과소정규화된 답을 준다는 것이다.
5. 어떻게 망가지는가[편집]
CV가 틀리는 사례의 대부분은 알고리즘이 아니라 폴드 경계를 넘어간 정보 탓이다.
전처리 누수. 표준화, 결측 대치, 오버샘플링, 그리고 특히 변수 선택을 폴드 루프 밖에서 하면 검증 폴드의 정보가 학습에 새어 든다. 가장 유명한 반례는 이렇다 — 와 완전히 무관한 순수 잡음 변수 5000개에서 와 상관 높은 상위 20개를 전체 데이터로 고른 뒤 그 20개만 가지고 CV를 돌리면, 오차율이 우연 수준(50%)이 아니라 3% 같은 값으로 나온다. 선택 단계가 이미 전체 를 훔쳐봤기 때문이다. 규칙은 하나다. 모형 적합의 일부인 모든 단계가 폴드 안쪽에 들어가야 한다.
의존 데이터. 무작위 폴드 분할은 관측이 교환가능하다는 가정 위에 서 있다. 시계열은 아니다. 미래를 학습하고 과거를 예측하는 폴드가 생기면 CV는 실제 배포 성능을 크게 낙관한다. 대안은 전진 사슬(forward chaining, rolling origin) — 항상 시점 까지로 학습하고 이후를 채점하며 원점을 밀어 가는 방식이다. 인접 시점의 자기상관까지 끊고 싶으면 학습·검증 사이에 관측 몇 개를 버리는 완충 블록 CV를 쓴다. 공간 데이터도 같다. 이웃 픽셀은 사실상 같은 정보라 무작위 분할은 “자기 자신으로 자기를 검증”하는 꼴이 되고, 공간 블록 분할이나 완충 반경을 둔 하나 빼기가 표준 처방이다.2
군집 데이터. 환자 한 명에게서 100장을 찍은 영상, 한 실험 배치에서 나온 시편 무리처럼 관측이 그룹으로 묶여 있으면, 같은 그룹이 학습과 검증에 쪼개져 들어가는 순간 모형이 “그룹 식별”을 학습한다. 분할 단위는 관측이 아니라 그룹이어야 한다(leave-one-subject-out).
추정 대상 자체의 오해. 이게 가장 미묘하다. CV가 추정하는 것은 지금 손에 든 그 모형의 오차가 아니라, 같은 크기의 데이터로 같은 절차를 돌렸을 때의 평균 오차다. 최종 모형은 데이터 전부로 학습되므로 CV의 어느 폴드 모형과도 다르다. 베이츠·헤이스티·팁시라니(2023)는 이 구분을 정량화해서, CV의 추정대상이 “이 모형의 오차”보다 “절차의 평균 오차”에 훨씬 가깝고 순진한 CV 신뢰구간이 명목 수준보다 덜 덮는다(undercover)는 것을 보였다. CV 숫자는 모형 비교와 초모수 선택에는 훌륭하고, “우리 모형의 정확도는 정확히 몇 퍼센트다”라는 문장의 근거로는 생각보다 약하다.3
6. 1-표준오차 규칙[편집]
CV 곡선의 최소점을 그대로 쓰면 두 가지가 걸린다. 곡선이 최소점 근처에서 평평해 위치가 잡음에 흔들리고, 최소를 골랐다는 사실 자체가 선택 편향을 만든다. 그래서 CART(Breiman 외 1984) 이래의 관행이 1-표준오차 규칙이다.
최소 CV 오차에서 표준오차 1개 이내에 드는 모형 중 가장 단순한 것을 고른다.
glmnet의 lambda.1se 가 이것이다. 성능이 통계적으로 구분 안 되는 후보들 사이에서는 간결한 쪽을 택한다는, 오컴의 면도날을 숫자로 옮긴 규칙. 다만 위에서 적었듯 여기 쓰이는 “표준오차”는 폴드 독립을 전제한 근사치라 엄밀하지 않고, 규칙 자체도 예측 성능을 약간 희생하는 대신 안정성과 해석성을 사는 취향의 문제에 가깝다. 예측 정확도가 유일한 목표라면 그냥 최소점을 쓰는 편이 낫다는 보고도 많다.
7. 관련 문서[편집]
- 능형회귀 · 라쏘 · 티호노프 정규화
- 편향-분산 분해 · 부트스트랩 · 아카이케 정보기준
- 최소자승법 · 최대우도추정 · 통계
- 대리 모델 · 가우시안 프로세스 · 베이지안 최적화
- 심층 학습 · 확률적 경사하강법 · 실험계획법
- 불확실성 정량화 · 검증 및 확인 · 역문제
8. Footnotes[편집]
-
왜 하필 5와 10이냐고 물으면 정직한 답은 “1990년대 실험 논문 몇 편과 그 뒤 30년의 관성”이다. 코하비(1995)의 비교 실험이 10-겹을 밀었고, 그 뒤로 기본값이 됐다. 데이터가 아주 많으면 도 충분하고, 아주 적으면 LOOCV 말고는 선택지가 없다. 국룰은 국룰일 뿐 정리가 아니다. ↩
-
이 실수는 지구과학·원격탐사 논문에서 특히 자주 나온다. 무작위 픽셀 분할로 를 보고했는데 다른 지역에 적용하니 0.2가 되는 식. 공간 자기상관이 있는 데이터에서 무작위 CV는 “옆자리 답안지 보고 시험 친 성적”이다. ↩
-
그래서 규제 승인이나 계약 성능 보증처럼 숫자 하나에 책임이 걸리는 자리에는 CV가 아니라 진짜로 봉인해 둔 홀드아웃 집합을 쓴다. “테스트 셋을 한 번만 열어라”는 계율이 촌스러워 보여도, 열 번 열고 튜닝하는 순간 그건 그냥 훈련 데이터다. ↩