Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

ROC 곡선이란 무엇일까? 개념부터 작성 방법과 해석까지

ROC 곡선의 정의와 기원

ROC는 'Receiver Operating Characteristic(수신자 조작 특성)'의 약자입니다. ROC 곡선은 두 개의 분류 모델을 비교하고 분석할 때 매우 유용한 시각적 도구로, 제2차 세계대전 중 레이더 이미지 탐색을 위해 발전된 신호 탐지 이론(signal detection theory)에서 그 기원을 찾을 수 있습니다.

ROC 곡선이 보여주는 것

ROC 곡선은 주어진 모델에 대해 진양성률(True Positive Rate, 민감도)위양성률(False Positive Rate) 사이의 트레이드오프(trade-off)를 한눈에 보여줍니다.

  • 진양성률(민감도): 실제 양성 튜플 중에서 모델이 올바르게 양성으로 인식한 비율
  • 위양성률: 실제 음성 튜플 중에서 모델이 잘못하여 양성으로 판정한 비율

이진 분류 문제에서 ROC 곡선은 테스트 세트의 여러 구간에 대해 모델이 '예(yes)' 사례를 정확히 잡아내는 비율과, '아니오(no)' 사례를 '예'로 잘못 판정하는 비율 사이의 균형을 예측할 수 있게 해줍니다. 일반적으로 진양성률이 조금씩 올라갈 때마다 위양성률도 함께 증가하는 경향을 보입니다.

모델 정확도의 척도, AUC

ROC 곡선 아래쪽의 면적, 즉 AUC(Area Under the Curve)는 해당 분류 모델의 정확도를 평가하는 지표로 활용됩니다. AUC 값이 클수록 모델의 전반적인 분류 성능이 우수하다는 의미입니다.

ROC 곡선 작성 방법

특정 분류 모델 M에 대해 ROC 곡선을 작성하려면, 모델이 각 테스트 튜플에 대해 예측 클래스의 확률 또는 순위(score)를 반환할 수 있어야 합니다.

나이브 베이즈(Naive Bayesian) 분류기와 역전파(backpropagation) 분류기는 이러한 조건을 자연스럽게 만족하며, 결정 트리(decision tree) 분류기 역시 각 예측에 대해 클래스 확률 분포를 반환하도록 손쉽게 수정할 수 있습니다.

작성 절차

  1. 테스트 튜플들을 분류기가 부여한 점수를 기준으로 내림차순으로 정렬합니다. 이때 분류기가 가장 양성('yes') 클래스에 속한다고 판단하는 튜플이 목록의 맨 위에 위치합니다.
  2. ROC 곡선의 세로축은 진양성률, 가로축은 위양성률을 나타냅니다.
  3. 곡선은 왼쪽 아래 모서리, 즉 진양성률과 위양성률이 모두 0인 지점에서 시작합니다.
  4. 목록의 맨 앞 튜플부터 실제 클래스 레이블을 하나씩 확인합니다. 해당 튜플이 참양성(true positive), 즉 올바르게 식별된 양성 튜플이라면, ROC 곡선 상에서 위로 이동하며 점을 찍습니다.

ROC 곡선 해석하기

두 분류 모델의 ROC 곡선을 하나의 그래프에 나타내면, 그래프에는 대각선도 함께 표시됩니다. 이 대각선은 어떤 모델이 참양성을 하나 찾아낼 때마다 거의 같은 비율로 위양성도 발생시킨다는 것을 의미하며, 사실상 무작위 추측(random guessing)에 해당하는 기준선입니다.

따라서 모델의 ROC 곡선이 대각선에 가까울수록 해당 모델의 성능은 떨어진다고 해석할 수 있습니다.

반대로 성능이 좋은 모델이라면, 순위 목록을 내려가면서 초반에 참양성을 연속적으로 많이 만나게 됩니다. 이 때문에 곡선은 원점에서부터 가파르게 위로 상승합니다. 이후 목록을 더 내려가면 참양성은 점점 줄어들고 위양성이 차례로 나타나기 시작하므로, 곡선의 기울기는 완만해지며 수평에 가까운 형태로 변합니다.

요약하면, ROC 곡선은 분류 모델의 민감도와 특이도 사이의 균형을 시각적으로 보여주는 강력한 도구이며, AUC와 함께 활용하면 여러 모델의 성능을 직관적으로 비교할 수 있습니다.