Các phương pháp đánh giá mô hình machine learning năm 2024

Khi xây dựng một mô hình Machine Learning, việc đánh giá hiệu suất của mô hình là rất quan trọng. Đánh giá giúp chúng ta biết liệu mô hình đã hoạt động hiệu quả hay...

Khi xây dựng một mô hình Machine Learning, việc đánh giá hiệu suất của mô hình là rất quan trọng. Đánh giá giúp chúng ta biết liệu mô hình đã hoạt động hiệu quả hay không và so sánh khả năng của các mô hình khác nhau. Trong bài viết này, tôi sẽ giới thiệu các phương pháp đánh giá hiệu suất của các mô hình phân lớp.

1. Giới thiệu

Phương pháp đánh giá mô hình phân lớp thường dựa trên dữ liệu kiểm thử (test data). Chúng ta so sánh giữa kết quả dự đoán của mô hình với nhãn thực tế của dữ liệu để đánh giá hiệu suất. Các phương pháp đánh giá thông thường là: accuracy score, confusion matrix, ROC curve, Area Under the Curve, Precision và Recall, F1-score, Top R error, v.v.

Trong phần này, tôi sẽ trình bày về accuracy score, confusion matrix, ROC curve, và Area Under the Curve. Các phương pháp khác sẽ được trình bày trong phần tiếp theo.

2. Accuracy

Accuracy (độ chính xác) là phương pháp đánh giá đơn giản và thường được sử dụng nhất. Độ chính xác được tính bằng tỉ lệ giữa số điểm dữ liệu được dự đoán đúng và tổng số điểm dữ liệu trong tập kiểm thử.

Ví dụ, trong bài toán có 3 lớp dữ liệu được gán nhãn là 0, 1, 2, chúng ta có một tập kiểm thử gồm 10 điểm dữ liệu. Kết quả dự đoán của mô hình cho các điểm này là [0, 1, 0, 2, 1, 1, 0, 2, 1, 2]. Ta có thể đếm được có 6 điểm dữ liệu được dự đoán đúng trên tổng số 10 điểm. Vậy tỷ lệ độ chính xác của mô hình là 0.6 (hoặc 60%).

Độ chính xác này có giá trị từ 0 đến 1. Đối với bài toán với 3 lớp dữ liệu, độ chính xác nhỏ nhất có thể đạt được là 1/3, khi tất cả các điểm được dự đoán thuộc vào một lớp nào đó.

3. Confusion matrix

Confusion matrix là một phương pháp đánh giá mô hình phân lớp có khả năng cung cấp thông tin chi tiết hơn về việc các điểm dữ liệu được phân loại đúng/sai như thế nào.

Confusion matrix thể hiện số lượng điểm dữ liệu thực sự thuộc vào một lớp và được dự đoán thuộc vào một lớp khác. Ma trận này có kích thước bằng số lượng lớp dữ liệu và giá trị tại hàng thứ i, cột thứ j chính là số lượng điểm thuộc lớp i mà lại bị dự đoán là thuộc lớp j.

Ví dụ, ta có một bộ dữ liệu với 3 lớp và tập kiểm thử gồm 10 điểm dữ liệu. Confusion matrix được tạo bằng cách đếm số lượng điểm thực sự thuộc lớp i mà được dự đoán thuộc lớp j.

Confusion matrix được biểu diễn bằng màu sắc để hiển thị rõ ràng hơn. Ô có màu đậm thể hiện các giá trị cao. Một mô hình tốt sẽ cho ra một confusion matrix có các phần tử trên đường chéo chính có giá trị lớn, các phần tử còn lại có giá trị nhỏ. Điều này thể hiện rằng các điểm dữ liệu được phân loại đúng đã được phân loại chính xác.

4. True/False Positive/Negative

True Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN) là các đại lượng quan trọng trong đánh giá hiệu suất của mô hình phân lớp.

TP là số lượng điểm thuộc lớp positive mà được dự đoán đúng là positive.

FP là số lượng điểm thuộc lớp negative mà đã bị dự đoán nhầm thành positive.

TN là số lượng điểm thuộc lớp negative mà được dự đoán đúng là negative.

FN là số lượng điểm thuộc lớp positive mà đã bị dự đoán nhầm thành negative.

Các phép đo True Positive Rate (TPR), False Negative Rate (FNR), False Positive Rate (FPR), True Negative Rate (TNR) được tính để đánh giá hiệu suất của mô hình.

5. Precision và Recall

Precision (độ chính xác) và Recall (độ bao phủ) thường được sử dụng trong các bài toán phân loại khi kích thước các lớp dữ liệu khác nhau.

Precision là tỷ lệ số điểm True Positive trong số những điểm được dự đoán là positive (TP + FP).

Recall là tỷ lệ số điểm True Positive trong số những điểm thực sự là positive (TP + FN).

F1-score là trung bình điều hòa của Precision và Recall và được sử dụng để đánh giá hiệu suất của mô hình.

6. Tóm tắt

Phương pháp đánh giá hiệu suất của hệ thống phân lớp là quan trọng để biết liệu mô hình hoạt động hiệu quả hay không. Accuracy score, confusion matrix, ROC curve, Precision và Recall, F1-score là các phương pháp phổ biến được sử dụng để đánh giá mô hình phân lớp.

Để đá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.

Các phương pháp đánh giá mô hình machine learning năm 2024

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:

Các phương pháp đánh giá mô hình machine learning năm 2024

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).

Các phương pháp đánh giá mô hình machine learning năm 2024

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ế ?

Các phương pháp đánh giá mô hình machine learning năm 2024

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 ?

Các phương pháp đánh giá mô hình machine learning năm 2024

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

Các phương pháp đánh giá mô hình machine learning năm 2024

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ả FP và FN để 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:

Các phương pháp đánh giá mô hình machine learning năm 2024

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.

Các phương pháp đánh giá mô hình machine learning năm 2024

𝛽 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.