ML에서의 통계적 검정 (Statistical Testing in ML)
핵심 요약: “모델 A 정확도 95%, 모델 B 정확도 92% — A가 정말 더 좋은가?” 이 차이가 진짜인지 우연인지를 통계적으로 판단하는 것이 통계적 검정이다. 교차 검증(CV) 결과에 표준 t-검정을 쓰면 거짓 양성이 3~5배 높아질 수 있으므로, McNemar 검정이나 보정된 t-검정을 사용해야 한다. 동전을 10번 던져 6번 앞면이 나왔다고 “이 동전은 앞면이 잘 나오는 동전”이라고 단정할 수 없는 것과 같은 원리다.
“모델 A의 정확도 85.2%, 모델 B의 정확도 84.8%“라면, A가 정말로 더 좋은 모델인가? 이 차이가 우연(noise, 데이터 분할이나 표본 추출에 의한 무작위 변동)에 의한 것인지, 진짜 성능 차이인지를 판단하려면 통계적 검정(Statistical Test, 가설을 데이터로 검증하는 수학적 방법)이 필요하다.
성능 지표만 보고하고 통계적 유의성을 확인하지 않으면, 노이즈에 기반한 잘못된 결론을 내릴 위험이 있다.
탄생 배경
섹션 제목: “탄생 배경”ML 모델 비교에 통계적 검정을 적용하는 것은 자연스러워 보이지만, 실제로는 심각한 함정이 숨어 있었다. 이를 처음 체계적으로 밝힌 것이 Nadeau와 Bengio의 2003년 연구다.
그들은 핵심적인 문제를 발견했다: k-fold 교차 검증(Cross-Validation)에서 각 fold의 성능 추정치는 독립이 아니다. 10-fold CV를 예로 들면, 각 fold의 훈련 세트는 전체 데이터의 90%를 사용하므로, 인접한 두 fold는 데이터의 약 80%를 공유한다. 표준 대응 t-검정(paired t-test)은 관측값이 독립이라고 가정하는데, 이 가정이 위반되면 분산이 과소 추정되어 Type I 오류율(거짓 양성)이 명목 수준의 3-5배까지 상승할 수 있다. 즉, 실제로는 성능 차이가 없는 두 모델을 “유의한 차이가 있다”고 잘못 결론 내리는 것이다.
한편, McNemar 검정은 완전히 다른 철학적 접근으로 이 문제를 우회한다. McNemar의 우아한 통찰은 이것이다: “두 모델이 같은 문제를 맞추면 정보가 없다. 두 모델이 같은 문제를 틀려도 정보가 없다. 의견이 다른 문제만이 중요하다.” 즉, 모델 A는 맞추고 B는 틀린 사례()와 B는 맞추고 A는 틀린 사례()만을 비교한다. 이 접근은 교차 검증의 비독립성 문제를 완전히 피하면서도 강력한 검정력을 제공한다.
핵심 개념
섹션 제목: “핵심 개념”왜 통계적 검정이 필요한가?
섹션 제목: “왜 통계적 검정이 필요한가?”- 교차 검증 결과는 데이터 분할에 따른 확률적 변동을 가진다
- 테스트 세트가 유한하므로, 성능 추정에는 항상 불확실성이 존재
- 작은 성능 차이가 통계적으로 유의하지 않을 수 있고, 반대로 작은 차이가 일관적이어서 유의할 수도 있다
상세 내용: 주요 검정 방법
섹션 제목: “상세 내용: 주요 검정 방법”1. 대응 t-검정 (Paired t-test)
섹션 제목: “1. 대응 t-검정 (Paired t-test)”k-fold CV에서 각 fold의 성능 차이 에 대해:
- : 차이의 평균
- : 차이의 표준편차
- 자유도:
가정: 차이 가 정규 분포
심각한 문제: k-fold CV의 관측값은 독립이 아니다 (훈련 세트가 겹침). 결과적으로 실제 Type I 오류율(1종 오류, “차이 없는데 있다고 잘못 결론 내리는 확률”)이 명목(nominal) 수준보다 훨씬 높아진다. 즉, 실제로는 차이가 없는데 “유의하다”고 잘못 결론 내리기 쉽다.
2. 보정된 재표본 t-검정 (Corrected Resampled t-test)
섹션 제목: “2. 보정된 재표본 t-검정 (Corrected Resampled t-test)”Nadeau & Bengio (2003)가 제안. CV의 비독립성을 보정한 분산 추정:
- , : 각 fold의 테스트/훈련 크기
- 비독립성으로 인한 분산 과소추정을 보정
- 표준 대응 t-검정보다 훨씬 더 적절한 Type I 오류율
3. 5x2 CV 대응 t-검정 (Dietterich, 1998)
섹션 제목: “3. 5x2 CV 대응 t-검정 (Dietterich, 1998)”2-fold CV를 5회 반복하는 특수 설계:
- 각 반복에서 2개의 성능 차이 () 획득
- 검정 통계량:
여기서
- 자유도: 5
- 모델 비교에 특화된 설계로, 표준 대응 t-검정보다 Type I 오류 제어가 우수
4. McNemar’s Test (맥네마 검정)
섹션 제목: “4. McNemar’s Test (맥네마 검정)”동일한 테스트 세트에서 두 분류기의 불일치(disagreement)만을 사용:
| 모델 B 정답 | 모델 B 오답 | |
|---|---|---|
| 모델 A 정답 | ||
| 모델 A 오답 |
자유도 1의 카이제곱 분포(Chi-squared distribution) 따름.
숫자로 이해하기
섹션 제목: “숫자로 이해하기”1,000개의 테스트 샘플에서 모델 A와 B의 예측을 비교한다:
모델 B 정답 모델 B 오답 모델 A 정답 800 50 () 모델 A 오답 30 () 120 핵심은 (A만 맞힘)과 (B만 맞힘)이다.
자유도 1에서 이면 이므로, 모델 A가 통계적으로 유의하게 더 좋다고 결론 내린다.
반면 였다면 으로, “두 모델의 차이는 우연일 수 있다”는 결론이 된다.
장점:
- CV fold의 독립성 문제가 없음 — 단일 테스트 세트 사용
- 두 모델이 어디에서 다르게 예측하는지에 초점. 비유하자면, 두 의사의 실력을 비교할 때 둘 다 맞힌 진단은 정보가 없고, 한 의사만 맞힌 케이스만이 “누가 더 나은가?”에 대한 증거가 된다.
- 이진 분류 모델 비교의 기본 권장 검정
연속성 보정 (Continuity correction):
가 작을 때(< 25) 정확한 이항 검정(exact binomial test) 사용 권장.
5. Wilcoxon 부호 순위 검정 (Wilcoxon Signed-Rank Test)
섹션 제목: “5. Wilcoxon 부호 순위 검정 (Wilcoxon Signed-Rank Test)”대응 t-검정의 비모수적(nonparametric) 대안:
- 각 fold의 성능 차이 를 계산
- 로 순위를 매김
- 양의 차이의 순위합 와 음의 차이의 순위합 를 비교
장점:
- 정규분포 가정 불필요
- 이상치에 강건
- 성능 차이의 분포가 정규분포가 아닐 때 더 신뢰할 수 있음
6. 부트스트랩 방법 (Bootstrap Methods)
섹션 제목: “6. 부트스트랩 방법 (Bootstrap Methods)”테스트 세트 예측을 복원 추출(resampling with replacement)하여 경험적 분포를 구성:
- 테스트 세트에서 예측값을 복원 추출로 번 재표본 (일반적으로 )
- 각 재표본에서 성능 차이 계산
- 백분위 신뢰구간(percentile confidence interval) 구성
- 신뢰구간이 0을 포함하지 않으면 유의
장점:
- 분포 가정 최소
- 유연하게 다양한 지표에 적용 가능
- 신뢰구간을 직접 제공
7. 다중 비교 (Multiple Comparisons)
섹션 제목: “7. 다중 비교 (Multiple Comparisons)”여러 모델을 동시에 비교할 때, 각 쌍을 개별 검정하면 다중 비교 문제(multiple comparisons problem)가 발생한다.
보정 방법:
| 방법 | 설명 | 강도 |
|---|---|---|
| Bonferroni | 유의 수준을 비교 횟수로 나눔: | 매우 보수적 |
| Holm’s Step-down | 순차적 보정 — Bonferroni보다 강력 | 보수적 |
| Friedman Test | k개 분류기 x n개 데이터셋에서 비모수 검정 | 다중 비교용 |
| Nemenyi Post-hoc | Friedman 이후 쌍별 비교 | Friedman과 함께 사용 |
Critical Difference Diagram (Demsar, 2006):
- 여러 데이터셋에서의 평균 순위를 수평선으로 표시
- 유의하게 차이나지 않는 모델들을 연결선으로 묶음
- 논문에서 다중 모델 비교를 시각적으로 보고하는 표준 방법
검정 방법 선택 가이드
섹션 제목: “검정 방법 선택 가이드”실전 요약표
섹션 제목: “실전 요약표”| 상황 | 권장 검정 |
|---|---|
| 2 모델, 단일 테스트 세트, 이진 분류 | McNemar’s Test |
| 2 모델, k-fold CV | 보정된 재표본 t-검정 또는 5x2 CV 검정 |
| 2 모델, 분포 가정 불확실 | Wilcoxon 부호 순위 또는 부트스트랩 |
| k 모델, n 데이터셋 | Friedman + Nemenyi |
| 신뢰구간 필요 | 부트스트랩 |
언제 사용하는가
섹션 제목: “언제 사용하는가”- 논문에서 모델 비교를 보고할 때 → 반드시 통계적 검정과 함께
- 프로덕션에서 모델 교체를 결정할 때 → 성능 차이가 유의한지 확인
- 하이퍼파라미터 설정이 실제로 차이를 만드는지 확인할 때
- 여러 데이터셋에서 알고리즘을 종합 비교할 때 → Friedman + 사후 검정
실전 사례
섹션 제목: “실전 사례”표준 t-검정의 거짓 양성: 논문 결론이 뒤집힌 사례
섹션 제목: “표준 t-검정의 거짓 양성: 논문 결론이 뒤집힌 사례”한 자연어 처리(NLP) 연구팀이 감성 분석(Sentiment Analysis) 태스크에서 자체 개발한 모델이 기존 BERT 기반 모델보다 우월하다는 논문을 제출했다. 10-fold CV 결과에 표준 대응 t-검정을 적용하여 를 얻었고, “유의한 차이”를 주장했다.
그러나 리뷰어가 McNemar 검정으로 재검증을 요청했다. 동일한 테스트 세트에서 두 모델의 예측을 비교한 결과:
- 두 모델 모두 정답: 4,521건
- 두 모델 모두 오답: 312건
- 새 모델만 정답 (): 187건
- BERT만 정답 (): 168건
McNemar 검정 통계량: ,
결과는 통계적으로 유의하지 않았다. 표준 t-검정이 를 보인 것은, 10-fold CV의 비독립성으로 인한 분산 과소추정이 원인이었다. 각 fold가 데이터의 80%를 공유하므로, 10개의 “독립적” 관측값이라고 가정한 것이 잘못된 것이다.
교훈: CV 기반 모델 비교에서 표준 t-검정은 위험하다. 이진 분류의 경우 McNemar 검정이 권장되며, CV를 사용해야 한다면 반드시 Nadeau-Bengio 보정된 t-검정 또는 5x2 CV 검정을 적용해야 한다. 논문 리뷰 시에도 통계적 검정 방법의 적절성을 반드시 확인하라.
흔한 오해와 함정
섹션 제목: “흔한 오해와 함정”-
“표준 대응 t-검정으로 CV 결과를 비교하면 된다” — CV fold 간의 비독립성을 무시하므로 Type I 오류율이 크게 상승한다. 보정된 검정을 사용해야 한다.
-
“p-value만 보고하면 충분하다” — 신뢰구간(confidence interval)과 효과 크기(effect size)도 함께 보고해야 한다. p < 0.05라도 0.1% 성능 차이는 실용적으로 의미 없을 수 있다.
-
“통계적으로 유의하면 실용적으로도 중요하다” — 충분히 큰 테스트 세트에서는 아주 작은 차이도 유의할 수 있다. 통계적 유의성과 실용적 중요성(practical significance)을 구분해야 한다.
-
“여러 모델을 쌍별로 t-검정하면 된다” — 다중 비교 보정 없이 쌍별 검정을 반복하면 Type I 오류가 누적된다. Bonferroni 보정이나 Friedman 검정을 사용하라.
-
“부트스트랩은 항상 좋다” — 테스트 세트가 매우 작으면 부트스트랩 신뢰구간도 불안정하다. 최소한 수백 개의 테스트 샘플이 필요하다.
-
“검정에서 유의하지 않으면 두 모델이 같다” — “차이가 없음을 증명”한 것이 아니라, “차이가 있다는 증거가 불충분”한 것이다 (귀무가설을 기각하지 못한 것).
다른 주제와의 연결
섹션 제목: “다른 주제와의 연결”- 교차 검증: CV 결과에 기반한 검정; CV 설계가 검정의 유효성에 직접 영향
- 혼동 행렬과 분류 지표: 비교하려는 성능 지표의 정의
- ROC와 AUC: AUC 차이에 대한 DeLong 검정 등
- 편향-분산 트레이드오프: 관측된 성능 차이가 분산에 의한 것인지 진짜 차이인지 구분
- 공정성 지표: 그룹 간 성능 차이의 통계적 유의성 검증