Ngưỡng và ma trận nhầm lẫn

Giả sử bạn có một mô hình hồi quy logistic để phát hiện email rác. Mô hình này dự đoán một giá trị từ 0 đến 1, thể hiện xác suất một email nhất định là thư rác. Giá trị dự đoán là 0,50 có nghĩa là email có 50% khả năng là thư rác, giá trị dự đoán là 0,75 có nghĩa là email có 75% khả năng là thư rác, v.v.

Bạn muốn triển khai mô hình này trong một ứng dụng email để lọc thư rác vào một thư mục thư riêng. Tuy nhiên, để làm như vậy, bạn cần chuyển đổi đầu ra số thô của mô hình (ví dụ: 0.75) thành một trong hai danh mục: "thư rác" hoặc "không phải nội dung rác".

Để thực hiện lượt chuyển đổi này, bạn chọn một xác suất của ngưỡng, được gọi là ngưỡng phân loại. Sau đó, các ví dụ có xác suất trên giá trị ngưỡng sẽ được gán cho lớp dương, là lớp mà bạn đang kiểm thử (tại đây, spam). Ví dụ có xác suất thấp hơn được gán cho lớp âm, lớp thay thế (tại đây, not spam).

Nhấp vào đây để biết thêm thông tin chi tiết về ngưỡng phân loại

Bạn có thể thắc mắc: điều gì sẽ xảy ra nếu điểm số dự đoán bằng ngưỡng phân loại (ví dụ: điểm số là 0,5 trong đó ngưỡng phân loại cũng là 0,5)? Việc xử lý trường hợp này phụ thuộc vào cách triển khai cụ thể được chọn cho mô hình phân loại. Thư viện Keras dự đoán lớp âm nếu điểm số và ngưỡng bằng nhau, nhưng các công cụ/khung khác có thể xử lý trường hợp này theo cách khác.

Giả sử mô hình chấm điểm một email là 0,99, dự đoán email đó có 99% khả năng là thư rác và một email khác là 0,51, dự đoán email đó có 51% khả năng là thư rác. Nếu bạn đặt ngưỡng phân loại là 0, 5 thì mô hình này sẽ phân loại cả hai email là thư rác. Nếu bạn đặt ngưỡng là 0,95, thì chỉ email có điểm số 0,99 mới được phân loại là thư rác.

Mặc dù 0, 5 có vẻ là một ngưỡng trực quan, nhưng bạn không nên để chi phí của một kiểu phân loại sai lớn hơn loại kia hoặc nếu các lớp không cân bằng. Nếu chỉ 0, 01% email là thư rác hoặc nếu việc phân loại nhầm email hợp lệ còn tệ hơn việc để thư rác vào hộp thư đến, thì việc đánh dấu mọi email mà mô hình xem có ít nhất 50% khả năng là thư rác là thư rác sẽ dẫn đến kết quả không mong muốn.

Ma trận nhầm lẫn

Điểm xác suất không phải là thực tế hoặc sự thật cơ bản. Có 4 kết quả có thể xảy ra cho mỗi kết quả của một thuật toán phân loại nhị phân. Đối với ví dụ về thuật toán phân loại thư rác, nếu bạn trình bày thông tin thực tế dưới dạng các cột và thông tin dự đoán của mô hình dưới dạng các hàng, thì kết quả sẽ là bảng sau (được gọi là ma trận nhầm lẫn):

Dương tính thực tế Âm tính thực tế
Dự đoán dương Đúng dương tính (TP): Email vi phạm được phân loại chính xác là email vi phạm. Đây là những thư rác được tự động gửi vào thư mục thư rác. Sai dương tính (FP): Email không phải thư rác bị phân loại nhầm là thư rác. Đây là những email hợp lệ bị chuyển vào thư mục thư rác.
Tiêu cực theo dự đoán Tỷ lệ âm tính giả (FN): Email rác bị phân loại nhầm là không phải thư rác. Đây là những email rác không bị bộ lọc thư rác lọc ra và xâm nhập vào hộp thư đến. Không phải thư rác (TN): Email không phải thư rác được phân loại chính xác là không phải thư rác. Đây là những email hợp lệ được gửi trực tiếp vào hộp thư đến.

Lưu ý rằng tổng số trong mỗi hàng cho biết tất cả các giá trị dương được dự đoán (TP + FP) và tất cả các giá trị âm được dự đoán (FN + TN), bất kể giá trị hợp lệ. Trong khi đó, tổng số trong mỗi cột cho biết tất cả các giá trị dương thực (TP + FN) và tất cả các giá trị âm thực (FP + TN) bất kể cách phân loại mô hình.

Khi tổng số dương tính thực tế không gần với tổng số âm tính thực tế, tập dữ liệu sẽ bất cân bằng. Một thực thể của tập dữ liệu mất cân bằng có thể là một tập hợp hàng nghìn bức ảnh về mây, trong đó loại mây hiếm mà bạn quan tâm (ví dụ: mây xoáy) chỉ xuất hiện một vài lần.

Ảnh hưởng của ngưỡng đối với kết quả dương tính và âm tính thực sự cũng như giả

Các ngưỡng khác nhau thường dẫn đến số lượng kết quả dương tính thật và giả, cũng như kết quả âm tính đúng và sai. Video sau đây giải thích lý do dẫn đến việc này.

Hãy thử tự thay đổi ngưỡng.

Tiện ích này bao gồm 3 tập dữ liệu về đồ chơi:

  • Được tách biệt, trong đó các ví dụ tích cực và ví dụ tiêu cực thường được phân biệt rõ ràng, với hầu hết các ví dụ tích cực có điểm số cao hơn các ví dụ tiêu cực.
  • Không phân tách, trong đó nhiều ví dụ tích cực có điểm số thấp hơn ví dụ tiêu cực và nhiều ví dụ tiêu cực có điểm số cao hơn ví dụ tích cực.
  • Không cân bằng, chỉ chứa một vài ví dụ về lớp khẳng định.

Kiểm tra mức độ hiểu biết

1. Hãy tưởng tượng một mô hình phân loại trang web lừa đảo hoặc phần mềm độc hại, trong đó các trang web lừa đảo và phần mềm độc hại thuộc lớp được gắn nhãn 1 (đúng) và các trang web vô hại thuộc lớp được gắn nhãn 0 (sai). Mô hình này phân loại nhầm một trang web hợp lệ là phần mềm độc hại. Đây là gì?
Dương tính giả
Một ví dụ phủ định (trang web hợp pháp) đã bị phân loại nhầm thành một ví dụ khẳng định (trang web chứa phần mềm độc hại).
Dương tính thật
Kết quả dương tính thực là một trang web chứa phần mềm độc hại được phân loại chính xác là phần mềm độc hại.
Kết quả âm tính giả
Kết quả âm tính giả là một trang web độc hại bị phân loại không chính xác là trang web hợp pháp.
Âm tính thật
Trang web phủ định thực sự là trang web hợp lệ được phân loại chính xác là trang web hợp lệ.
2. Nhìn chung, điều gì sẽ xảy ra với số lượng kết quả dương tính giả khi ngưỡng phân loại tăng lên? Còn trường hợp dương tính thật thì sao? Thử nghiệm với thanh trượt ở trên.
Cả kết quả dương tính thật và dương tính giả đều giảm.
Khi ngưỡng tăng lên, mô hình có thể sẽ dự đoán ít kết quả dương tính hơn, cả kết quả dương tính thật và giả. Một bộ phân loại thư rác có ngưỡng là 0,9999 sẽ chỉ gắn nhãn một email là thư rác nếu bộ phân loại đó cho rằng khả năng phân loại là ít nhất 99,99%. Điều này có nghĩa là bộ phân loại đó rất ít có khả năng gắn nhãn nhầm một email hợp lệ, nhưng cũng có thể bỏ qua email rác thực sự.
Cả số dương tính đúng và dương tính giả đều tăng.
Sử dụng thanh trượt ở trên, hãy thử đặt ngưỡng là 0,1, sau đó kéo thanh trượt đó đến 0,9. Điều gì sẽ xảy ra với số lượng kết quả dương tính giả và dương tính thật?
Số lượng dương tính thật tăng lên. Số lượng kết quả dương tính giả giảm.
Sử dụng thanh trượt ở trên, hãy thử đặt ngưỡng là 0,1, sau đó kéo thanh trượt đó đến 0,9. Điều gì xảy ra với số lượng dương tính giả và dương tính thật?
3. Nhìn chung, điều gì sẽ xảy ra với số lượng kết quả âm tính giả khi ngưỡng phân loại tăng lên? Còn âm tính thực sự thì sao? Thử nghiệm với thanh trượt ở trên.
Cả số âm tính đúng và âm tính giả đều tăng.
Khi ngưỡng tăng lên, mô hình có thể sẽ dự đoán nhiều giá trị âm hơn tổng thể, cả giá trị âm đúng và sai. Ở ngưỡng rất cao, hầu hết email, cả thư rác và không phải thư rác, đều sẽ được phân loại là không phải thư rác.
Cả số âm tính thật và âm tính giả đều giảm.
Sử dụng thanh trượt ở trên, hãy thử đặt ngưỡng là 0,1, sau đó kéo thanh trượt đó đến 0,9. Điều gì sẽ xảy ra với số lượng âm tính giả và âm tính thật?
Số âm tính thật tăng lên. Giảm số lượng âm tính giả.
Sử dụng thanh trượt ở trên, hãy thử đặt ngưỡng là 0,1, sau đó kéo thanh trượt đó đến 0,9. Điều gì xảy ra với số lượng âm tính giả và âm tính thực?