Phân loại: ROC và AUC

Phần trước đã trình bày một tập hợp các chỉ số mô hình, tất cả đều được tính toán ở một giá trị ngưỡng phân loại duy nhất. Tuy nhiên, nếu muốn đánh giá chất lượng của một mô hình trên tất cả các ngưỡng có thể, bạn cần có các công cụ khác.

Đường cong đặc trưng hoạt động của bộ thu (ROC)

Đường cong ROC là hình ảnh trực quan về hiệu suất của mô hình trên tất cả các ngưỡng. Phiên bản dài của tên, đặc tính hoạt động của bộ thu, là một phần còn lại của công nghệ phát hiện radar trong Thế chiến II.

Đường cong ROC được vẽ bằng cách tính tỷ lệ dương tính thực (TPR) và tỷ lệ dương tính giả (FPR) ở mọi ngưỡng có thể (trong thực tế, ở các khoảng thời gian đã chọn), sau đó lập biểu đồ TPR trên FPR. Một mô hình hoàn hảo, ở một ngưỡng nào đó có TPR là 1.0 và FPR là 0.0, có thể được biểu thị bằng một điểm tại (0, 1) nếu tất cả các ngưỡng khác bị bỏ qua hoặc bằng cách sau:

Hình 1. Biểu đồ TPR (trục y) so với FPR (trục x) cho thấy hiệu suất của một mô hình hoàn hảo: một đường từ (0,1) đến (1,1).
Hình 1. ROC và AUC của một mô hình hoàn hảo giả định.

Diện tích dưới đường cong (AUC)

Diện tích dưới đường cong ROC (AUC) đại diện cho xác suất mô hình, nếu được cung cấp một ví dụ dương tính và âm tính được chọn ngẫu nhiên, sẽ xếp hạng dương tính cao hơn âm tính.

Mô hình hoàn hảo ở trên, chứa một hình vuông có các cạnh dài 1, có diện tích dưới đường cong (AUC) là 1.0. Điều này có nghĩa là có 100% khả năng mô hình sẽ xếp hạng chính xác một ví dụ dương tính được chọn ngẫu nhiên cao hơn một ví dụ âm tính được chọn ngẫu nhiên. Nói cách khác, khi xem xét mức độ phân tán của các điểm dữ liệu bên dưới, AUC cho biết xác suất mô hình sẽ đặt một hình vuông được chọn ngẫu nhiên ở bên phải một hình tròn được chọn ngẫu nhiên, không phụ thuộc vào vị trí đặt ngưỡng.

Dòng dữ liệu tiện ích không có thanh trượt

Nói một cách cụ thể hơn, một bộ phân loại thư rác có AUC là 1.0 luôn gán cho một email rác ngẫu nhiên có nhiều khả năng là thư rác hơn một email hợp lệ ngẫu nhiên. Việc phân loại thực tế của từng email phụ thuộc vào ngưỡng mà bạn chọn.

Đối với một bộ phân loại nhị phân, một mô hình hoạt động chính xác như các dự đoán ngẫu nhiên hoặc tung đồng xu có ROC là một đường chéo từ (0,0) đến (1,1). AUC là 0,5, thể hiện xác suất 50% để xếp hạng chính xác một ví dụ ngẫu nhiên về ví dụ tích cực và ví dụ tiêu cực.

Trong ví dụ về trình phân loại thư rác, trình phân loại thư rác có AUC là 0,5 chỉ gán xác suất cao hơn một nửa cho một email rác ngẫu nhiên so với một email hợp lệ ngẫu nhiên.

Hình 2. Biểu đồ TPR (trục y) so với FPR (trục x) cho thấy hiệu suất của một trình đoán ngẫu nhiên 50-50: một đường chéo từ (0,0) đến (1,1).
Hình 2. ROC và AUC của các lần đoán hoàn toàn ngẫu nhiên.

(Không bắt buộc, nâng cao) Đường cong độ chính xác-độ hồi quy

AUC và ROC hoạt động hiệu quả khi so sánh các mô hình khi tập dữ liệu được cân bằng gần như giữa các lớp. Khi tập dữ liệu không cân bằng, các đường cong độ chính xác-độ hồi quy (PRC) và diện tích bên dưới các đường cong đó có thể cung cấp hình ảnh trực quan so sánh hiệu suất mô hình tốt hơn. Đường cong độ chính xác-độ hồi quy được tạo bằng cách vẽ độ chính xác trên trục y và độ hồi quy trên trục x trên tất cả các ngưỡng.

Ví dụ về đường cong độ chính xác-độ hồi quy với đường cong lồi xuống từ (0,1)
            đến (1,0)

AUC và ROC để chọn mô hình và ngưỡng

AUC là một chỉ số hữu ích để so sánh hiệu suất của hai mô hình khác nhau, miễn là tập dữ liệu được cân bằng gần như nhau. Mô hình có diện tích lớn hơn dưới đường cong thường là mô hình tốt hơn.

Hình 3.a. Biểu đồ ROC/AUC của một mô hình có AUC=0,65. Hình 3.b. Biểu đồ ROC/AUC của một mô hình có AUC=0,93.
Hình 3. ROC và AUC của hai mô hình giả định. Đường cong ở bên phải, với AUC lớn hơn, thể hiện mô hình tốt hơn trong hai mô hình.

Các điểm trên đường cong ROC gần nhất với (0,1) thể hiện phạm vi ngưỡng hoạt động hiệu quả nhất cho mô hình nhất định. Như đã thảo luận trong các phần Ngưỡng, Ma trận nhầm lẫnChọn chỉ số và đánh đổi, ngưỡng mà bạn chọn phụ thuộc vào chỉ số quan trọng nhất đối với trường hợp sử dụng cụ thể. Hãy xem xét các điểm A, B và C trong sơ đồ sau, mỗi điểm đại diện cho một ngưỡng:

Hình 4. Đường cong ROC của AUC=0,84 cho thấy 3 điểm trên phần lồi của đường cong gần nhất với (0,1) được gắn nhãn A, B, C theo thứ tự.
Hình 4. Ba điểm được gắn nhãn đại diện cho các ngưỡng.

Nếu kết quả dương tính giả (cảnh báo giả) gây ra tổn thất lớn, bạn nên chọn một ngưỡng có FPR thấp hơn, chẳng hạn như ngưỡng tại điểm A, ngay cả khi TPR giảm. Ngược lại, nếu kết quả dương tính giả có chi phí thấp và kết quả âm tính giả (bỏ lỡ kết quả dương tính thực) có chi phí cao, thì ngưỡng cho điểm C (tối đa hoá TPR) có thể được ưu tiên. Nếu chi phí gần như tương đương, điểm B có thể mang lại sự cân bằng tốt nhất giữa TPR và FPR.

Dưới đây là đường cong ROC cho dữ liệu mà chúng ta đã thấy trước đó:

Bài tập: Kiểm tra mức độ hiểu bài

Trong thực tế, các đường cong ROC ít đều đặn hơn nhiều so với hình minh hoạ ở trên. Mô hình nào sau đây, được biểu thị bằng đường cong ROC và AUC, có hiệu suất tốt nhất?
Đường cong ROC uốn cong lên trên rồi sang phải từ (0,0) đến (1,1). Đường cong này có AUC là 0,77.
Mô hình này có AUC cao nhất, tương ứng với hiệu suất tốt nhất.
Đường cong ROC gần giống một đường thẳng từ (0,0) đến (1,1), với một vài đường ngoằn ngoèo. Đường cong này có AUC là 0,508.
Đường cong ROC hình zig-zag lên và sang phải từ (0,0) đến (1,1).
           Đường cong này có AUC là 0,623.
Đường cong ROC uốn cong sang phải rồi lên trên từ (0,0) đến (1,1). Đường cong này có AUC là 0,31.
Mô hình nào sau đây hoạt động kém hơn so với cơ hội?
Đường cong ROC uốn cong sang phải rồi lên trên từ (0,0) đến (1,1). Đường cong này có AUC là 0,32.
Mô hình này có AUC thấp hơn 0,5, nghĩa là mô hình này hoạt động kém hơn so với cơ hội.
Đường cong ROC gần giống một đường thẳng từ (0,0) đến (1,1), với một vài đường ngoằn ngoèo. Đường cong này có AUC là 0,508.
Mô hình này hoạt động hiệu quả hơn một chút so với cơ hội.
Đường cong ROC là một đường thẳng chéo từ (0,0) đến (1,1). Đường cong có AUC là 0,5.
Mô hình này hoạt động giống như cơ hội.
Đường cong ROC bao gồm hai đường vuông góc: một đường dọc từ (0,0) đến (0,1) và một đường ngang từ (0,1) đến (1,1).
      Đường cong này có AUC là 1.0.
Đây là một thuật toán phân loại hoàn hảo giả định.

(Không bắt buộc, nâng cao) Câu hỏi thưởng

Bạn có thể thực hiện thay đổi nào sau đây đối với mô hình kém hơn so với cơ hội trong câu hỏi trước để mô hình đó hoạt động hiệu quả hơn so với cơ hội?
Đảo ngược các giá trị dự đoán, vì vậy, giá trị dự đoán 1 sẽ trở thành 0 và giá trị dự đoán 0 sẽ trở thành 1.
Nếu một bộ phân loại nhị phân đặt các ví dụ vào các lớp không chính xác thường xuyên hơn so với cơ hội, thì việc chuyển đổi nhãn lớp sẽ ngay lập tức giúp dự đoán của bộ phân loại tốt hơn so với cơ hội mà không cần phải huấn luyện lại mô hình.
Luôn dự đoán lớp âm.
Việc này có thể cải thiện hiệu suất hơn so với cơ hội hoặc không. Ngoài ra, như đã thảo luận trong phần Độ chính xác, đây không phải là một mô hình hữu ích.
Luôn dự đoán lớp dương tính.
Việc này có thể cải thiện hiệu suất hơn so với cơ hội hoặc không. Ngoài ra, như đã thảo luận trong phần Độ chính xác, đây không phải là một mô hình hữu ích.

Hãy tưởng tượng một tình huống mà bạn nên cho phép một số email rác vào hộp thư đến thay vì gửi email quan trọng cho công việc vào thư mục thư rác. Bạn đã đào tạo một bộ phân loại thư rác cho trường hợp này, trong đó lớp dương là thư rác và lớp âm là không phải thư rác. Bạn nên chọn điểm nào sau đây trên đường cong ROC cho bộ phân loại của mình?

Đường cong ROC của AUC=0,84 cho thấy 3 điểm trên phần lồi của đường cong gần với (0,1). Điểm A nằm ở khoảng (0,25, 0,75). Điểm B nằm ở khoảng (0,30, 0,90) và là điểm giúp tối đa hoá TPR trong khi giảm thiểu FPR. Điểm C nằm ở khoảng (0,4, 0,95).
Điểm A
Trong trường hợp sử dụng này, tốt hơn là bạn nên giảm thiểu kết quả dương tính giả, ngay cả khi kết quả dương tính thực cũng giảm.
Điểm B
Ngưỡng này giúp cân bằng số kết quả dương tính thực và dương tính giả.
Điểm C
Ngưỡng này giúp tăng tối đa số email chính xác (gắn cờ nhiều thư rác hơn) nhưng cũng làm tăng số email dương tính giả (nhiều email hợp lệ hơn bị gắn cờ là thư rác).