04

Kỹ sư ML · Bước 4/8 · 6 phút

Đánh giá model cho đúng

Bạn chia dữ liệu đúng cách, phát hiện rò rỉ dữ liệu, và chọn được thước đo phản ánh đúng cái giá của sai lầm.

Kiểm tra trên dữ liệu model chưa từng thấy

Một model đạt điểm cao trên chính dữ liệu huấn luyện thì chưa chứng minh được gì. Có thể nó chỉ học thuộc đáp án. Vì vậy bạn giữ lại một phần dữ liệu: tập huấn luyện (training) để học, tập validation để tinh chỉnh, và tập test chỉ nhìn đúng một lần, ở cuối.

Cross-validation (kiểm định chéo) là cách cẩn thận hơn: chia dữ liệu thành năm phần, huấn luyện trên bốn và kiểm tra trên phần thứ năm, lặp năm lần. Điểm trung bình đáng tin hơn một lần chia may mắn.

Rò rỉ dữ liệu: kẻ giết người thầm lặng

Rò rỉ dữ liệu (data leakage) xảy ra khi thông tin về đáp án lọt vào feature. Một model dự đoán bệnh nhân tái nhập viện mà dùng 'số lần tái khám' là đang gian lận: các lần tái khám đó xảy ra sau sự kiện. Nó sẽ trông tuyệt vời khi kiểm tra và thất bại ngoài đời thật.

Thời gian là nguồn rò rỉ phổ biến nhất. Nếu bạn dự đoán tương lai, hãy chia theo ngày: huấn luyện trên quá khứ, kiểm tra trên các tháng sau. Chia ngẫu nhiên sẽ cho model nhìn trộm tương lai. Các bước xử lý như chuẩn hóa (scaling) cũng chỉ được fit trên dữ liệu huấn luyện.

Độ chính xác thường là con số sai

Nếu cứ 100 giao dịch có 1 gian lận, một model luôn trả lời 'không gian lận' đạt độ chính xác (accuracy) 99% mà hoàn toàn vô dụng. Với sự kiện hiếm, hãy xem precision (trong các ca bạn gắn cờ, bao nhiêu ca là thật?) và recall (trong các ca thật, bạn bắt được bao nhiêu?).

Cái nào quan trọng hơn tùy vào cái giá của từng loại sai. Bỏ sót một ca ung thư tệ hơn báo động nhầm, nên bạn ưu tiên recall. Khóa nhầm thẻ của khách tốt cũng tốn kém, nên ngân hàng phải cân bằng cả hai. Với bài toán dự đoán con số như giá nhà, hãy dùng thước đo sai số như mean absolute error, cùng đơn vị với giá trị cần đoán.

Nhìn vào các ca sai

Điểm số che giấu các khuôn mẫu. Hãy mở một nhóm dự đoán sai và đọc chúng. Bạn thường sẽ thấy một lỗi gắn nhãn, một feature còn thiếu, hoặc một nhóm mà model xử lý kém. Mười phút đọc có giá trị hơn một giờ tinh chỉnh.

Thử ngay

Tìm chỗ rò rỉ

  1. 1.Dán prompt bên dưới vào chatbot.
  2. 2.Trước khi đọc câu trả lời, hãy tự tìm chỗ rò rỉ.
  3. 3.Sau đó hỏi chatbot nó sẽ dùng thước đo nào và vì sao.
Tôi đang dự đoán người vay có vỡ nợ hay không. Các feature gồm: thu nhập, tuổi, số tiền vay, số lần trả chậm của chính khoản vay này, và nghề nghiệp. Model đạt độ chính xác 98%, và 3% khoản vay bị vỡ nợ. Hãy giải thích chỗ rò rỉ dữ liệu trong các feature, vì sao độ chính xác gây hiểu nhầm ở đây, và tôi nên báo cáo thước đo nào thay thế.
Chỉ 2% email của bạn là thư rác. Vì sao độ chính xác là thước đo kém ở đây?

Tự kiểm tra

Chỉ 2% email của bạn là thư rác. Vì sao độ chính xác là thước đo kém ở đây?

Đọc thêm