Trong bài viết này
Từ được đánh dấu có giải thích. Di chuột hoặc chạm để xem, hay mở từ điển AI.
Bạn chia dữ liệu thành train và test sau khi đã chọn các đặc trưng tương quan mạnh nhất với nhãn trên toàn bộ tập. Mô hình chưa trực tiếp học các hàng test, nhưng quyết định chọn đặc trưng đã nhìn đáp án của chúng. Điểm kiểm tra vì thế không còn phản ánh một lần gặp dữ liệu mới.
Tiên quyết: hiểu tập huấn luyện, tập kiểm tra và đánh giá mô hình. Bài dùng các tình huống phân loại yêu cầu hỗ trợ minh họa; không trình bày kết quả thí nghiệm thật.
Theo đường đi của thông tin, không chỉ tên thư mục
Tài liệu scikit-learn về data leakage nhấn mạnh rằng thông tin không có tại thời điểm dự đoán không được dùng để xây mô hình. Một đường rò rỉ thường gặp là học phép tiền xử lý từ toàn bộ dữ liệu rồi mới chia tập.
Ranh giới đúng trong ví dụ phân loại là chia trước, học bộ điền giá trị thiếu và chọn đặc trưng trên train, rồi dùng đúng các phép biến đổi đã học để áp dụng cho test. Tên hàm transform không tự bảo vệ bạn nếu bên trong nó vẫn tính lại thống kê từ test.
train, validation, test = split_by_customer(raw_records)
preprocessor.fit(train.features)
model.fit(preprocessor.transform(train.features), train.labels)
choose_settings_using(validation)
report_once_on(test)
Đây là mã giả về thứ tự xử lý. Trong cross-validation, mỗi fold cũng cần học tiền xử lý từ phần train riêng của fold đó; không dùng một bộ tiền xử lý đã nhìn tất cả dữ liệu từ trước.
Cùng một khách hàng có thể nối hai tập với nhau
Nếu một cuộc hội thoại có mười tin nhắn, chia ngẫu nhiên theo dòng có thể để chín tin ở train và một tin ở test. Mô hình nhận diện cách viết hoặc nội dung đã thấy thay vì khái quát tới hội thoại mới. Chọn đơn vị chia theo điều bạn muốn dự đoán: khách hàng mới, hội thoại mới hay thời điểm tương lai.
Với dự đoán tương lai, chỉ dùng thông tin đã tồn tại ở thời điểm quyết định. Trường resolved_at hoặc nhãn “đã chuyển nhóm chuyên trách” có thể được ghi sau kết quả; đưa chúng vào đầu vào làm bài toán dễ một cách không hợp lệ. Cần lưu thời điểm phát sinh đặc trưng, không chỉ thời điểm xuất dữ liệu.
Chạy các mô hình trên cùng bộ thử, đọc cả điểm tổng lẫn kiểu lỗi, rồi cân nhắc tốc độ và chi phí. Một chênh lệch nhỏ chưa chứng minh mô hình nào luôn tốt hơn.
↔ Vuốt ngang để xem toàn bộ sơ đồ.
01 / Cùng bộ thử
Dùng cùng các trường hợp và quy tắc chấm đã xác định trước cho cả hai mô hình.
02 / Đọc điểm số
Trong ví dụ giả định, A đúng 18/20, B đúng 17/20. Chênh lệch một trường hợp chưa đủ kết luận chung.
03 / Xem kiểu lỗi
Mở các trường hợp thất bại: sai tên người và vượt độ dài có mức ảnh hưởng khác nhau.
04 / Đánh giá nhiều chiều
Đo thêm tốc độ, chi phí và độ ổn định trên dữ liệu phù hợp với công việc thực tế.
A đúng 18/20 và B đúng 17/20 là số liệu giả định để giải thích cách đọc kết quả, không phải benchmark của mô hình có thật.
Sơ đồ minh họa việc so sánh kết quả với tiêu chí. Nó giả định dữ liệu đánh giá phù hợp; kiểm tra rò rỉ là công việc cần làm trước khi diễn giải điểm số ấy.
Tối ưu prompt cũng có thể học thuộc bài kiểm tra
Không fine-tune không có nghĩa là không leakage. Nếu bạn sửa prompt hai mươi lần sau khi xem lỗi trên cùng một test set, quyết định thiết kế đã thích nghi với tập đó. Hãy gọi nó là tập phát triển và giữ một tập cuối chưa dùng để chọn cấu hình.
Trong RAG, nguồn chứa đáp án có thể là tài nguyên hợp lệ nếu sản phẩm thật cũng được tra cứu nguồn ấy. Nhưng nhét riêng đáp án gán nhãn của bộ thử vào chỉ mục chỉ để tăng điểm là một đường rò rỉ. Phải định nghĩa rõ người dùng thực tế có thể truy cập nguồn nào tại thời điểm hỏi.
Chia theo nhóm hoặc thời gian có thể làm điểm thấp hơn và phương sai lớn hơn vì ít dữ liệu độc lập. Đó không phải lý do quay lại cách chia dễ hơn. Nếu mục tiêu triển khai khác nhau, báo nhiều phép chia với tên nhiệm vụ rõ ràng để người đọc hiểu phạm vi từng điểm.
Kiểm toán một bộ dữ liệu nhỏ
Bài tập: tạo bảng gồm mã khách hàng, mã hội thoại, thời điểm hỏi, thời điểm có nhãn và các đặc trưng. Đánh dấu trường nào chỉ có sau quyết định. Sau đó tạo hai phép chia: ngẫu nhiên theo dòng và theo khách hàng.
Tự kiểm: không có khách hàng trùng giữa các phần ở phép chia nhóm; không có đặc trưng đến từ tương lai; mọi bước học thống kê chỉ dùng train; nhật ký chọn prompt không dùng test cuối. Viết một đoạn giải thích bạn muốn khái quát tới đối tượng nào. Đọc tiếp benchmark contamination để phân biệt rò rỉ trong quy trình của bạn với khả năng mô hình đã gặp bộ thử từ trước.