Receiver Operating Characteristic (ROC) Curve
Tìm hiểu cách sử dụng đường cong Receiver Operating Characteristic (ROC) để đánh giá các bộ phân loại nhị phân. Khám phá sự đánh đổi giữa TPR và FPR với Ultralytics YOLO26.
Đường cong Receiver Operating Characteristic (ROC) là một công cụ đồ họa cơ bản được sử dụng để đánh giá hiệu suất của các model phân loại nhị phân. Trong lĩnh vực machine learning (ML), nó trực quan hóa sự đánh đổi giữa độ nhạy (sensitivity) và độ đặc hiệu (specificity) của model trên tất cả các ngưỡng quyết định có thể. Khác với các chỉ số đơn lẻ như accuracy, vốn có thể gây hiểu lầm nếu tập dữ liệu bị mất cân bằng, đường cong ROC cung cấp cái nhìn toàn diện về cách trình phân loại hoạt động khi các tiêu chí xác định các trường hợp dương tính trở nên khắt khe hơn hoặc bớt khắt khe hơn. Hình ảnh trực quan này là thiết yếu đối với các kỹ sư sử dụng các kỹ thuật supervised learning để xác định điểm hoạt động tối ưu cho trường hợp sử dụng cụ thể của họ.
Link to this sectionGiải thích các trục và sự đánh đổi#
Để hiểu một đường cong ROC, cần phải xem xét hai tham số được vẽ tương quan với nhau: Tỷ lệ dương tính thật (TPR) và Tỷ lệ dương tính giả (FPR).
- Tỷ lệ dương tính thật (True Positive Rate - TPR): Thường được gọi là Recall hoặc độ nhạy, chỉ số này trên trục y đo lường tỷ lệ các quan sát dương tính thực tế mà model đã xác định chính xác. TPR cao có nghĩa là hệ thống hiếm khi bỏ sót mục tiêu.
- Tỷ lệ dương tính giả (False Positive Rate - FPR): Được vẽ trên trục x, chỉ số này đại diện cho tỷ lệ các trường hợp âm tính bị phân loại sai thành dương tính, còn được gọi là "báo động giả" (false alarm).
Đường cong này minh họa một mối quan hệ năng động: khi bạn hạ thấp ngưỡng confidence để thu thập nhiều trường hợp dương tính hơn (tăng TPR), bạn chắc chắn sẽ tăng rủi ro gắn cờ sai cho các trường hợp âm tính (tăng FPR). Một trình phân loại hoàn hảo sẽ đạt tới góc trên cùng bên trái của biểu đồ, cho thấy độ nhạy 100% và 0% báo động giả. Một model dự đoán ngẫu nhiên sẽ xuất hiện dưới dạng đường chéo từ góc dưới cùng bên trái lên góc trên cùng bên phải. Hiệu suất tổng thể thường được tóm tắt bằng Area Under the Curve (AUC), trong đó giá trị 1.0 đại diện cho sự hoàn hảo.
Link to this sectionCác ứng dụng trong thực tế#
Quyết định đặt ngưỡng ở đâu trên đường cong ROC phụ thuộc hoàn toàn vào chi phí của các lỗi trong một ứng dụng công nghiệp cụ thể.
-
Chẩn đoán y tế: Trong AI in healthcare, cụ thể là cho các tác vụ như phát hiện khối u trong medical image analysis, chi phí cho việc bỏ sót một trường hợp dương tính (âm tính giả) có khả năng đe dọa đến tính mạng. Do đó, các bác sĩ thường chọn ngưỡng tối đa hóa TPR, ngay cả khi nó dẫn đến FPR cao hơn, nghĩa là nhiều bệnh nhân khỏe mạnh hơn có thể ban đầu bị gắn cờ để kiểm tra thêm.
-
Phát hiện gian lận tài chính: Khi AI in finance được sử dụng để giám sát các giao dịch thẻ tín dụng, các ngân hàng phải cân bằng giữa tính bảo mật và trải nghiệm khách hàng. Nếu hệ thống quá nhạy (TPR cao), nó có thể chặn các thẻ hợp lệ (FPR cao), gây thất vọng cho người dùng. Các nhà phân tích sử dụng đường cong ROC để tìm ra ngưỡng cân bằng giúp bắt được hầu hết các hành vi gian lận trong khi vẫn giữ false positives ở mức tối thiểu có thể chấp nhận được.
Link to this sectionTạo xác suất cho phân tích ROC#
Để vẽ đường cong ROC, bạn cần các xác suất dự đoán thô thay vì chỉ các nhãn lớp cuối cùng. Ví dụ sau sử dụng model YOLO26 tiên tiến để tạo ra các điểm số phân loại.
from ultralytics import YOLO
# Load a pretrained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference to get probability distribution
results = model("bus.jpg")
# Access the probability score for the predicted class
# These continuous scores are required to calculate TPR/FPR at different thresholds
print(f"Top Class Index: {results[0].probs.top1}")
print(f"Confidence Score: {results[0].probs.top1conf:.4f}")Khi các xác suất này được thu thập cho một tập hợp xác thực, các nhà phát triển có thể sử dụng các thư viện như Scikit-learn để tính toán các điểm trên đường cong. Để quản lý các tập dữ liệu và theo dõi các chỉ số này theo thời gian, Ultralytics Platform cung cấp các công cụ tích hợp để đánh giá và triển khai model.
Link to this sectionROC so với các khái niệm liên quan#
Điều quan trọng là phải phân biệt đường cong ROC với các công cụ đánh giá khác:
- vs. Đường cong Precision-Recall (PR): Trong khi ROC vẽ TPR so với FPR, Precision-Recall curve vẽ Precision so với Recall. Đường cong PR thường được ưu tiên hơn khi tập dữ liệu bị mất cân bằng nghiêm trọng (ví dụ: phát hiện các điểm bất thường hiếm gặp), vì đường cong ROC đôi khi có thể mang lại cái nhìn quá lạc quan trong các kịch bản như vậy.
- vs. Confusion Matrix: Một confusion matrix cung cấp ảnh chụp nhanh về hiệu suất tại một ngưỡng cụ thể duy nhất. Ngược lại, đường cong ROC trực quan hóa hiệu suất trên tất cả các ngưỡng có thể, biến nó thành một công cụ rộng hơn để phân tích predictive modeling trước khi quy tắc quyết định cuối cùng được thiết lập.






