Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 5 — Precision, Recall và ngưỡng theo bối cảnh

PM CV không cần code, nhưng bắt buộc phải hiểu precisionrecall. Đây là ngôn ngữ để bạn định nghĩa "đủ tốt" và đàm phán với đội kỹ thuật. Hiểu sai hai chỉ số này là hiểu sai sản phẩm.

Bốn kết quả của một dự đoán

Với bài toán phát hiện (ví dụ "có lỗi/không lỗi"):

  • True Positive (TP): có lỗi, mô hình báo lỗi. Đúng.
  • False Positive (FP): không lỗi, nhưng mô hình báo lỗi. Báo nhầm — báo động giả.
  • False Negative (FN): có lỗi, nhưng mô hình bỏ qua. Bỏ sót.
  • True Negative (TN): không lỗi, mô hình nói không lỗi. Đúng.

Precision và Recall

  • Precision = TP / (TP + FP): trong những ca mô hình báo là lỗi, bao nhiêu % đúng thật? Precision thấp = nhiều báo động giả.
  • Recall = TP / (TP + FN): trong tất cả ca thực sự có lỗi, mô hình bắt được bao nhiêu %? Recall thấp = bỏ sót nhiều.
Mẹo nhớ: Precision trả lời "khi tôi báo, có đáng tin không?"; Recall trả lời "tôi có bỏ sót gì không?".

Vì sao accuracy không đủ

Như Bài 2 đã nói, với dữ liệu mất cân bằng, accuracy đánh lừa. Nếu chỉ 2% ảnh có lỗi, mô hình luôn nói "không lỗi" đạt 98% accuracy nhưng recall = 0% — bỏ sót toàn bộ. Vì vậy PM đo precision/recall, không đo accuracy.

Đánh đổi precision–recall qua ngưỡng (threshold)

Mô hình xuất ra một điểm tin cậy (0–1). Bạn đặt ngưỡng: trên ngưỡng thì báo dương tính. Kéo ngưỡng cao → precision tăng, recall giảm (chỉ báo khi rất chắc, ít nhầm nhưng bỏ sót nhiều). Kéo ngưỡng thấp → recall tăng, precision giảm (báo nhiều, ít sót nhưng lắm báo động giả). Đây là nút vặn sản phẩm quan trọng nhất mà PM kiểm soát.

Chọn ngưỡng theo bối cảnh — trọng tâm

Câu hỏi cốt lõi: sai kiểu nào tốn kém hơn?

  • Ưu tiên Recall cao khi bỏ sót là thảm họa: phát hiện ung thư (bỏ sót = chết người), phát hiện vũ khí ở sân bay, phát hiện gian lận nghiêm trọng. Chấp nhận nhiều báo động giả để không bỏ sót; thường có người kiểm tra lại ở bước sau.
  • Ưu tiên Precision cao khi báo nhầm gây phiền hoặc tốn kém: tự động chặn tài khoản, tự động phạt nguội, đề xuất sản phẩm. Báo nhầm làm mất lòng người dùng nên phải chắc mới báo.

Khung quyết định ngưỡng

  • Liệt kê hậu quả của FP và của FN bằng tiền/rủi ro cụ thể.
  • Xác định bên nào nặng hơn.
  • Chọn hướng ưu tiên (recall hay precision).
  • Đặt ngưỡng khởi điểm, đo trên dữ liệu thật.
  • Điều chỉnh dựa trên phản hồi vận hành, không phải cảm tính.

Ví dụ cụ thể: lọc nội dung phản cảm

Một nền tảng dùng CV lọc ảnh vi phạm. Nếu chọn recall cao (bắt gần hết vi phạm) sẽ có nhiều ảnh sạch bị gỡ nhầm → người dùng phẫn nộ. Nếu chọn precision cao sẽ lọt vi phạm. Giải pháp thực tế: đặt hai ngưỡng — trên ngưỡng cao thì tự động gỡ (chắc chắn vi phạm), vùng giữa đưa cho người kiểm duyệt, dưới ngưỡng thấp thì cho qua. Đây là cách PM biến precision/recall thành thiết kế luồng sản phẩm.

Một vài chỉ số liên quan

  • F1-score: trung bình điều hòa của precision và recall, dùng khi cần cân bằng.
  • Đường Precision-Recall: cho thấy toàn cảnh đánh đổi ở mọi ngưỡng, giúp PM chọn điểm vận hành.

Checklist về ngưỡng

  • [ ] Đã định lượng hậu quả FP và FN chưa?
  • [ ] Đã xác định ưu tiên precision hay recall?
  • [ ] Có dùng người kiểm duyệt cho vùng không chắc chắn không?
  • [ ] Ngưỡng có được đo trên dữ liệu thật, không phải lab?
  • [ ] Có cơ chế điều chỉnh ngưỡng theo phản hồi vận hành?

Sai lầm thường gặp

  • Báo cáo bằng accuracy trên dữ liệu mất cân bằng.
  • Đòi cả precision và recall cùng cao 99% mà không hiểu đó là đánh đổi.
  • Đặt một ngưỡng cứng cho mọi bối cảnh thay vì tùy chỉnh theo rủi ro.
  • Quên thiết kế bước con người kiểm tra cho vùng mô hình không chắc.
Kết bài: Precision và recall là công cụ để PM biến câu hỏi "đủ tốt chưa" thành quyết định có căn cứ. Chọn ngưỡng chính là chọn loại sai lầm bạn sẵn sàng chấp nhận — và điều đó luôn phụ thuộc bối cảnh.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi