Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Receiver Operating Characteristic (ROC) Curve

Đường cong đặc trưng hoạt động của bộ thu (ROC) biểu diễn tỷ lệ dương tính thật theo tỷ lệ dương tính giả tại mọi ngưỡng. Tìm hiểu cách đọc đường cong, AUC và mã nguồn.

Đường cong đặc tính hoạt động của bộ thu (ROC) là biểu đồ thể hiện khả năng phân tách hai lớp của bộ phân loại nhị phân ở mọi ngưỡng quyết định có thể. Đường cong biểu diễn tỷ lệ dương tính thật trên trục y so với tỷ lệ dương tính giả trên trục x, với một điểm cho mỗi ngưỡng áp dụng lên điểm số của model, nhờ đó một biểu đồ duy nhất thể hiện mọi sự đánh đổi giữa phát hiện ca dương tính và tạo báo động giả. Diện tích dưới đường cong, tức diện tích dưới đường cong (AUC), cô đọng biểu đồ đó thành một con số không phụ thuộc ngưỡng. Tên gọi bắt nguồn từ kỹ thuật radar trong Thế chiến II, khi chỉ số này đo khả năng phân biệt máy bay địch với nhiễu của các nhân viên vận hành bộ thu radar; sau đó phương pháp được ứng dụng rộng rãi trong y học, tâm lý học và machine learning (ML).

Cách xây dựng đường cong ROC#

Mỗi điểm trên đường cong được tạo từ một ma trận nhầm lẫn tính ở một ngưỡng:

  • Tỷ lệ dương tính thật (TPR), còn gọi là recall hoặc độ nhạy: TP / (TP + FN), tỷ lệ các trường hợp dương tính thực tế được model gắn cờ.
  • Tỷ lệ dương tính giả (FPR): FP / (FP + TN), tỷ lệ các trường hợp âm tính thực tế bị gắn cờ nhầm. FPR bằng 1 trừ độ đặc hiệu.

Quét ngưỡng từ cao xuống thấp sẽ vẽ đường cong từ (0, 0), khi không có gì bị gắn cờ, đến (1, 1), khi mọi thứ đều bị gắn cờ. Bộ phân loại xếp hạng mọi trường hợp dương tính cao hơn mọi trường hợp âm tính sẽ đi qua góc trên bên trái; model đoán ngẫu nhiên sẽ đi theo đường chéo, còn đường cong nằm dưới đường chéo cho thấy điểm số bị đảo ngược. AUC bằng xác suất một trường hợp dương tính được chọn ngẫu nhiên nhận điểm cao hơn một trường hợp âm tính được chọn ngẫu nhiên, vì vậy 0.5 tương ứng với ngẫu nhiên và 1.0 là phân tách hoàn hảo. Việc xây dựng đường cong đòi hỏi điểm số liên tục, chẳng hạn xác suất dự đoán hoặc giá trị độ tin cậy, vì nhãn 0/1 cứng chỉ cho một điểm duy nhất. Ví dụ sau huấn luyện bộ phân loại hồi quy logistic trên tập dữ liệu mất cân bằng và tính đường cong bằng roc_curve của scikit-learn:

import numpy as np
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score, roc_curve
from sklearn.model_selection import train_test_split

# Binary task where 10% of samples are positive
X, y = make_classification(n_samples=5000, weights=[0.9], class_sep=0.8, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=0)

# ROC analysis needs continuous scores, not hard 0/1 predictions
scores = LogisticRegression().fit(X_train, y_train).predict_proba(X_test)[:, 1]
fpr, tpr, thresholds = roc_curve(y_test, scores)
print(f"AUC: {roc_auc_score(y_test, scores):.3f}")

# Each threshold is one point on the curve: higher recall costs more false alarms
for target in (0.80, 0.95):
    i = np.argmax(tpr >= target)  # first point that reaches the target TPR
    print(f"Threshold {thresholds[i]:.2f}: TPR {tpr[i]:.2f}, FPR {fpr[i]:.2f}")

Model đạt AUC 0.963. Ở ngưỡng 0.44, model tìm được 82% trường hợp dương tính với FPR là 0.01; để đạt recall 95%, cần hạ ngưỡng xuống 0.02, khi đó FPR tăng vọt lên 0.26. Trên tập kiểm thử này gồm 130 trường hợp dương tính và 1.120 trường hợp âm tính, việc phát hiện thêm 18 trường hợp dương tính phải trả giá bằng 279 báo động giả.

Lựa chọn điểm vận hành#

Đường cong cho thấy chi phí của từng ngưỡng, còn ứng dụng quyết định mức chi phí nào có thể chấp nhận:

  • Sàng lọc y tế: Bỏ sót một khối u gây hậu quả nghiêm trọng hơn nhiều so với chụp kiểm tra tiếp theo, vì vậy công cụ sàng lọc hoạt động ở điểm TPR cao và chấp nhận nhiều dương tính giả hơn để bác sĩ chẩn đoán hình ảnh xem xét.
  • Phát hiện gian lận: Mỗi khoản thanh toán hợp lệ bị chặn đều gây phiền hà cho khách hàng, vì vậy ngân hàng chọn điểm phát hiện phần lớn giao dịch gian lận trong khi giữ FPR ở mức mà đội ngũ xét duyệt và khách hàng có thể chấp nhận.
  • Chi phí bằng nhau: Khi cả hai loại lỗi có chi phí như nhau, thống kê J của Youden, bằng TPR trừ FPR, chọn điểm xa đường chéo nhất về phía trên.

Các model phân loại Ultralytics YOLO26 trả về xác suất cho mọi lớp trong results[0].probs.data, tức các điểm số liên tục cần thiết cho phân tích ROC; do đó, thu thập xác suất của một lớp trên tập xác thực đã gắn nhãn sẽ tạo ra đường cong ROC một-với-phần-còn-lại cho lớp đó và một ngưỡng được chọn dựa trên chi phí triển khai.

Đường cong precision-recall biểu diễn precision theo recall thay vì TPR theo FPR. Vì TPR và FPR đều được tính trong phạm vi từng lớp, đường cong ROC giữ nguyên khi tỷ lệ trường hợp dương tính giảm, còn precision thì giảm. Khi trường hợp dương tính hiếm, như trong sàng lọc gian lận hoặc phát hiện bất thường, FPR nhỏ vẫn có thể tạo ra số báo động giả nhiều hơn số phát hiện đúng; một nghiên cứu trên PLOS ONE về tập dữ liệu mất cân bằng nhận thấy biểu đồ precision-recall hữu ích hơn trong trường hợp đó. Phát hiện đối tượng được đánh giá bằng đường cong precision-recall và độ chính xác trung bình (mAP) vì lý do tương tự: các vùng nền được tính là âm tính thật không có giới hạn, nên FPR không có mẫu số cố định.

  • Độ chính xác và điểm F1: Các con số đơn lẻ được đo ở một ngưỡng, trong khi đường cong ROC và AUC của đường cong tóm tắt mọi ngưỡng.
  • Phân loại ảnh nhiều lớp: Mỗi lớp có một đường cong ROC một-với-phần-còn-lại, và các AUC của từng lớp được tính trung bình thành điểm macro hoặc điểm có trọng số theo tỷ lệ xuất hiện; roc_auc_score của scikit-learn thực hiện việc này bằng multi_class="ovr".

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning