ROC 곡선 비교 및 최적화

완료됨

ROC(수신기 연산자 특성) 곡선을 사용하면 모델을 서로 비교하고 선택한 모델을 튜닝할 수 있습니다. 이러한 작업을 수행하는 방법과 그 이유를 살펴보겠습니다.

모델 튜닝

ROC 곡선의 가장 확실한 용도는 최상의 성능을 제공하는 결정 임계값을 선택하는 것입니다. 앞에서 살펴본 것처럼 모델에는 샘플이 등산객일 가능성 65%와 같은 확률이 제공됩니다. 결정 임계값은 특정 점수 이상이면 샘플에 양성(등산객)이 할당되고, 특정 점수 미만이면 음성 false(나무)이 할당되는 기준점입니다. 결정 임계값이 50%일 때 확률이 65%면 “양성”(등산객)이 할당됩니다. 하지만 결정 임계값이 70%인 경우에는 65% 확률도 너무 작아서, 음성(“나무”)이 할당됩니다.

이전 연습에서는 ROC 곡선을 만들 때 결정 임계값만 변경하고 모델이 얼마나 잘 작동하는지 평가했습니다. 이렇게 하면 최적 결과를 제공하는 임계값을 찾을 수 있습니다.

일반적으로 TPR(진양성 비율)과 FPR(가양성 비율)을 둘 다 최적의 값으로 제공하는 단일 임계값은 없습니다. 즉, 최적 임계값은 달성하려는 내용에 따라 달라집니다. 예를 들어 이 시나리오에서는 등산객이 식별되지 않은 상태로 눈사태가 발생하면 구조팀이 등산객을 구조해야 하는지 모르기 때문에 높은 진양성 비율을 얻는 것이 매우 중요합니다. 하지만 가양성이 너무 높으면 존재하지 않는 사람을 구조하기 위해 구조팀이 출동하는 경우가 반복될 수 있기 때문에 단점도 존재합니다. 다른 상황에서는 가양성 비율이 더 중요하게 고려됩니다. 예를 들어 과학은 가양성 결과에 대한 허용 오차가 낮습니다. 과학적 실험의 가양성 비율이 더 높으면, 무한하게 충돌하는 클레임이 있을 수 있으며 실제 결과를 이해하는 것은 불가능합니다.

AUC와 모델 비교

ROC 곡선을 사용하여 비용 함수와 마찬가지로 모델을 서로 비교할 수 있습니다. 모델의 ROC 곡선은 여러 결정 임계값에 대해 얼마나 잘 작동하는지를 보여 줍니다. 결국 모델에서 가장 중요한 것은 결정 임계값이 하나뿐인 실제 세계에서 수행되는 방법입니다. 그렇다면 사용하지도 않을 임계값을 사용해서 모델을 비교하는 이유는 무엇일까요? 이에 대해서는 두 가지 해답이 있습니다.

첫째, 특정 방식으로 ROC 곡선을 비교하는 것은 어느 한 모델이 특정 테스트 집합에서 더 나은 결과를 나타낸다는 것뿐만 아니라 이후에도 더 나은 성능을 지속할 것이라는 점을 보여주는 통계적 테스트를 수행하는 것과 비슷합니다. 이것은 이 학습 자료의 범위를 벗어나는 내용이지만, 생각해볼 필요가 있습니다.

둘째, ROC 곡선은 어느 정도까지 모델과 완벽한 임계값을 갖는 것 사이의 관계를 보여줍니다. 예를 들어 결정 임계값이 0.9일 때만 모델이 잘 작동하고 이 값보다 크거나 작을 땐 효과가 떨어진다면 이것은 좋은 설계가 아닙니다. 앞으로 만나게 될 실제 세계의 데이터가 테스트에 사용된 것과 약간 다를 경우 모델 성능이 저하되지 않도록 하려면 여러 임계값에서도 올바르게 작동하는 모델을 사용해야 할 것입니다.

ROC 비교 방법

ROC를 수치적으로 비교하는 가장 쉬운 방법은 AUC(곡선 아래 영역)를 사용하는 것입니다. 문자 그대로 이 영역은 곡선 아래에 있는 그래프 영역입니다. 예를 들어 이전 연습에서 완벽한 모델은 AUC가 1입니다.

Diagram showing a receiver operator characteristic curve graph using area under the curve.

반면에 이 모델에서는 영역이 0.5보다 클 가능성이 없습니다.

Diagram showing a receiver operator characteristic curve graph with area under the curve at a sharp angle.

모델이 완벽할수록 이 영역이 더 커집니다. 모델의 AUC가 크면 여러 임계값에서도 잘 작동한다는 것을 알 수 있고, 아키텍처와 학습 효과도 높을 것입니다. 반면에 AUC가 0.5에 근접할 정도로 작은 모델은 제대로 작동하지 않습니다.