Precision, Recall là gì

Privacy & Cookies

This site uses cookies. By continuing, you agree to their use. Learn more, including how to control cookies.

Giả sử ta có bài toán nhị phân với hai lớp là positive và negative.

Xét hình dưới đây

Khi đó, Precision được định nghĩa là tỉ lệ số điểm Positive mô hình dự đoán đúng trên tổng số điểm mô hình dự đoán là Positive. Recall được định nghĩa là tỉ lệ số điểm Positive mô hình dự đoán đúng trên tổng số điểm thật sự là Positive [hay tổng số điểm được gán nhãn là Positive ban đầu].

Precision càng cao, tức là số điểm mô hình dự đoán là positive đều là positive càng nhiều. Precision = 1, tức là tất cả số điểm mô hình dự doán là Positive đều đúng, hay không có điểm nào có nhãn là Negative mà mô hình dự đoán nhầm là Positive.

Recall càng cao, tức là số điểm là positive bị bỏ sót càng ít. Recall = 1, tức là tất cả số điểm có nhãn là Positive đều được mô hình nhận ra.

Để hiểu rõ hơn về hai chỉ số này, ta có thể tưởng tượng một ví dụ như sau. Khi một người nghĩ là mình đang mắc bệnh gì đó, họ thường đi đến bệnh viện để làm các xét nghiệm để bác sĩ chẩn đoán xem kết quả là dương tính hay là âm tính. Ta có hai trường hợp về tình trạng bệnh là mắc bệnh hoặc không mắc bệnh. Ta có hai trường hợp về kết quả chẩn đoán là dương tính và âm tính.

Khi đó, precision là tỉ lệ người được chẩn đoán là dương tính thật sự mắc bệnh trên tổng số người được chẩn đoán là dương tính. Nếu precision = 0.9, thì cứ 100 người được chẩn đoán là dương tính thì sẽ thật sự có 90 người mắc bệnh. Precision càng cao thì xác suất người được chẩn đoán là dương tính có khả năng mắc bệnh càng cao.

Recall là tỉ lệ người được chẩn đoán là dương tính thật sự mắc bệnh trên tổng số người thật sự mắc bệnh. Nếu recall = 0.9, thì cứ 100 người mắc bệnh thì sẽ chẩn đoán 90 người dương tính. Recall càng cao thì xác suất người mắc bệnh được chẩn đoán là dương tính càng cao.

Tuy nhiên, chỉ có Precision hay chỉ có Recall thì không đánh giá được chất lượng mô hình.

  • Chỉ dùng Precision, mô hình chỉ đưa ra dự đoán cho một điểm mà nó chắc chắn nhất. Khi đó Precision = 1, tuy nhiên ta không thể nói là mô hình này tốt.
  • Chỉ dùng Recall, nếu mô hình dự đoán tất cả các điểm đều là positive. Khi đó Recall = 1, tuy nhiên ta cũng không thể nói đây là mô hình tốt.

Khi đó F1-score được sử dụng. F1-score là trung bình điều hòa [harmonic mean] của precision và recall [giả sử hai đại lượng này khác 0]. F1-score được tinh theo công thức:

Với bài toán phân lớp nhiều lớp, ta lần lượt xem một lớp là positive, các lớp còn lại là negative. Khi đó, ta có hai cách tính F1-score: macro F1-score và micro F1-score.

Macro F1-score

Macro F1-score được tính bằng công thức


với macro-precision và macro-recall là trung bình cộng của precision và recall theo các lớp.

Micro F1-score

Micro F1-score được tính bằng công thức


với micro-precision là tỉ lệ tổng số điểm của toàn bộ các điểm positive thuộc các lớp trên tổng số điểm mô hình dự đoán là positive thuộc các lớp. Micro-recall được tính bằng cách tương tự.

Precision và Accuracy giống và khác gì nhau?

Trong khoa học nói chung, lấy ví dụ kết quả bắn súng trên bia đạn như hình dưới đây

Accuracy hay độ chính xác, đo lường mức độ gần của các viên đạn trên bia đạn so với hồng tâm. Accuracy càng cao, tức là các viên đạn càng gần với hồng tâm.

Precision, hay độ chuẩn xác, đo lường mức độ tập trung của các viên đạn trên bia đạn. Precision càng cao, tức là các viên đạn càng tập trung vào một chỗ.

Một phiên bản vui vẻ hơn của precision và accuracy:

Trong machine learning, accuracy và precision tương tự như vấn đề bias-variance.

Tại sao là harmonic mean, mà không phải các cách tính trung bình khác?

Giả sử precision = 0.9, recall = 0.4.

Ta lần lượt thử các cách tính trung bình Arithmetic mean, Geometric mean và Harmonic mean.

Ta có thể thấy, harmonic mean cho kết quả thấp hơn nếu như giá trị của Precision hoặc Recall thấp. Tức là harmonic mean yêu cầu cả precision và recall cao để cho ra kết quả cao.

//machinelearningcoban.com/2017/08/31/evaluation/

View at Medium.com

Video liên quan

Chủ Đề