콘텐츠로 이동

ROC 곡선과 AUC

ROC 곡선

ROC 곡선(Receiver Operating Characteristic)은 가능한 모든 분류 문턱에 걸쳐 이항 분류기를 평가하는 강력한 도구다. 다음을 그린다.

  • x축: 위양성률(FPR) \(= 1 - \text{특이도}\)
  • y축: 참양성률(TPR) = 민감도 = 재현율

ROC 곡선 계산

확률 점수를 출력하는 분류기에 대해 결정 문턱 \(\tau\)를 0에서 1까지 변화시킨다.

  1. 각 문턱 \(\tau\)에 대해 \(\hat{p} \geq \tau\)이면 양성으로 분류한다.
  2. FPR과 TPR을 계산한다.

$\(\text{TPR} = \frac{\text{TP}}{\text{TP} + \text{FN}}, \quad \text{FPR} = \frac{\text{FP}}{\text{FP} + \text{TN}}\)$

  1. (FPR, TPR) 쌍을 찍는다.
  2. 모든 문턱값에 대해 반복하고 점들을 이어 곡선을 만든다.

해석

ROC 곡선은 민감도와 특이도 사이의 절충을 시각화한다.

  • (0, 1): 완벽한 분류기(TPR = 1, FPR = 0)
  • (0, 0): 문턱이 너무 높아 아무것도 양성으로 예측하지 않음
  • (1, 1): 문턱이 너무 낮아 모두를 양성으로 예측함
  • 주대각선(\(y = x\)): 판별력이 전혀 없는 무작위 분류기

대각선 위에 있는 분류기는 무작위보다 낫고, 아래에 있으면 무작위보다 못하다(예측을 뒤집으면 된다).

대출 연체의 ROC 곡선

대출 자료에 적합한 로지스틱 회귀 모형에서,

At threshold = 0.5:
TPR = 14,336 / 22,671 ≈ 0.6323
FPR = 8,148 / 22,671 ≈ 0.3594

문턱을 0에서 1까지 변화시키면 대개 (0, 0) 근처에서 시작해 (1, 1) 근처에서 끝나는 곡선이 되며, 좋은 분류기일수록 위쪽으로 부풀어 오른다.

곡선 아래 면적(AUC)

AUC는 ROC 곡선 아래의 면적으로 0과 1 사이의 값을 갖는다.

\[ \text{AUC} = \int_0^1 \text{TPR}(\text{FPR}) \, d(\text{FPR}) \]

실제로는 사다리꼴 공식으로 수치적으로 계산한다.

\[ \text{AUC} \approx \sum_{i=1}^{m} \frac{\text{TPR}_i + \text{TPR}_{i-1}}{2} \cdot (\text{FPR}_i - \text{FPR}_{i-1}) \]

AUC의 해석

AUC 값 해석
0.5 무작위 분류기, 판별력 없음
0.6–0.7 나쁨 내지 보통
0.7–0.8 받아들일 만함
0.8–0.9 뛰어남
0.9–1.0 매우 뛰어남
1.0 완벽한 분류기

위 대출 연체 모형은 AUC ≈ 0.6917로, 보통에서 받아들일 만한 수준의 판별력을 갖는다.

AUC의 확률적 해석

AUC에는 순위통계량에서 나오는 우아한 해석이 있다.

AUC = 무작위로 뽑은 양성 사례를 무작위로 뽑은 음성 사례보다 높게 순위 매길 확률.

달리 말해 연체 대출 하나와 비연체 대출 하나를 무작위로 뽑았을 때, 모형이 연체 쪽에 더 높은 확률을 부여할 확률이 AUC다. AUC가 0.5이면 순위가 무작위라는 뜻이고, 1.0이면 언제나 양성을 음성보다 높게 매긴다는 뜻이다.

면적과 확률이 같은 수라는 것

"곡선 아래 면적"과 "순위를 맞힐 확률"은 말만 들어서는 전혀 다른 양 같다. 실제로 세어 보면 같은 수가 나온다. 아래는 양성과 음성을 각각 2,000건씩 만들어(점수 분포를 한 단위의 \(0.707\)만큼 떨어뜨려) 두 가지 방법으로 AUC를 계산한 것이다.

점수 분포의 겹침과 그로부터 나온 ROC 곡선

왼쪽은 모형이 매긴 점수의 분포다. 두 산이 상당히 겹쳐 있고, 겹친 만큼 순위가 섞인다. 여기에 문턱 하나를 세우면(검은 파선) 그 선 왼쪽·오른쪽으로 네 칸의 혼동행렬이 만들어진다. 그러나 문턱은 분포 어디에나 세울 수 있으므로, 분포 전체가 가진 정보는 특정 문턱 하나로 다 드러나지 않는다. 오른쪽 ROC 곡선은 그 선을 왼쪽 끝에서 오른쪽 끝까지 밀면서 남긴 자취다. 왼쪽 그림의 파선에 해당하는 점을 오른쪽에 찍어 두었다.

그렇게 얻은 곡선 아래 면적은 \(0.6963\)이다. 한편 양성 2,000개와 음성 2,000개로 만들 수 있는 쌍 400만 개를 하나하나 세어 양성 점수가 더 높은 쌍의 비율을 구하면 역시 \(0.6963\)이다. 우연이 아니라 항등식이다. ROC 곡선의 각 계단은 점수를 내림차순으로 훑으며 만나는 관측치 하나에 대응하는데, 양성을 만나면 위로, 음성을 만나면 오른쪽으로 한 칸 간다. 그래서 곡선 아래 면적은 "각 음성보다 위쪽에 있는 양성의 개수"를 모두 더한 값을 전체 쌍의 수로 나눈 것이 되고, 이는 정의상 \(P(\hat p_{\text{양성}} > \hat p_{\text{음성}})\)이다.

이 동치가 AUC의 성격을 결정한다. AUC는 순위만 본다. 점수에 어떤 증가함수를 씌워도 — 로그오즈를 확률로 바꾸든, 전부 제곱하든 — 모든 쌍의 대소관계가 그대로이므로 AUC는 소수점까지 변하지 않는다. 뒤집어 말하면 AUC는 확률값이 맞는지에 대해 아무것도 말해 주지 않는다. 그 몫은 보정이 맡는다.

AUC의 장점

  1. 문턱에 의존하지 않는다: 모든 문턱에 걸친 성능을 하나의 수로 요약한다.
  2. 범주 불균형을 잘 다룬다: 정확도와 달리 불균형 자료에서 편향되지 않는다.
  3. 확률적 해석이 있다: 명확한 통계적 의미를 갖는다.
  4. 순위 문제에 유용하다: 점수화와 순위 매기기에 직접 적용된다.

비교: ROC 대 정밀도-재현율

측면 ROC 곡선 PR 곡선
초점 민감도 대 특이도 정밀도 대 재현율
문턱 비의존 그렇다 그렇다
범주 불균형 불균형에 덜 민감 더 민감하며 드문 사건에 적합
적합한 상황 균형 잡힌 범주 불균형 범주(드문 양성)
지표 AUC (0에서 1) 평균정밀도 (0에서 1)

범주 불균형이 심한 자료(예: 양성이 1%인 이상거래 탐지)에서는 정밀도-재현율 곡선이 ROC 곡선보다 모형의 행동을 더 분명히 드러내는 경우가 많다.

문턱 선택

ROC 곡선은 배치할 최적 문턱을 고르는 데 도움이 된다. 흔한 기준은 다음과 같다.

  1. 유든의 J 통계량: \(J = \text{TPR} - \text{FPR}\)를 최대화하는 문턱을 고른다.
  2. 비용 기반: 오분류 비용을 반영하여 \(\min_\tau [c_{FP} \cdot \text{FPR} + c_{FN} \cdot (1 - \text{TPR})]\)를 푼다.
  3. 응용 특화: 업무 요구사항에 따라 고른다(예: 특정 재현율 수준을 목표로 삼기).

대출 연체 모형에서 유든의 J를 쓰면, 위양성과 위음성의 상대적 비용에 따라 최적 문턱이 기본값 0.5와 상당히 다를 수 있다.

연습문제

연습문제 1. ROC와 AUC

(a) 웬만한 분류기의 ROC 곡선이 왜 대각선 위에 놓이는지 설명하라.

(b) 어떤 모형의 AUC가 0.85다. 확률적 해석을 제시하라.

(c) 모형 A의 AUC가 0.92, 모형 B의 AUC가 0.88이다. 항상 모형 A가 배치하기에 더 낫다고 결론지을 수 있는가? 이유는?

풀이

(a) 대각선은 무작위 분류(모든 문턱에서 TPR = FPR)를 나타낸다. 웬만한 분류기는 양성에 음성보다 높은 확률을 부여하므로, 어떤 FPR에서든 무작위 추측보다 높은 TPR을 달성한다.

(b) 양성 하나와 음성 하나를 무작위로 뽑았을 때, 모형이 양성 쪽에 더 높은 예측확률을 부여할 확률이 85%다.

(c) 반드시 그렇지는 않다. AUC는 모든 문턱에 걸친 성능을 요약한 값이다. 실제 응용에서 쓰는 특정 작동 문턱에서는 모형 B가 더 나을 수 있다. 또 불균형 자료에서는 PR-AUC가 더 유용한 정보를 줄 수 있다. AUC는 오분류 비용의 차이도 전혀 반영하지 못한다.

ROC 곡선이 교차할 수 있다

핵심은 AUC가 면적이라는 점이다. 두 곡선의 면적이 달라도 곡선 자체는 얼마든지 교차할 수 있다. 모형 A가 넓은 FPR 구간에서 우세해 전체 면적이 크더라도, 낮은 FPR 영역(허위경보를 거의 허용하지 않는 영역)에서는 모형 B가 더 나을 수 있다. 이상거래 탐지나 진단검사처럼 실제 작동점이 곡선의 왼쪽 끝에 있는 응용에서는 전체 AUC가 아니라 그 영역의 부분 AUC를 보아야 한다.


정리하며

ROC 곡선은 모든 문턱을 한 번에 본다.

  • TPR 대 FPR 을 그린다. 문턱을 \(1\) 에서 \(0\) 으로 낮추며 그린 곡선이며, 왼쪽 위 모서리에 가까울수록 좋다.
  • AUC 에는 확률적 해석이 있다. 무작위로 뽑은 양성 하나와 음성 하나에 대해 양성의 점수가 더 높을 확률이다. \(0.5\) 는 우연, \(1\) 은 완벽이다.
  • 문턱과 무관한 지표다. 모형의 순위 능력만 재며, 확률값이 잘 보정되었는지는 말하지 않는다.
  • 불균형에 둔감하다는 것이 장점이자 함정이다. 음성이 압도적이면 FPR 이 작아 보여 낙관적인 인상을 주므로, 정밀도–재현율 곡선을 함께 본다.
  • AUC 가 같아도 곡선 모양이 다를 수 있다. 관심 있는 FPR 구간에서 어느 쪽이 나은지 확인해야 한다.

다음 절 보정으로 넘어간다.