정밀도-재현율 트레이드오프 (Precision-Recall Trade-off)¶
개요¶
대부분의 분류 모델은 이진 레이블이 아니라 확률 점수(probability score)를 출력한다. 이 점수에 임계값(threshold)을 적용하여 양성/음성을 결정하는데, 임계값을 어디에 설정하느냐에 따라 정밀도(Precision)와 재현율(Recall)이 반대 방향으로 움직인다. 이것이 정밀도-재현율 트레이드오프다.
이 트레이드오프를 이해하고 적절히 조절하는 것은, 모델 자체를 개선하는 것 못지않게 중요한 실전 기술이다.
핵심 개념¶
왜 반비례 관계인가?¶
모델이 각 샘플에 대해 양성일 확률 \(\hat{p}\)를 출력한다고 하자. 임계값 \(\tau\)를 설정하여: - \(\hat{p} \geq \tau\) → 양성 예측 - \(\hat{p} < \tau\) → 음성 예측
graph LR
subgraph "임계값 높임 (τ ↑)"
A1["양성 예측 수 ↓"]
A2["FP ↓ → Precision ↑"]
A3["FN ↑ → Recall ↓"]
end
subgraph "임계값 낮춤 (τ ↓)"
B1["양성 예측 수 ↑"]
B2["FP ↑ → Precision ↓"]
B3["FN ↓ → Recall ↑"]
end 핵심 통찰: 트레이드오프는 모델 자체가 아니라 결정 경계(decision boundary)에 관한 것이다. 동일한 모델이라도 임계값에 따라 Precision-Recall 조합이 달라진다.
두 분포의 직관¶
양성 클래스와 음성 클래스의 점수 분포를 상상하면 이해가 쉽다:
음성 클래스 분포 양성 클래스 분포
████ ████
██████ ██████
████████ ████████
██████████ ██████████
████████████████████████████████████████
0.0 ↑τ=0.3 ↑τ=0.5 ↑τ=0.7 1.0
임계값 위치
- \(\tau\)를 왼쪽으로 → 더 많은 양성을 잡지만(Recall ↑), 음성도 많이 포함됨(Precision ↓)
- \(\tau\)를 오른쪽으로 → 확실한 양성만 잡지만(Precision ↑), 놓치는 양성이 많아짐(Recall ↓)
상세 내용¶
임계값 튜닝 (Threshold Tuning)¶
기본 임계값 0.5는 대부분의 경우 최적이 아니다. 특히 불균형 데이터, 비대칭 비용 문제에서는 임계값 튜닝이 필수적이다.
주요 튜닝 방법:
| 방법 | 설명 | 적합한 상황 |
|---|---|---|
| Grid Search | \([0, 1]\) 구간을 촘촘하게 탐색하며 목표 지표 최적화 | 범용 |
| Youden's J | \(J = \text{Sensitivity} + \text{Specificity} - 1\) 최대화 | ROC 기반 최적점 |
| 비용 민감 | \(C_{FP} \cdot FP + C_{FN} \cdot FN\) 최소화 | 비용이 명확할 때 |
| \(F_\beta\) 최적 | 원하는 \(\beta\)에 대해 \(F_\beta\) 최대화 | P-R 가중치 명확할 때 |
실전 팁: 임계값 튜닝은 반드시 검증 세트(validation set)에서 수행해야 한다. 테스트 세트에서 튜닝하면 성능 추정이 낙관적으로 편향된다.
PR 곡선 (Precision-Recall Curve)¶
임계값을 1에서 0으로 점진적으로 변화시키면서 (Recall, Precision) 쌍을 그래프에 표시한 것이 PR 곡선이다.
해석: - 곡선이 오른쪽 위(top-right)에 가까울수록 좋은 모델 - 기준선(baseline): 유병률(Prevalence) 수준의 수평선 — 랜덤 분류기의 성능 - 보간법: PR 곡선은 선형 보간이 아닌 단계(step) 보간이 올바르다
Iso-F1 곡선: 동일한 \(F_1\) 값을 갖는 (Recall, Precision) 조합을 연결한 곡선. PR 곡선 위에 겹쳐 그리면, 모델이 어떤 \(F_1\) 수준에서 작동하는지 파악할 수 있다.
Average Precision (AP)¶
PR 곡선 아래 면적(Area Under PR Curve)을 단계적으로 합산한 값이다. 단일 숫자로 PR 곡선의 전반적인 성능을 요약한다.
Mean Average Precision (mAP): $\(\text{mAP} = \frac{1}{|Q|}\sum_{q=1}^{|Q|} \text{AP}_q\)$
- 여러 클래스 또는 여러 쿼리에 대해 AP를 평균
- 정보 검색(Information Retrieval)과 객체 탐지(Object Detection)에서 핵심 지표
- 자세한 내용은 랭킹 지표 참조
PR 곡선 vs ROC 곡선¶
| 특성 | PR 곡선 | ROC 곡선 |
|---|---|---|
| X축 | Recall | FPR (1 - Specificity) |
| Y축 | Precision | TPR (Recall) |
| 기준선 | 유병률 수평선 | 대각선 (AUC = 0.5) |
| 불균형 데이터 | 더 정직함 | 낙관적으로 보일 수 있음 |
| 초점 | 양성 클래스 성능 | 양성 + 음성 모두 |
| 추천 상황 | 불균형 데이터 | 균형 데이터, Specificity 중요 시 |
왜 ROC가 불균형 데이터에서 낙관적인가?
FPR의 분모가 \(TN + FP\)인데, 음성 클래스가 매우 많으면(예: 1000개) 100개의 FP가 발생해도 FPR은 겨우 0.1 증가한다. 반면 Precision은 급격히 떨어진다. 따라서 불균형 데이터에서는 PR 곡선이 더 현실적인 그림을 보여준다.
참고: Davis & Goadrich (2006), "The Relationship Between Precision-Recall and ROC Curves" — ROC에서 모델이 지배적이면 PR에서도 지배적이지만, 역은 성립하지 않는다.
자세한 ROC 곡선 내용은 ROC와 AUC 참조.
언제 사용하는가¶
- 불균형 분류 문제에서 성능을 정직하게 보고 싶을 때 → PR 곡선과 AP 사용
- FP와 FN의 비용이 다를 때 → 임계값 튜닝으로 원하는 P-R 균형점 선택
- 여러 모델의 전반적 양성 탐지 성능을 비교할 때 → AP 비교
- 임계값에 따른 성능 변화를 시각적으로 확인할 때 → PR 곡선 도식화
흔한 오해와 함정¶
-
"기본 임계값 0.5가 적절하다" — 클래스 비율, 비용 구조에 따라 최적 임계값은 크게 달라진다. 0.5는 거의 최적이 아니다.
-
"Precision과 Recall을 동시에 높일 수 있다" — 고정된 모델에서 임계값 조정으로는 불가능하다. 동시에 높이려면 모델 자체를 개선해야 한다 (더 나은 특성, 더 나은 알고리즘).
-
"PR 곡선은 선형 보간하면 된다" — PR 공간에서 선형 보간은 부정확하다. 단계(step) 보간 또는 적절한 보간 방법을 사용해야 한다.
-
"AP가 높으면 모든 임계값에서 좋다" — AP는 요약 지표이므로, 실제 운영할 특정 임계값에서의 성능은 별도로 확인해야 한다.
-
"PR 곡선만 보면 된다" — Specificity(TN)가 중요한 문제에서는 ROC 곡선이 더 적절할 수 있다.
다른 주제와의 연결¶
- 혼동 행렬과 분류 지표: Precision, Recall 등 기본 지표의 정의와 직관
- ROC와 AUC: PR 곡선과 ROC 곡선의 관계, 언제 어떤 것을 사용할지
- 보정 (Calibration): 확률 점수의 품질 — 보정이 좋아야 임계값 튜닝이 의미 있다
- 랭킹 지표: AP, mAP의 정보 검색에서의 활용
- 공정성 지표: 그룹별 임계값 조정과 공정성의 관계