위키득계정 ↗
기술

중첩 교차 검증

중첩 교차 검증기술
영문명
Nested cross-validation
내부 단계
모델 설정 선택
외부 단계
선택 절차의 일반화 평가
주요 비용
반복 학습 횟수 증가
중첩 교차 검증은 설정을 고르는 내부 평가와 선택 절차의 성능을 보는 외부 평가를 나누는 방법이다. 하이퍼파라미터를 같은 점수로 고르고 그 점수를 최종 성능으로 보고할 때 생길 수 있는 낙관적 평가를 줄이려 한다.

안쪽에서 고르고 바깥에서 평가하기

외부 분할에서 검증 부분을 먼저 남긴다. 외부 훈련 자료 안에서 다시 교차 검증하여 설정을 고른 뒤, 선택된 설정으로 외부 훈련 자료를 재학습한다. 이 모델을 남겨 둔 외부 검증 부분에서 평가한다. 각 외부 분할에서 선택되는 설정은 다를 수 있다.

작은 분할 예

자료 12개를 외부 세 구간으로 나누면 한 번에 4개를 평가용으로 남기고 8개를 훈련에 쓸 수 있다. 그 8개 안에서 두 설정을 내부 2겹으로 비교하면 후보 평가용 학습은 4번이다. 이후 선택 설정의 재학습 1번이 추가되어 외부 한 분할에 5번, 세 분할에 15번이다. 최종 전체 자료 학습은 이 계산에서 제외했다.

전처리도 선택 절차에 포함하기

표준화나 특징 선택을 전체 자료에 먼저 맞추면 외부 구간을 남겨도 평가 정보가 훈련에 들어갈 수 있다. 내부·외부 분할에 맞추어 전처리 통계도 훈련 자료에서 계산해야 한다. 중첩은 단순히 교차 검증 함수를 두 번 호출한다는 뜻이 아니다.

결과의 해석

외부 점수는 정해 둔 선택 절차를 평가한다. 외부 점수를 반복해서 보고 후보나 규칙을 계속 바꾸면 그 외부 자료에도 맞추게 된다. 최종 모델은 정해진 절차로 이용 가능한 훈련 자료 전체에서 다시 선택·학습할 수 있지만, 그 모델의 훈련 점수를 외부 평가와 섞어 보고해서는 안 된다.

관련 문서

교차 검증 / 그룹 교차 검증 / 층화 교차 검증 / 시계열 교차 검증 / 데이터 누출 (기계 학습) / 특징 표준화 / 릿지 회귀