Skip to content

ĐÁNH GIÁ HIỆU NĂNG CỦA MÔ HÌNH PHÂN LỚP TRONG MACHINE LEARNING

ĐÁNH GIÁ HIỆU NĂNG CỦA MÔ HÌNH PHÂN LỚP TRONG MACHINE LEARNING

Để đánh giá hiệu năng của một mô hình phân lớp trong Machine Learning (ML) chúng ta thường dùng độ chính xác (Accuracy) của kết quả dự đoán, nhưng chỉ với chỉ số này là chưa đủ để đánh giá một mô hình. Chúng ta sẽ cùng tìm hiểu về một số chỉ số như Confusion matrix, Precision, Recall, F1 score để có cái nhìn trực quan hơn về hiệu quả của mô hình.

Confusion matrix

Là một ma trận 2×2 đối với bài toán Phân lớp nhị phân (Binary classification) với nhãn thực tế ở một trục và trục còn lại là nhãn dự đoán.

image

Confusion matrix

Ví dụ:

Một mô hình phát hiện khối u ở người (có/ không). Dữ liệu kiểm tra (test) bao gồm của 100 người, ta có ma trận:

image

Confusion matrix của bài toán phát hiện khối u

True Positive (TP) – Mô hình dự đoán những người này có bệnh và những người này thực sự có bệnh. 10 người có bệnh được dự đoán là có bệnh.

True Negative (TN) – Mô hình dự đoán những người này không có bệnh và những người này thực sự không có bệnh. 60 người không có bệnh được dự đoán là không có bệnh

False Positive (FP) – Mô hình dự đoán những người này có bệnh nhưng những người này lại thực sự không có bệnh. 22 người không có bệnh được dự đoán là có bệnh. FP còn được gọi là Lỗi loại I (Type I error).

False Negative (FN) – Mô hình dự đoán những người này không có bệnh nhưng những người này lại thực sự có bệnh. 8 người có bệnh được dự đoán là không có bệnh. FN còn được gọi là Lỗi loại II (Type II error).

Với những thông số trên chúng ta sẽ tính được các thông số True Positive Rate (TPR), False Positive Rate (FPR), True Negative Rate (TNR), False Negative Rate (FNR).

image

Thậm chí với bộ dữ liệu không cân bằng (imbalanced data), chúng ta cũng có thể biết được mô hình của chúng ta có đang hoạt động tốt hay không. Vì một mô hình tốt sẽ có thông số TPR và FPR cao trong khi TNR và FNR thì phải thấp nhất có thể.

Precision, Recall

Với Confusion Matrix chúng ta sẽ tính được 2 thông số là Precision và Recall.

Precision: là tỷ lệ giữa những người thật sự có bệnh so với tất cả những người được dự đoán là có bệnh. Nói cách khác, có bao nhiêu dự đoán Positive là thật sự True trong thực tế ?

image

Recall: trong những người thực sự có bệnh, bao nhiêu trong số họ được dự đoán đúng bởi mô hình ? Nói cách khác, có bao nhiêu dự đoán Positive đúng là do mô hình đưa ra ?

image

Ví dụ: Bài toán Phát hiện gian lận qua thẻ tín dụng (Credit card fraud detection)

image

Confusion matrix cho bài toán Phát hiện gian lận qua thẻ tín dụng

Chúng ta không muốn để trót lọt bất cứ một giao dịch gian lận nào nên chúng ta muốn FN thấp nhất có thể. Trong trường hợp này chúng ta có thể chấp nhận thông số Precision thấp một chút và Recall cao nhất có thể. Tương tự với các vấn đề về y tế, chúng ta cũng không muốn bỏ sót bệnh nhân nào vì thế chúng ta sẽ ưu tiên Recall phải cao.

F1-score

Chúng ta thấy rằng cả Precision và Recall đều quan trọng, vì thế F1-score ra đời như một chỉ số trung hòa 2 thông số này. Thông số này dùng cả FPFN để tính nên vẫn đánh giá tốt đối với bộ dữ liệu bị mất cân bằng.

Với F1-score, chúng ta chỉ cần quan tâm đến một chỉ số duy nhất (thay vì hai – Precision và Recall). F1-score được tính thông qua Precision và Recall bởi công thức:

image

F1-core sử dụng cùng trọng số đối với cả Precision và Recall.

Chúng ta cũng có thể tạo ra F1-score có độ ưu tiên đối với một trong hai thông số Precision và Recall tùy vào bài toán mà ta đang làm.

image

𝛽 thể hiện Recall quan trọng hơn Precision bao nhiêu lần. Nếu Recall quan trọng gấp 2 lần Precision thì 𝛽 sẽ là 2.

Kết luận

Với các thông số như Confusion Matrix, Precision, Recall và F1-score chúng ta sẽ có cái nhìn trực quan hơn về mức độ hiệu quả của mô hình so với chỉ dựa vào thông số Accuracy. Những thông số này rất quan trọng trong việc đánh giá hiệu quả các bài toán phân lớp, đặc biệt là với bài toán bị mất cân bằng dữ liệu.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *