[AAIS] E07. ROC-curve
2021-02-14 # AAIS

ROC curve

ROC cuve


ROC(Receiver Operating Characteristic) curve는 다양한 threshold에 대한 이진분류의 성능을 표시한 것이다.

이진분류란 ‘맞다 틀리다’ ‘사람이다 아니다’와 같이 두가지의 경우로 분류하는 것을 말하며,

우리는 True Positive Rate와 False Positive Rate 두 가지를 이용해서 표현하게 된다.

ROC curve는 이러한 지표들을 이용해서 어느 것이 분류를 더 잘했는지 판단해주는 그래프이다.

딥러닝에서 metric을 판단할 때, accuracy말고 또 보아야 하는 것 중 하나인 것이다.

accuracy와 ROC-curve의 차이는 간단한 예로 확인할 수 있다.

전체 100명 중 90명이 COVID-19에 양성의 반응을 일으키고, 10명이 음성의 반응이 난다 하자. 어떠한 분류기가 모든 환자를 감염자라고 분류할 경우

accuracy는 90%에 달한다. 하지만 이는 분명히 틀린 분류기 이다. 정확한 판단을 위해서는 감염자를 감염자로 분류하는 것(TPR)과 비감염자를 비감염자(FPR)라고 분류하는 두가지 경우를 살펴봐야 하는 것이다.


그림1. ROC-curve

True Positive? False Positive?


처음에 이것을 보면 무슨 뜻인지 감이 안잡힐 수 있다. 우리와 같은 주니어들을 위해 정의에 대해서 다뤄보겠다.

어떠한 환자가 암에 걸렸다고 했을 때, 암에 걸렸다(A)와 암에 걸리지 않았다(B)로 나누자.

  1. True Positive(= Sensitivity) : 예측한 값(A)과 실제의 경우(A)가 같을 때 즉, 맞을 때
  2. False Positive(= Specificity) : 예측한 값(B)과 실제의 경우(A)가 다를 때 즉, 틀릴 때
  3. True Negative : 예측한 틀린 경우(B)와 실제의 틀린 경우(B)가 같을 때
  4. False Negative : 예측한 틀린 경우(A)와 실제의 틀린 경우가(B)가 다를 때

그림2. TPR과 FPR의 그래프

쉽게 말하자면, True/False는 예측값이 실제와 같을 때, 다를 때이고 Positive, Negative는 예측값을 옳은 경우, 틀린 경우로 나눌 때이다.

TPR(True Positive Rate)과 FPR(False Positive Rate)은 서로 비례하는 관계에 있다. 암환자를 진단할 때, 성급한 의사는 아주 조금의 징후만 보여도 암이라고 진단할 수 있으며 이 경우 TPR은 1에 가까워진다. 동시에 FPR도 1에 가까워진다.

반대로, 실력이 없는 의사라서 암환자를 알아내지 못한다면, 모든 환제에 대해 암이 아니라고 할것이며, 이경우 TPR은 매우 낮아져 0에 가까워질 것이고, 마찬가지로 FPR도 0에 가까워질 것이다.

따라서, TPR을 높이면 필연적으로 FPR도 높아진 다는 것이다. 이를 위해서 기준(Threshold)를 정해서 TPR과 FPR을 측정을 해야하는 것이다. 그리고 이것을 한눈에 볼 수 있도록 시각화한 것이 ROC-Cuve인 것이다.

ROC-curve의 장점에는 한가지가 더 있는데, 병의 위험성에 따라서 어떤 기준을 둬야할 지 정하기가 좋다는 것이다.

예를 들어 췌장암같이 걸릴 확률은 낮지만 치사율이 굉장히 높은 질병이 있다고 할 때, 약간의 징후만으로 병을 양성이라고 판단하는 것은 더 좋은 결과를 나타낼 수 있다. 따라서 FPR도 또한 높아지지만 더 많은 환자를 살릴 수 있을 것이다.

ROC-curve에서 점의 의미


앞서 말했듯이 상황에 따라 다른 threshold를 적용해야한다.

threshold를 TPR또는 FPR에 따라 정의하게 되었을 때, 그 부분을 정의하는 것이다.

즉, threshold별로 TPR과 FPR을 알아보게 되는 것이다. 모든 threshold별로 비율을 쉽게 보게 된다는 것이다.

ROC-curve에서 그래프의 의미


그래프는 이진분류의 성능에 따라 다르게 그려진다.

위와 같이 두가지의 그룹을 잘분류할수록 많이 휘고 분류하지 못할경우 직선에 가까워진다.

이처럼 곡선의 모양에 따라 분류를 잘 할 수있음을 판단할 수 있는 근거가 되는 것이다.

Reference

https://angeloyeo.github.io/2020/08/05/ROC.html
https://newsight.tistory.com/53