Area Under the Curve (AUC)
AUC(Area Under the Curve)가 모델 성능을 측정하는 방식을 배워 보십시오. Ultralytics YOLO26을 사용하여 분류, 의료, 금융 분야에서의 역할을 확인해 보십시오.
곡선 아래 영역 (AUC)은 머신 러닝 (ML)에서 분류 모델의 차별화 능력을 평가하기 위해 사용하는 포괄적인 성능 지표입니다. 구체적으로는 수신자 조작 특성 (ROC) 곡선 아래의 2차원 영역을 측정하며, 0에서 1 사이의 단일 스칼라 값을 제공합니다. AUC가 1.0이면 완벽한 분류기를 의미하며, 0.5이면 모델이 무작위 추측보다 나을 것이 없음을 나타냅니다. AUC는 가능한 모든 분류 임계값에 걸쳐 성능을 집계하므로, 최적의 결정 경계를 알 수 없거나 변동성이 있는 시나리오에서 예측 모델링 역량을 평가하는 데 특히 효과적입니다.
Link to this sectionROC와 AUC의 관계#
AUC를 완전히 이해하려면 기본이 되는 ROC 곡선을 알아야 합니다. 이 그래프는 다양한 임계값 설정에서 진양성률 (재현율)을 위양성률에 대비하여 플로팅합니다. AUC는 본질적으로 모델이 무작위로 선택된 양성 사례를 무작위로 선택된 음성 사례보다 더 높게 순위를 매길 확률을 정량화합니다.
- 분리성(Separability): AUC는 모델이 클래스(예: "개" 대 "고양이")를 얼마나 잘 구분하는지 측정합니다. 분리성이 높을수록 예측이 더 우수함을 의미합니다.
- 임계값 불변성(Threshold Invariance): 특정 차단점에 의존하는 F1-score와 달리, AUC는 모델 품질에 대한 광범위한 개요를 제공합니다.
- 척도 불변성(Scale Invariance): 절대적인 확률 값이 아닌, 예측 순위가 얼마나 잘 매겨졌는지를 측정합니다.
Link to this section실제 애플리케이션 사례#
AUC는 중요한 의사 결정이나 한 클래스가 다른 클래스보다 훨씬 드문 불균형 데이터셋을 다루는 산업에서 선호되는 지표입니다.
-
의료 진단: AI 헬스케어 분야에서 모델은 의료 영상 분석을 통해 병리를 식별하도록 훈련됩니다. 예를 들어 희귀 종양을 감지하는 모델은 민감도를 우선시해야 합니다. 높은 AUC는 시스템이 실제 환자에게 건강한 사람보다 더 높은 위험 점수를 안정적으로 할당하여 위험한 위음성을 줄이도록 보장합니다.
-
금융 사기 탐지: 금융 기관은 AI 금융을 사용하여 사기 거래를 포착합니다. 정상 거래가 사기 거래보다 훨씬 많기 때문에 모델이 모든 것을 "정상"이라고 부르는 것만으로도 99%의 정확도를 달성할 수 있습니다. AUC는 클래스 분포와 상관없이 모델이 실제 사기 시도와 정상적인 행동을 얼마나 잘 분리하는지를 평가함으로써 이를 방지합니다.
Link to this sectionAUC와 관련 지표의 구분#
프로젝트에 적합한 도구를 선택하려면 AUC를 다른 모델 평가 통찰력과 차별화하는 것이 중요합니다.
- AUC 대 정확도(Accuracy): 정확도는 단순히 전체 예측 대비 올바른 예측의 비율입니다. 매우 치우친 데이터셋에서는 정확도가 오해를 불러일으킬 정도로 높을 수 있습니다. AUC는 클래스 불균형에 강건하며 분류기 성능에 대해 더 솔직한 평가를 제공합니다.
- AUC 대 정밀도-재현율(Precision-Recall): ROC-AUC는 균형 잡힌 결과에 대한 표준이지만, "양성" 클래스가 극히 드물고 위양성이 중요한 문제일 때는 정밀도-재현율 곡선 아래 영역(AUPRC)이 종종 선호됩니다.
- AUC vs. mAP: In object detection tasks using models like YOLO26, the standard metric is Mean Average Precision (mAP). While mAP is conceptually similar—calculating the area under the Precision-Recall curve across different Intersection over Union (IoU) thresholds—AUC strictly refers to the ROC curve in binary or multi-class classification.
Link to this section코드 예제#
다음 예제는 사전 훈련된 YOLO26 분류 모델을 로드하고 검증을 실행하는 방법을 보여줍니다. YOLO 모델은 주로 top-1 및 top-5 정확도를 보고하지만, 검증 과정은 곡선 기반 지표를 분석하는 데 필요한 예측 데이터를 생성합니다.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Validate the model on a standard dataset (e.g., imagenet10)
# This generates precision, recall, and accuracy metrics
results = model.val(data="imagenet10")
# Access top-1 accuracy, a key point on the ROC curve
print(f"Top-1 Accuracy: {results.top1:.4f}")
print(f"Top-5 Accuracy: {results.top5:.4f}")이러한 지표가 자동으로 시각화되는 데이터셋 어노테이션 및 클라우드 훈련을 포함한 포괄적인 수명 주기 관리를 위해 개발자는 Ultralytics Platform을 활용할 수 있습니다. 이는 수동 계산 없이 AUC와 같은 복잡한 지표를 해석하는 과정을 단순화합니다.






