콘텐츠로 이동

정밀도-재현율 트레이드오프 (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)

\[\text{AP} = \sum_{k=1}^{n}(R_k - R_{k-1}) \cdot P_k\]

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 곡선 도식화

흔한 오해와 함정

  1. "기본 임계값 0.5가 적절하다" — 클래스 비율, 비용 구조에 따라 최적 임계값은 크게 달라진다. 0.5는 거의 최적이 아니다.

  2. "Precision과 Recall을 동시에 높일 수 있다" — 고정된 모델에서 임계값 조정으로는 불가능하다. 동시에 높이려면 모델 자체를 개선해야 한다 (더 나은 특성, 더 나은 알고리즘).

  3. "PR 곡선은 선형 보간하면 된다" — PR 공간에서 선형 보간은 부정확하다. 단계(step) 보간 또는 적절한 보간 방법을 사용해야 한다.

  4. "AP가 높으면 모든 임계값에서 좋다" — AP는 요약 지표이므로, 실제 운영할 특정 임계값에서의 성능은 별도로 확인해야 한다.

  5. "PR 곡선만 보면 된다" — Specificity(TN)가 중요한 문제에서는 ROC 곡선이 더 적절할 수 있다.


다른 주제와의 연결