Area Under the Curve (AUC)
Tìm hiểu cách Diện tích dưới đường cong (AUC) đo lường hiệu suất mô hình. Khám phá vai trò của nó trong phân loại, y tế và tài chính bằng cách sử dụng Ultralytics YOLO26.
Diện tích dưới đường cong (AUC) là một chỉ số hiệu suất toàn diện được sử dụng trong học máy (ML) để đánh giá khả năng phân biệt của một mô hình phân loại. Cụ thể, nó đo lường diện tích hai chiều nằm dưới đường cong Đặc tính hoạt động của thiết bị thu (ROC), cung cấp một giá trị vô hướng duy nhất từ 0 đến 1. AUC bằng 1.0 biểu thị một bộ phân loại hoàn hảo, trong khi AUC bằng 0.5 cho thấy mô hình không hoạt động tốt hơn xác suất ngẫu nhiên. Vì nó tổng hợp hiệu suất trên tất cả các ngưỡng phân loại có thể, AUC đặc biệt hiệu quả để đánh giá các khả năng mô hình hóa dự đoán trong các tình huống mà ranh giới quyết định tối ưu chưa được biết hoặc không cố định.
Link to this sectionMối quan hệ giữa ROC và AUC#
Để hiểu rõ về AUC, người ta phải hiểu đường cong ROC cơ bản. Đồ thị này vẽ Tỷ lệ dương tính thực (Recall) so với Tỷ lệ dương tính giả tại các thiết lập ngưỡng khác nhau. AUC về cơ bản định lượng xác suất rằng mô hình sẽ xếp hạng một trường hợp dương tính được chọn ngẫu nhiên cao hơn một trường hợp âm tính được chọn ngẫu nhiên.
- Khả năng phân tách (Separability): AUC đo lường mức độ mà mô hình phân biệt giữa các lớp (ví dụ: "chó" so với "mèo"). Khả năng phân tách càng cao thì dự đoán càng tốt.
- Tính bất biến của ngưỡng (Threshold Invariance): Không giống như F1-score, vốn phụ thuộc vào một điểm cắt cụ thể, AUC cung cấp một cái nhìn tổng quan rộng về chất lượng của mô hình.
- Tính bất biến của thang đo (Scale Invariance): Nó đo lường mức độ xếp hạng các dự đoán thay vì các giá trị xác suất tuyệt đối của chúng.
Link to this sectionCác ứng dụng trong thực tế#
AUC là chỉ số được ưu tiên trong các ngành xử lý việc ra quyết định quan trọng và tập dữ liệu mất cân bằng, nơi một lớp hiếm gặp hơn đáng kể so với lớp kia.
-
Chẩn đoán y tế: Trong lĩnh vực AI trong chăm sóc sức khỏe, các mô hình được huấn luyện để xác định các bệnh lý từ phân tích hình ảnh y tế. Ví dụ, một mô hình phát hiện các khối u hiếm gặp phải ưu tiên độ nhạy (sensitivity). AUC cao đảm bảo rằng hệ thống gán điểm rủi ro cao hơn một cách đáng tin cậy cho các bệnh nhân thực tế so với những cá nhân khỏe mạnh, giúp giảm thiểu các trường hợp âm tính giả nguy hiểm.
-
Phát hiện gian lận tài chính: Các tổ chức tài chính sử dụng AI trong tài chính để phát hiện các giao dịch gian lận. Vì các giao dịch hợp lệ nhiều hơn đáng kể so với các giao dịch gian lận, một mô hình có thể đạt độ chính xác 99% chỉ bằng cách gọi mọi thứ là "hợp lệ". AUC ngăn chặn điều này bằng cách đánh giá mức độ mô hình phân tách các nỗ lực gian lận thực tế khỏi hành vi bình thường, bất kể sự phân bổ lớp như thế nào.
Link to this sectionPhân biệt AUC với các chỉ số liên quan#
Việc phân biệt AUC với các thông tin chi tiết về đánh giá mô hình khác là rất quan trọng để chọn đúng công cụ cho dự án của bạn.
- AUC so với Độ chính xác (Accuracy): Độ chính xác chỉ đơn giản là tỷ lệ dự đoán đúng trên tổng số dự đoán. Trên các tập dữ liệu bị lệch cao, độ chính xác có thể cao một cách sai lệch. AUC có khả năng chống lại sự mất cân bằng lớp, cung cấp đánh giá trung thực hơn về hiệu suất của bộ phân loại.
- AUC so với Precision-Recall: Trong khi ROC-AUC là tiêu chuẩn cho các kết quả cân bằng, Diện tích dưới đường cong Precision-Recall (AUPRC) thường được ưu tiên khi lớp "dương tính" cực kỳ hiếm và các kết quả dương tính giả là mối quan tâm chính.
- AUC so với mAP: Trong các tác vụ phát hiện đối tượng sử dụng các mô hình như YOLO26, chỉ số tiêu chuẩn là Mean Average Precision (mAP). Mặc dù mAP có khái niệm tương tự—tính toán diện tích dưới đường cong Precision-Recall qua các ngưỡng Giao trên Hợp (IoU) khác nhau—AUC đề cập nghiêm ngặt đến đường cong ROC trong phân loại nhị phân hoặc đa lớp.
Link to this sectionVí dụ về mã#
Ví dụ sau đây minh họa cách tải một mô hình phân loại YOLO26 đã được huấn luyện trước và chạy quy trình xác thực. Mặc dù các mô hình YOLO chủ yếu báo cáo độ chính xác top-1 và top-5, quy trình xác thực tạo ra dữ liệu dự đoán cần thiết để phân tích các chỉ số dựa trên đường cong.
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}")Để quản lý vòng đời toàn diện, bao gồm gán nhãn tập dữ liệu và huấn luyện trên đám mây nơi các chỉ số này được trực quan hóa tự động, các nhà phát triển có thể sử dụng Ultralytics Platform. Điều này đơn giản hóa quy trình giải thích các chỉ số phức tạp như AUC mà không cần tính toán thủ công.






