ROC curve

x축은 이진 분류기에 의해 결정된 score가 표시된 것으로 생각할 수 있음.
빨간색과 파란색의 정규분포로 표현한 종모양의 분포들은 데이터 샘플들의 실제 클래스를 나타냄 왼쪽 패널에 있는 흰색 바는 마우스 드래그로 움직일 수 있으며, 클래스를 분류하기 위해 사용자가 결정하는 threshold임.

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

이진 분류의 성능은 True Positive Rate와 False Positive Rate 두 가지를 이용해서 표현하게 된다.

ROC curve를 한 마디로 이야기하자면 ROC 커브는 좌상단에 붙어있는 커브가 더 좋은 분류기를 의미한다고 생각할 수 있다.


그림 1. ROC 커브가 좌상단에 붙어있을 수록 좋은 이진 분류기이다.

ROC curve를 잘 이해하기 위해선 ROC curve plot에서 보이는 세 가지 특성에 대해 파악하는 것이 좋다.

  1. True Positive Rate과 False Positive Rate
  2. ROC Curve위의 한 점이 의미하는 것은 무엇인가?
  3. ROC Curve의 휜 정도가 의미하는 것은 무엇인가?


그림 2. ROC curve를 이해하기 위해 알아야할 것들

True Positive? False Positive?

False Positive Rate(FPR)와 True Positive Rate(TPR)은 ROC curve에서 각각 x, y축에 표시되는 값을 의미한다.

여기서 우리는 FPR과 TPR 모두 Positive라는 공통적인 단어가 있음을 발견할 수 있다.

“Positive”의 의미는 판단자가 “그렇다”라고 판별했다는 의미이다.

가령 병원에 환자가 암 검사를 받기 위해 내원했고, 의사(즉, 여기서 판단자)가 “환자가 암에 걸렸다”라고 판단한 것이다.

그렇다면 True와 False는 무슨 의미일까?

True와 False는 각각 ‘판단을 올바르게 했다’는 것과 ‘판단을 틀리게 했다’는 것을 표현한다.

즉, 다시 말해 True Positive는 실제로 이 사람은 암에 걸려있고, 판단을 암에 걸렸다고 판단한 것이며, False Positive는 실제로는 암에 걸리지 않았는데도 암에 걸렸다고 ‘잘못’ 판단한 것을 의미한다.

그림으로 True Positive와 False Positive를 확인해보면 다음과 같이 생각할 수 있다.


그림 3. True Positive와 False Positive를 그림으로 나타낸 것.

TPR과 FPR의 관계

이제 의사(즉, 이진 분류기의 역할)의 성격과 실력에 대해 집중해보자.

의사 A는 겁이 없고 성격이 급해서 모든 환자들을 다 암환자라고 판단한다고 하자.

그러면 어떻게 될까? 실제로 암이 걸린 환자들도 모두 암 환자로 판정되면서 (즉, True Positive Rate은 높아지고)

동시에 암이 걸리지 않았던 내원 환자들도 모두 암 환자로 판정된다. (즉, False Positive Rate도 동시에 높아지게 된다)

그 내용을 그림으로 표현하면 아래와 같다. 모든 내원자들을 다 환자로 판정한다는 것은 threshold가 낮다는 뜻이다.


그림 4. 겁 없는 의사 A 처럼 threshold를 매우 낮게 설정하는 경우의 True Positive와 False Positive 비율 변화

한편, 의사 B는 겁이 많아서 모든 환자들이 암환자가 아니라고 판단한다고 하자. 다시 말해 의사 B는 암이 걸리지 않은 내원자들 뿐만 아니라

실제로는 암에 걸린 내원자들도 모두 정상인으로 판정하면서 True Positive Rate과 False Positive Rate 모두 낮아지게 된다.

그 내용을 그림으로 표현하자면 아래와 같다. 모든 내원자들을 다 정상인으로 판정한다는 것은 threshold가 높다는 뜻이다.


그림 5. 겁쟁이 의사 B 처럼 threshold를 높게 설정하는 경우의 True Positive와 False Positive 비율 변화

현 위의 점의 의미는 무엇인가?

위의 논의를 따라오다보면 threshold가 변함에 따라서 False Positive Rate(FPR)과 True Positive Rate(TPR)의 값이 바뀐다는 것을 알 수 있다.

또 한가지 추가로 알 수 있는 것은 threshold가 높아지건 낮아지건 FPR과 TPR은 어느정도는 비례적으로 함께 커지거나 작아진다는 것 또한 알 수 있다.

현 위의 점이 의미하는 것은 모든 가능한 threshold별 FPR과 TPR을 알아보겠다는 의미를 담고 있다.

즉, 현재 이진 분류기의 분류성능은 변하지 않되, 가능한 모든 threshold별 FPR과 TPR의 비율을 알아내서 plot하겠다는 의미를 담고 있다.


그림 6. threshold 변화에 따른 ROC 커브 위의 점 위치 변화

현의 휨 정도가 의미하는 것은 무엇인가?

이번엔 현의 휨 정도가 의미하는 바가 무엇인지 마지막으로 알아보도록 하자.

아래의 그림에서 볼 수 있듯이 두 클래스를 더 잘 구별할 수 있다면 ROC 커브는 좌상단에 더 가까워지게 된다.


그림 7. 두 그룹을 더 잘 구별할 수 있을수록 ROC 커브는 좌상단에 붙게 된다.

마무리

정리하면, ROC 커브는 이진 분류기의 성능을 표현하는 커브이고, 가능한 모든 threshold에 대해 FPR과 TPR의 비율을 표현한 것이다.

최종적으로는 ROC 커브가 좌상단에 붙어있는 것이 더 좋은 이진분류기를 뜻한다.