정보보안/정보보호기초

ROC(Receiver Operating Characteristic) 곡선 및 AUC(Area Under the Curve)

록스타★ 2024. 7. 25. 11:12
반응형

서론

이전에 FAR(부재율)과 FRR(거부율)을 포스팅할 때 ROC곡선과 AUC를 올린다고 했었는데 이제서야 올린다.

ROC곡선과 AUC는 이진 분류 문제에서 모델의 성능을 평가하기 위해 사용되는 주요 지표이다.

 

 


ROC와 AUC

- ROC 곡선을 통해 모델이 어떻게 다양한 임계값에서 성능을 발휘하는 지 파악

- AUC는 단일 숫자로 모델의 성능을 요약하므로 여러 모델 비교할 때 유용

- ROC와 AUC는 클래스 불균형이 있는 데이터셋에서 유용한 평가 방법

- 정확도(Accuracy)와 달리, ROC와 AUC는 클래스 불균형의 영향을 적게받음

 

이진 분류(Binary Classification)

- 두 개의 클래스(예: 양성/음성, 참/거짓) 중 하나로 데이터를 분류하는 문제입니다.

TP (True Positive)

- 실제로 양성인 데이터를 양성으로 올바르게 분류한 경우.

TN (True Negative)

- 실제로 음성인 데이터를 음성으로 올바르게 분류한 경우.

FP (False Positive)

- 실제로 음성인 데이터를 양성으로 잘못 분류한 경우.

FN (False Negative)

- 실제로 양성인 데이터를 음성으로 잘못 분류한 경우.

 

ROC 곡선 (Receiver Operating Characteristic Curve)

- ROC 곡선은 분류 모델의 진단 능려을 시각적으로 평가하는 그래프

- ROC 곡선은 다양한 임계값을 기준으로 FPR, TPR 변화를 나타내고 임계값은 모델이 양성 클래스로 분류하기 위해 필요한 최소 확률

 

X축 : FPR(False Positive Rate, 거짓양성률) - FP / (FP + TN)

Y축 : TPR(True Positive Rate, 참양성률) - TP / (TP + FN)

 

AUC (Area Under the Curve)

- ROC 곡선 아래의 면적을 의미

- 모델의 성능을 수치적으로 평가

- 0과 1사이의 값을 가짐

  > 0.5 : 모델이 랜덤 추측과 동일한 성능을 가짐

  > 1.0 : 완벽한 모델, 모든 양성 샘플과 음성 샘플을 완벽하게 분류

  > 0.7 - 0.8 : 양호한 성능

  > 0.8 - 0.9 : 아주 좋은 성능

  > 0.9이상 : 뛰어난 성능

 

 

ROC 곡선 및 AUC

- 주황색 곡선은 ROC 곡선을 나타냄

- 주황색 곡선 아래 부분이 AUC

- 점선은 무작위 추측의 기준선

- 아래 그림처럼 곡선이 진행된다면 비교적 높은 성능을 가지고 있다.

그림(1) ROC와 AUC

 

 

 

 

결론 

FPR과 TPR은 보안기사를 공부하면 무조건 나오는 문제이다. 풀기도 쉽고 이해만 한다면 정답을 맞출 수 있을 것 같다.

실제로 직무에서는 이진 분류 문제를 깊게 다뤄본적도 없어 직무에서는 사용해 본 적이 없다.

 

 

 

참조

https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc?hl=ko

 

분류: ROC 곡선 및 AUC  |  Machine Learning  |  Google for Developers

새로운 개선된 버전의 머신러닝 단기집중과정이 2024년 8월에 제공될 예정입니다. 감사합니다 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 분류: ROC 곡선 및 AUC 컬렉션을 사

developers.google.com

 

반응형