Tập hợp huấn luyện và kiểm thử: Phân tách dữ liệu

Mô-đun trước đã đưa ra ý tưởng chia tập dữ liệu của bạn thành hai tập hợp con:

  • tập huấn luyện—một tập hợp con để huấn luyện mô hình.
  • tập kiểm thử – một tập con để kiểm thử mô hình đã huấn luyện.

Bạn có thể hình dung cách cắt một tập dữ liệu như sau:

Một thanh ngang được chia thành hai phần: 80% trong số đó là tập luyện và 20% tập kiểm thử.

Hình 1. Chuyển một tập dữ liệu vào tập dữ liệu huấn luyện và tập kiểm thử.

Đảm bảo rằng tập hợp kiểm thử của bạn đáp ứng 2 điều kiện sau:

  • Đủ lớn để mang lại kết quả có ý nghĩa thống kê.
  • Là đại diện cho toàn bộ tập dữ liệu. Nói cách khác, đừng chọn tập hợp kiểm thử có các đặc điểm khác với tập hợp huấn luyện.

Giả sử bộ kiểm thử của bạn đáp ứng 2 điều kiện trước đó, mục tiêu của bạn là tạo một mô hình có thể khái quát hoá tốt cho dữ liệu mới. Bộ kiểm thử của chúng tôi đóng vai trò là proxy cho dữ liệu mới. Ví dụ: hãy xem hình sau. Xin lưu ý rằng mô hình đã học cho dữ liệu huấn luyện rất đơn giản. Mô hình này không hoạt động hoàn hảo—một vài dự đoán sai. Tuy nhiên, mô hình này hoạt động dựa trên dữ liệu kiểm thử giống như dữ liệu huấn luyện. Nói cách khác, mô hình đơn giản này không thể làm vượt quá dữ liệu huấn luyện.

Hai mô hình: một mô hình chạy trên dữ liệu huấn luyện và một mô hình còn lại sử dụng dữ liệu kiểm thử.  Mô hình rất đơn giản, chỉ là một đường phân cách các chấm màu cam với các chấm màu xanh dương.  Việc mất dữ liệu huấn luyện cũng tương tự như việc mất dữ liệu kiểm thử.

Hình 2. Xác thực mô hình đã huấn luyện dựa trên dữ liệu kiểm thử.

Tuyệt đối không huấn luyện dựa trên dữ liệu thử nghiệm. Nếu bạn thấy các chỉ số đánh giá của mình có kết quả tốt đến bất ngờ, thì đó có thể là dấu hiệu cho thấy bạn đang vô tình huấn luyện trên tập hợp kiểm thử. Ví dụ: độ chính xác cao có thể cho biết dữ liệu kiểm thử đã bị rò rỉ vào tập huấn luyện.

Ví dụ: hãy xem xét một mô hình dự đoán xem email có phải là thư rác hay không bằng cách sử dụng dòng tiêu đề, nội dung email và địa chỉ email của người gửi làm các tính năng. Chúng tôi phân chia dữ liệu thành các nhóm huấn luyện và kiểm thử, với tỷ lệ phân chia 80-20. Sau khi huấn luyện, mô hình đạt được độ chính xác 99% trên cả tập hợp huấn luyện và tập kiểm thử. Chúng tôi dự kiến tập hợp kiểm thử sẽ có độ chính xác thấp hơn, vì vậy, chúng tôi xem xét lại dữ liệu và phát hiện ra rằng nhiều ví dụ trong tập hợp kiểm thử trùng lặp với các ví dụ trong tập huấn luyện (chúng ta đã bỏ qua việc xoá các mục nhập trùng lặp cho cùng một email rác trong cơ sở dữ liệu đầu vào trước khi tách dữ liệu). Chúng tôi đã vô tình huấn luyện một số dữ liệu thử nghiệm của mình. Do đó, chúng tôi không còn đo lường chính xác mức độ tổng quát hoá của mô hình đối với dữ liệu mới.