Confusion matrix trong Machine Learning là một công cụ quan trọng để đánh giá hiệu suất của các mô hình phân loại. Để hiểu rõ hơn, hãy tưởng tượng bạn đang chơi trò chơi phân loại các loại động vật như hổ, sư tử, và báo. Bạn có một mô hình AI (trí tuệ nhân tạo) để giúp bạn phân loại động vật dựa trên hình ảnh.
- True Positive (TP): Đây là khi mô hình của bạn dự đoán đúng loài động vật. Ví dụ, nếu mô hình dự đoán một con hổ là hổ, đây là một True Positive.
- True Negative (TN): Đây là khi mô hình dự đoán đúng việc không phải loài động vật. Nếu mô hình nói con báo không phải là sư tử, đây là một True Negative.
- False Positive (FP): Đây là khi mô hình dự đoán sai. Ví dụ, nếu mô hình cho rằng một con báo là sư tử, nhưng thực tế không phải, đây là một False Positive.
- False Negative (FN): Đây là khi mô hình của bạn bỏ lỡ. Ví dụ, nếu mô hình nói một con sư tử không phải sư tử, đây là một False Negative.
Giả sử bạn có một bức tranh động vật chứa 100 con động vật. Trong đó có 10 con hổ, 20 con sư tử và 70 con báo. Bạn sử dụng mô hình AI của mình để phân loại chúng.
Nếu mô hình của bạn nhận diện đúng 8 con hổ, 18 con sư tử và 60 con báo, thì confusion matrix của bạn sẽ như sau:
Thực tế | Hổ | Sư tử | Báo |
---|---|---|---|
Dự đoán Hổ | 8 | 0 | 2 |
Dự đoán Sư tử | 2 | 18 | 0 |
Dự đoán Báo | 0 | 2 | 60 |
Trong bảng này:
- Dòng "Dự đoán Hổ" (Predicted Tiger): Có 8 con hổ được dự đoán đúng là hổ, 2 con được dự đoán sai thành báo.
- Dòng "Dự đoán Sư tử" (Predicted Lion): Có 2 con sư tử được dự đoán sai thành hổ, và 18 con được dự đoán đúng là sư tử.
- Dòng "Dự đoán Báo" (Predicted Leopard): Tất cả 60 con báo được dự đoán đúng là báo, không có lỗi dự đoán nào.
Từ confusion matrix này, bạn có thể tính toán các chỉ số như Precision và Recall. Precision cho biết trong các dự đoán là hổ (TP + FP), bao nhiêu là thực sự là hổ. Recall là tỷ lệ giữa số lượng hổ mà mô hình dự đoán đúng (TP) và tổng số hổ có thực trong mô hình bạn xây dựng.
Precision (Chính xác):
- Precision của lớp Hổ = TP_Hổ / (TP_Hổ + FP_Hổ) = 8 / (8 + 2) = 8 / 10 = 0.8
- Precision của lớp Sư tử = TP_Sư tử / (TP_Sư tử + FP_Sư tử) = 18 / (18 + 2) = 18 / 20 = 0.9
- Precision của lớp Báo = TP_Báo / (TP_Báo + FP_Báo) = 60 / (60 + 2) = 60 / 62 ≈ 0.968
Recall (Độ nhớ):
- Recall của lớp Hổ = TP_Hổ / (TP_Hổ + FN_Hổ) = 8 / (8 + 0) = 8 / 8 = 1
- Recall của lớp Sư tử = TP_Sư tử / (TP_Sư tử + FN_Sư tử) = 18 / (18 + 2) = 18 / 20 = 0.9
- Recall của lớp Báo = TP_Báo / (TP_Báo + FN_Báo) = 60 / (60 + 0) = 60 / 60 = 1
Việc sử dụng confusion matrix giúp bạn hiểu rõ hơn về hiệu suất của mô hình phân loại và giải quyết các vấn đề như dự đoán sai hay bỏ lỡ.