Series: Machine Learning Fundamentals – Bài 13
Bạn vừa huấn luyện xong một mô hình Machine Learning.
Mô hình đã có thể đưa ra dự đoán.
Nhưng câu hỏi quan trọng nhất là:
Làm sao biết mô hình này thực sự tốt?
Nếu chỉ nhìn vào kết quả dự đoán, chúng ta rất khó đánh giá chất lượng của mô hình.
Vì vậy, trong Machine Learning, người ta sử dụng nhiều chỉ số đánh giá (Evaluation Metrics) để đo lường hiệu quả của mô hình dưới các góc nhìn khác nhau.
Accuracy có phải là tất cả?
Khi mới bắt đầu học Machine Learning, nhiều người thường chỉ quan tâm đến Accuracy.
Accuracy được tính bằng:
Số dự đoán đúng / Tổng số dự đoán
Ví dụ:
Một mô hình dự đoán đúng 950 trong 1.000 mẫu dữ liệu.
Accuracy = 95%
Nghe có vẻ rất tốt.
Nhưng liệu mô hình đó có thực sự đáng tin cậy?
Không hẳn.
Khi Accuracy đánh lừa chúng ta
Giả sử có bài toán phát hiện gian lận.
Trong 10.000 giao dịch:
- 9.900 giao dịch bình thường.
- 100 giao dịch gian lận.
Nếu mô hình luôn dự đoán:
“Không gian lận”
thì Accuracy vẫn đạt:
99%
Nhưng mô hình lại không phát hiện được bất kỳ giao dịch gian lận nào.
Đây là lý do Accuracy không phải lúc nào cũng là chỉ số phù hợp.
Confusion Matrix
Để hiểu mô hình hoạt động như thế nào, người ta thường bắt đầu bằng Confusion Matrix.
Đây là bảng so sánh giữa:
- Giá trị thực tế.
- Giá trị mô hình dự đoán.
Ví dụ:
| Thực tế Positive | Thực tế Negative | |
|---|---|---|
| Dự đoán Positive | TP | FP |
| Dự đoán Negative | FN | TN |
Trong đó:
- TP (True Positive): Dự đoán đúng trường hợp dương tính.
- FP (False Positive): Báo động nhầm.
- FN (False Negative): Bỏ sót trường hợp dương tính.
- TN (True Negative): Dự đoán đúng trường hợp âm tính.
Từ bốn giá trị này, chúng ta có thể tính nhiều chỉ số quan trọng khác.
Precision
Precision trả lời câu hỏi:
Trong số những trường hợp mô hình dự đoán là Positive, có bao nhiêu trường hợp thực sự đúng?
Công thức:
Precision = TP / (TP + FP)
Precision đặc biệt quan trọng khi:
- Phát hiện thư rác.
- Chẩn đoán bệnh.
- Phát hiện gian lận.
Bởi vì dự đoán nhầm có thể gây hậu quả lớn.
Recall
Recall trả lời câu hỏi:
Trong số tất cả các trường hợp Positive ngoài thực tế, mô hình phát hiện được bao nhiêu?
Công thức:
Recall = TP / (TP + FN)
Recall rất quan trọng khi:
- Phát hiện ung thư.
- Phát hiện cháy.
- Cảnh báo an ninh.
Trong các bài toán này, bỏ sót một trường hợp nguy hiểm còn nghiêm trọng hơn việc báo động nhầm.
F1-Score
Nếu chỉ nhìn Precision hoặc Recall, đôi khi chúng ta sẽ có cái nhìn chưa đầy đủ.
F1-Score là trung bình điều hòa giữa hai chỉ số này.
F1 = 2 × Precision × Recall
-----------------------
Precision + Recall
F1-Score thường được sử dụng khi dữ liệu mất cân bằng hoặc cần cân bằng giữa Precision và Recall.
ROC-AUC
Không phải mô hình nào cũng chỉ đưa ra kết quả “Có” hoặc “Không”.
Nhiều mô hình trả về xác suất.
Ví dụ:
- Khả năng khách hàng rời bỏ dịch vụ: 82%
- Khả năng email là spam: 91%
ROC Curve mô tả sự thay đổi giữa:
- True Positive Rate.
- False Positive Rate.
Trong khi đó:
AUC (Area Under Curve) đo diện tích dưới đường cong ROC.
Giá trị càng gần 1, mô hình càng có khả năng phân biệt hai nhóm dữ liệu.
Chỉ số nào nên sử dụng?
Không có chỉ số nào tốt nhất cho mọi bài toán.
| Bài toán | Chỉ số nên ưu tiên |
|---|---|
| Phân loại cân bằng | Accuracy |
| Phát hiện thư rác | Precision |
| Chẩn đoán bệnh | Recall |
| Dữ liệu mất cân bằng | F1-Score |
| So sánh nhiều mô hình | ROC-AUC |
Việc lựa chọn chỉ số phụ thuộc vào mục tiêu của bài toán và chi phí của từng loại sai số.
Một ví dụ thực tế
Giả sử một bệnh viện xây dựng mô hình phát hiện ung thư.
Nếu mô hình có:
- Accuracy: 98%
- Recall: 60%
Điều này có nghĩa là mô hình vẫn bỏ sót 40% bệnh nhân mắc bệnh.
Trong trường hợp này, một mô hình có Accuracy thấp hơn nhưng Recall cao hơn có thể là lựa chọn tốt hơn.
Đó là lý do các nhà khoa học dữ liệu không bao giờ chỉ nhìn vào Accuracy.
Quy trình đánh giá mô hình
Có thể tóm tắt quá trình như sau:
Huấn luyện mô hình
↓
Dự đoán trên tập Test
↓
Tạo Confusion Matrix
↓
Tính Accuracy
↓
Tính Precision
↓
Tính Recall
↓
Tính F1-Score
↓
Đánh giá ROC-AUC
↓
So sánh và lựa chọn mô hình
Kết luận
Đánh giá mô hình là bước không thể thiếu trong bất kỳ dự án Machine Learning nào.
Mỗi chỉ số như Accuracy, Precision, Recall, F1-Score hay ROC-AUC phản ánh một khía cạnh khác nhau về chất lượng mô hình.
Thay vì chỉ tập trung vào Accuracy, các nhà khoa học dữ liệu thường kết hợp nhiều chỉ số để hiểu rõ điểm mạnh, điểm yếu và lựa chọn mô hình phù hợp nhất với mục tiêu của bài toán.
Bài tiếp theo
Ở bài viết tiếp theo, MCNA Technology School sẽ cùng bạn tìm hiểu:
Overfitting và Underfitting là gì? Vì sao mô hình học quá nhiều hoặc quá ít đều là vấn đề?
Tác giả: Bùi Đình Tuyển – Data Analyst tại MCNA Technology School
📞 Hotline: 0939.866.825 (Mr. Minh Khang)
🌐 Website: mcna.vn
📍 Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B TT2 Văn Quán, Hà Đông
📍 TP.HCM: 50B Phan Tây Hồ, Cầu Kiệu

