확률 보정 (Calibration)
핵심 요약: 모델이 “70% 확률로 양성”이라고 했으면, 실제로 그런 예측을 받은 사람 중 70%가 양성이어야 보정(Calibration)된 모델이다. 일기예보에서 “비 올 확률 70%“라고 한 날들을 모아봤을 때 실제로 70%의 날에 비가 오면 잘 보정된 예보다. AUC가 높아도 보정이 나쁠 수 있으므로, 확률값을 직접 의사결정에 쓸 때는 반드시 보정을 확인해야 한다.
분류 모델이 “70% 확률로 양성”이라고 예측했을 때, 실제로 그런 예측을 받은 샘플 중 70%가 양성이어야 한다. 이것이 보정(Calibration)이다.
모델의 판별력(Discrimination, 양성과 음성을 잘 분리하는 능력)은 — AUC로 측정한다. 보정은 예측 확률이 실제 확률과 일치하는 정도다. 이 둘은 독립적인 속성이다: AUC가 높아도 보정이 나쁠 수 있고, 보정이 좋아도 AUC가 낮을 수 있다.
예측 확률을 직접 의사결정에 사용하는 모든 시스템에서 보정은 필수적이다.
탄생 배경
섹션 제목: “탄생 배경”보정(Calibration) 문제가 ML에서 본격적으로 주목받기 시작한 것은 1999년 John Platt의 연구에서였다. 당시 SVM(Support Vector Machine)은 최고 성능의 분류기였지만, 출력값이 마진(margin) 기반의 점수일 뿐 확률이 아니었다. Platt은 “이 SVM 점수를 의사결정에 쓰려면 확률로 변환해야 한다”는 실용적 동기에서, SVM 출력에 시그모이드 함수를 적합하여 확률을 추정하는 Platt Scaling을 제안했다. 이것이 사후 보정(post-hoc calibration)의 시초다.
이후 오랫동안 보정은 “있으면 좋지만 필수는 아닌” 부차적 관심사로 여겨졌다. 그러나 2017년, Guo et al.의 논문 “On Calibration of Modern Neural Networks”가 충격적인 발견을 보고했다: 현대 딥러닝 모델은 과거보다 정확도는 높아졌지만, 보정은 오히려 나빠졌다. 모델이 “95% 확신”이라고 예측하는 경우, 실제 정답률은 75%에 불과한 과신(overconfidence) 현상이 체계적으로 발생하고 있었다. 모델 용량 증가, 배치 정규화(Batch Normalization), 과도한 학습 등이 원인으로 지목되었다.
보정의 핵심을 이해하는 가장 좋은 비유는 일기예보다. “비 올 확률 70%“라고 예보한 날들을 모아보면, 그중 실제로 70%의 날에 비가 와야 한다. 만약 “70% 확률”이라고 한 날 중 실제로 비가 온 날이 40%뿐이라면, 그 예보 시스템은 과대확신(overconfident)이다. 좋은 일기예보관은 판별력(맑은 날과 비 오는 날을 구분하는 능력)뿐만 아니라 보정(확률 추정의 정확성)도 갖추어야 한다.
핵심 개념
섹션 제목: “핵심 개념”보정이란?
섹션 제목: “보정이란?”모델이 보정되었다(calibrated)는 것은:
즉, 예측 확률 를 받은 모든 샘플에서 실제 양성 비율이 여야 한다.
핵심 구분:
- 판별(Discrimination): 양성과 음성을 잘 구분하는가? → 순위(ranking)의 품질
- 보정(Calibration): 예측 확률이 실제 확률과 일치하는가? → 확률의 품질
신뢰도 다이어그램 (Reliability Diagram)
섹션 제목: “신뢰도 다이어그램 (Reliability Diagram)”보정 상태를 시각적으로 확인하는 도구다.
구성 방법:
- 예측 확률을 구간(bin)으로 나눈다 (예: [0, 0.1], [0.1, 0.2], …)
- 각 구간에서 평균 예측 확률과 실제 양성 비율을 계산
- (평균 예측 확률, 실제 양성 비율)을 플롯
- 완벽한 보정 = 대각선
실제 양성 비율1.0 │ ╱ ← 완벽한 보정 (대각선) │ ╱ │ ● ╱ ← 과소확신 (Underconfident) │ ╱ ● 모델이 실제보다 낮게 예측0.5 │ ╱ │ ╱ │ ╱ │ ╱ ● ← 과대확신 (Overconfident) │ ╱ ● 모델이 실제보다 높게 예측0.0 │╱─────────────────────── 0.0 0.5 1.0 평균 예측 확률- 대각선 위: 과소확신(underconfident) — 모델이 실제보다 낮은 확률을 예측
- 대각선 아래: 과대확신(overconfident) — 모델이 실제보다 높은 확률을 예측
상세 내용: 보정 지표
섹션 제목: “상세 내용: 보정 지표”Brier Score
섹션 제목: “Brier Score”
- 범위: , 낮을수록 좋음
- 예측 확률과 실제 결과(0 또는 1) 사이의 MSE
숫자로 이해하기
섹션 제목: “숫자로 이해하기”4명의 환자에 대해 모델이 예측한 양성 확률과 실제 결과:
환자 예측 확률 () 실제 결과 () 오차 A 0.9 1 (양성) B 0.7 0 (음성) C 0.3 0 (음성) D 0.8 1 (양성) Brier Score = (0.01 + 0.49 + 0.09 + 0.04) / 4 = 0.158
환자 B가 Brier Score를 크게 끌어올렸다. 모델이 70% 확률로 양성이라고 했지만 실제로는 음성이었기 때문이다 — 이것이 과대확신(overconfidence)의 구체적 예다.
Murphy 분해:
- Reliability: 보정이 얼마나 좋은가 (작을수록 좋음)
- Resolution: 예측이 클래스를 얼마나 잘 분리하는가 (클수록 좋음)
- Uncertainty: 결과의 내재적 불확실성 (데이터 고유, 모델과 무관)
Expected Calibration Error (ECE)
섹션 제목: “Expected Calibration Error (ECE)”
- : bin 개수
- : bin 의 샘플 수
- : bin 의 실제 양성 비율
- : bin 의 평균 예측 확률
- bin별 보정 오차의 가중 평균
주의: ECE는 bin 개수와 binning 전략에 민감하다. 보고할 때는 bin 설정을 명시해야 한다.
Maximum Calibration Error (MCE)
섹션 제목: “Maximum Calibration Error (MCE)”
최악의 보정 오차. 안전이 중요한 응용(의료, 자율주행)에서 유용하다.
Log Loss / Cross-Entropy
섹션 제목: “Log Loss / Cross-Entropy”
- 엄밀히 적절한 점수 규칙(Strictly Proper Scoring Rule): 참 확률을 예측할 때만 최적화됨. 비유하자면, 이는 “거짓말 탐지기”와 같다 — 모델이 자신의 불확실성을 정직하게 보고할 때만 최적 점수를 받으며, 허세를 부리면(과신하면) 가혹한 벌점을 받는다.
- 자신 있게 틀린 예측에 매우 큰 페널티 — 인데 이면 Log Loss →
- 보정과 판별 모두를 반영
보정 방법
섹션 제목: “보정 방법”Platt Scaling
섹션 제목: “Platt Scaling”모델 출력 점수 에 로지스틱 회귀(Logistic Regression, S자 곡선 함수를 사용한 확률 변환)를 적합:
- 파라미터 , 를 별도의 보정 세트(held-out calibration set)에서 학습
- 적합한 경우: 시그모이드 형태의 보정이 적절할 때 (SVM, 신경망 출력)
- 보정 세트 크기: 비교적 적은 데이터에서도 잘 작동
Isotonic Regression (등위 회귀)
섹션 제목: “Isotonic Regression (등위 회귀)”비모수적 방법: 단조 증가(non-decreasing) 계단 함수를 보정 데이터에 적합.
- Platt Scaling보다 유연함 — 비시그모이드형 보정 패턴도 처리
- 과적합 위험: 보정 세트가 작으면 불안정
- 경험 법칙: 보정 샘플 < 1000개 → Platt Scaling, > 1000개 → Isotonic Regression
Temperature Scaling (온도 스케일링)
섹션 제목: “Temperature Scaling (온도 스케일링)”신경망에 특화된 단일 파라미터 방법:
- : 예측을 부드럽게(soften) → 과대확신 완화
- : 예측을 날카롭게(sharpen)
- 를 검증 세트의 NLL(Negative Log-Likelihood)을 최소화하여 결정
- 장점: 매우 단순하고 효과적; 순위(ranking)를 변경하지 않으므로 AUC 불변
Histogram Binning (히스토그램 비닝)
섹션 제목: “Histogram Binning (히스토그램 비닝)”비모수적: 각 bin에 보정된 확률을 직접 할당.
- 매우 단순하지만 해상도가 낮다 (coarse)
- bin 수가 적으면 정보 손실, 많으면 과적합
보정 방법 선택 가이드
섹션 제목: “보정 방법 선택 가이드”모델별 보정 특성
섹션 제목: “모델별 보정 특성”| 모델 유형 | 보정 경향 | 설명 |
|---|---|---|
| 로지스틱 회귀 | 좋음 | 설계상 보정됨 (MLE가 Log Loss 최적화) |
| 잘 튜닝된 베이지안 모델 | 좋음 | 사후 확률이 직접 보정된 확률 |
| SVM | 나쁨 | 출력이 확률이 아님 (마진 값) — Platt Scaling 필수 |
| Random Forest | 보통~나쁨 | 확률이 0.5 근처로 편향되는 경향 |
| 신경망 | 나쁨 (과대확신) | Guo et al. (2017): 현대 신경망은 과대확신 경향; Temperature Scaling 권장 |
| Gradient Boosting | 보통 | 적절히 보정되지만 완벽하지 않음 |
언제 사용하는가
섹션 제목: “언제 사용하는가”보정이 중요한 경우:
| 응용 | 이유 |
|---|---|
| 의료 진단 | 예측 확률이 직접 치료 결정에 영향 |
| 날씨 예보 | ”비 올 확률 70%“가 실제 70%를 의미해야 사용자가 신뢰 |
| 자율주행 | 불확실성 정량화가 안전 결정에 필수 |
| 보험/금융 리스크 | 확률 기반 가격 책정 |
| 후속 의사결정에 확률이 입력될 때 | 순위만 중요한 경우가 아닌 모든 파이프라인 |
보정이 덜 중요한 경우:
- 순위만 중요할 때 (상위 k개 추천)
- 이진 결정만 필요할 때 (양성/음성 분류)
실전 사례
섹션 제목: “실전 사례”대출 플랫폼의 과신(Overconfidence) 재앙
섹션 제목: “대출 플랫폼의 과신(Overconfidence) 재앙”한 온라인 대출 플랫폼(P2P Lending)이 머신러닝 기반 신용 평가 모델을 도입했다. 모델은 대출 신청자의 상환 확률을 예측하고, 이 확률에 기반하여 금리를 책정하는 구조였다.
문제는 모델이 “상환 확률 85%“라고 예측한 대출 그룹에서 발생했다. 플랫폼은 이 85%라는 숫자를 신뢰하고, 해당 그룹에 낮은 금리를 적용했다. 그러나 6개월 후 실제 데이터를 집계하니, 이 그룹의 실제 상환율은 65%에 불과했다. 20%포인트의 보정 오차가 직접적인 재무 손실로 이어진 것이다.
원인을 분석한 결과, 모델은 Gradient Boosting 기반이었고, AUC는 0.82로 판별력은 양호했다. 즉, 상환할 사람과 부도낼 사람의 순위는 잘 구분했다. 그러나 출력 확률 자체가 과대확신되어 있었다. 신뢰도 다이어그램(Reliability Diagram)을 그려보니, 모든 확률 구간에서 예측 확률이 실제 비율보다 10-20%포인트 높게 편향되어 있었다.
수정 조치로 Isotonic Regression을 적용하여 보정한 후, 예측 확률과 실제 상환율의 격차가 2-3%포인트 이내로 줄었고, 금리 책정의 정확성이 회복되었다.
교훈: 예측 확률을 직접 비즈니스 의사결정(금리, 보험료, 치료 결정 등)에 사용하는 시스템에서는, AUC 같은 판별 지표만으로는 불충분하다. 반드시 신뢰도 다이어그램과 ECE를 확인하고, 필요시 보정을 수행해야 한다.
흔한 오해와 함정
섹션 제목: “흔한 오해와 함정”-
“AUC가 높으면 확률 예측도 좋다” — 아니다. AUC는 순위(ranking)만 평가한다. ROC-AUC가 높아도 보정이 매우 나쁠 수 있다.
-
“보정 후 AUC가 변한다” — Platt Scaling과 Isotonic Regression은 순위를 변경할 수 있으므로 AUC가 변할 수 있다. Temperature Scaling은 순위를 보존하므로 AUC 불변.
-
“모든 모델에 보정이 필요하다” — 순위만 필요한 작업(예: 검색 결과 정렬)에서는 보정 없이도 충분하다.
-
“보정은 한 번 하면 영구적이다” — 데이터 분포가 변하면(concept drift) 보정도 다시 해야 한다.
-
“ECE가 낮으면 보정이 완벽하다” — ECE는 bin 설정에 민감하다. 다른 binning으로 ECE가 달라질 수 있다. 신뢰도 다이어그램과 함께 확인하라.
-
“로지스틱 회귀는 항상 잘 보정되어 있다” — 정규화가 강하거나, 특성이 누락되거나, 데이터 분포가 변하면 보정이 나빠질 수 있다.
다른 주제와의 연결
섹션 제목: “다른 주제와의 연결”- ROC와 AUC: AUC(판별력)와 보정은 독립적 속성 — 둘 다 평가해야 완전
- 정밀도-재현율 트레이드오프: 임계값 튜닝은 보정이 좋을 때 더 의미 있음
- 모델 선택 기준: Log Loss 기반 정보 기준과 보정의 관계
- 공정성 지표: 그룹 간 보정(Calibration Across Groups)은 핵심 공정성 기준 중 하나
- 혼동 행렬과 분류 지표: 보정과 분류 지표는 모델의 서로 다른 측면을 평가