확률 보정 (Calibration)¶
개요¶
분류 모델이 "70% 확률로 양성"이라고 예측했을 때, 실제로 그런 예측을 받은 샘플 중 70%가 양성이어야 한다. 이것이 보정(Calibration)이다.
모델의 판별력(discrimination)은 양성과 음성을 잘 분리하는 능력이고 — AUC로 측정한다. 보정은 예측 확률이 실제 확률과 일치하는 정도다. 이 둘은 독립적인 속성이다: AUC가 높아도 보정이 나쁠 수 있고, 보정이 좋아도 AUC가 낮을 수 있다.
예측 확률을 직접 의사결정에 사용하는 모든 시스템에서 보정은 필수적이다.
핵심 개념¶
보정이란?¶
모델이 보정되었다(calibrated)는 것은:
즉, 예측 확률 \(q\)를 받은 모든 샘플에서 실제 양성 비율이 \(q\)여야 한다.
핵심 구분: - 판별(Discrimination): 양성과 음성을 잘 구분하는가? → 순위(ranking)의 품질 - 보정(Calibration): 예측 확률이 실제 확률과 일치하는가? → 확률의 품질
신뢰도 다이어그램 (Reliability Diagram)¶
보정 상태를 시각적으로 확인하는 도구다.
구성 방법: 1. 예측 확률을 구간(bin)으로 나눈다 (예: [0, 0.1], [0.1, 0.2], ...) 2. 각 구간에서 평균 예측 확률과 실제 양성 비율을 계산 3. (평균 예측 확률, 실제 양성 비율)을 플롯 4. 완벽한 보정 = 대각선
실제 양성 비율
1.0 │ ╱ ← 완벽한 보정 (대각선)
│ ╱
│ ● ╱ ← 과소확신 (Underconfident)
│ ╱ ● 모델이 실제보다 낮게 예측
0.5 │ ╱
│ ╱
│ ╱
│ ╱ ● ← 과대확신 (Overconfident)
│ ╱ ● 모델이 실제보다 높게 예측
0.0 │╱───────────────────────
0.0 0.5 1.0
평균 예측 확률
- 대각선 위: 과소확신(underconfident) — 모델이 실제보다 낮은 확률을 예측
- 대각선 아래: 과대확신(overconfident) — 모델이 실제보다 높은 확률을 예측
상세 내용: 보정 지표¶
Brier Score¶
- 범위: \([0, 1]\), 낮을수록 좋음
- 예측 확률과 실제 결과(0 또는 1) 사이의 MSE
Murphy 분해:
- Reliability: 보정이 얼마나 좋은가 (작을수록 좋음)
- Resolution: 예측이 클래스를 얼마나 잘 분리하는가 (클수록 좋음)
- Uncertainty: 결과의 내재적 불확실성 (데이터 고유, 모델과 무관)
Expected Calibration Error (ECE)¶
- \(B\): bin 개수
- \(n_b\): bin \(b\)의 샘플 수
- \(\text{acc}(b)\): bin \(b\)의 실제 양성 비율
- \(\text{conf}(b)\): bin \(b\)의 평균 예측 확률
- bin별 보정 오차의 가중 평균
주의: ECE는 bin 개수와 binning 전략에 민감하다. 보고할 때는 bin 설정을 명시해야 한다.
Maximum Calibration Error (MCE)¶
최악의 보정 오차. 안전이 중요한 응용(의료, 자율주행)에서 유용하다.
Log Loss / Cross-Entropy¶
- 엄밀히 적절한 점수 규칙(Strictly Proper Scoring Rule): 참 확률을 예측할 때만 최적화됨
- 자신 있게 틀린 예측에 매우 큰 페널티 — \(\hat{p} \to 0\)인데 \(y = 1\)이면 Log Loss → \(\infty\)
- 보정과 판별 모두를 반영
보정 방법¶
Platt Scaling¶
모델 출력 점수 \(s\)에 로지스틱 회귀를 적합:
- 파라미터 \(A\), \(B\)를 별도의 보정 세트(held-out calibration set)에서 학습
- 적합한 경우: 시그모이드 형태의 보정이 적절할 때 (SVM, 신경망 출력)
- 보정 세트 크기: 비교적 적은 데이터에서도 잘 작동
Isotonic Regression (등위 회귀)¶
비모수적 방법: 단조 증가(non-decreasing) 계단 함수를 보정 데이터에 적합.
- Platt Scaling보다 유연함 — 비시그모이드형 보정 패턴도 처리
- 과적합 위험: 보정 세트가 작으면 불안정
- 경험 법칙: 보정 샘플 < 1000개 → Platt Scaling, > 1000개 → Isotonic Regression
Temperature Scaling (온도 스케일링)¶
신경망에 특화된 단일 파라미터 방법:
- \(T > 1\): 예측을 부드럽게(soften) → 과대확신 완화
- \(T < 1\): 예측을 날카롭게(sharpen)
- \(T\)를 검증 세트의 NLL(Negative Log-Likelihood)을 최소화하여 결정
- 장점: 매우 단순하고 효과적; 순위(ranking)를 변경하지 않으므로 AUC 불변
Histogram Binning (히스토그램 비닝)¶
비모수적: 각 bin에 보정된 확률을 직접 할당.
- 매우 단순하지만 해상도가 낮다 (coarse)
- bin 수가 적으면 정보 손실, 많으면 과적합
보정 방법 선택 가이드¶
flowchart TD
A["보정 방법 선택"] --> B{"모델이 신경망인가?"}
B -->|"예"| C["Temperature Scaling 우선"]
B -->|"아니오"| D{"보정 데이터가<br/>1000개 이상인가?"}
D -->|"예"| E["Isotonic Regression"]
D -->|"아니오"| F["Platt Scaling"]
C --> G{"결과 불만족?"}
G -->|"예"| D 모델별 보정 특성¶
| 모델 유형 | 보정 경향 | 설명 |
|---|---|---|
| 로지스틱 회귀 | 좋음 | 설계상 보정됨 (MLE가 Log Loss 최적화) |
| 잘 튜닝된 베이지안 모델 | 좋음 | 사후 확률이 직접 보정된 확률 |
| SVM | 나쁨 | 출력이 확률이 아님 (마진 값) — Platt Scaling 필수 |
| Random Forest | 보통~나쁨 | 확률이 0.5 근처로 편향되는 경향 |
| 신경망 | 나쁨 (과대확신) | Guo et al. (2017): 현대 신경망은 과대확신 경향; Temperature Scaling 권장 |
| Gradient Boosting | 보통 | 적절히 보정되지만 완벽하지 않음 |
언제 사용하는가¶
보정이 중요한 경우:
| 응용 | 이유 |
|---|---|
| 의료 진단 | 예측 확률이 직접 치료 결정에 영향 |
| 날씨 예보 | "비 올 확률 70%"가 실제 70%를 의미해야 사용자가 신뢰 |
| 자율주행 | 불확실성 정량화가 안전 결정에 필수 |
| 보험/금융 리스크 | 확률 기반 가격 책정 |
| 후속 의사결정에 확률이 입력될 때 | 순위만 중요한 경우가 아닌 모든 파이프라인 |
보정이 덜 중요한 경우: - 순위만 중요할 때 (상위 k개 추천) - 이진 결정만 필요할 때 (양성/음성 분류)
흔한 오해와 함정¶
-
"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)은 핵심 공정성 기준 중 하나
- 혼동 행렬과 분류 지표: 보정과 분류 지표는 모델의 서로 다른 측면을 평가