Sắp xếp ngẫu nhiên

Các yếu tố cần cân nhắc thực tế

Tạo quy trình tạo dữ liệu có thể tái tạo. Giả sử bạn muốn thêm tính năng để xem tính năng đó ảnh hưởng đến chất lượng mô hình như thế nào. Đối với một thử nghiệm công bằng, các tập dữ liệu của bạn phải giống nhau ngoại trừ tính năng mới này. Nếu quá trình tạo dữ liệu của bạn không tạo được, bạn không thể tạo các tập dữ liệu này.

Trên tinh thần đó, hãy đảm bảo bạn có thể xác định bất kỳ yếu tố ngẫu nhiên nào trong quá trình tạo dữ liệu:

  • Phát hành trình tạo số ngẫu nhiên (RNG). Việc hạt giống đảm bảo rằng RNG sẽ xuất ra cùng một giá trị theo cùng một thứ tự mỗi khi bạn chạy, tạo lại tập dữ liệu của bạn.
  • Sử dụng khoá băm không thể thay đổi. Băm là một cách phổ biến để chia tách hoặc chia sẻ dữ liệu mẫu. Bạn có thể băm từng ví dụ và sử dụng số nguyên thu được để quyết định phần tách nào để đặt ví dụ. Các đầu vào cho hàm băm sẽ không thay đổi mỗi lần bạn chạy chương trình tạo dữ liệu. Đừng sử dụng thời gian hiện tại hoặc số ngẫu nhiên trong hàm băm, ví dụ: nếu bạn muốn tạo lại hàm băm theo yêu cầu.

Các phương pháp trên áp dụng cả cho việc lấy mẫu và tách dữ liệu.

Những yếu tố nên cân nhắc khi băm

Giả sử bạn đang thu thập cụm từ tìm kiếm và sử dụng hàm băm để bao gồm hoặc loại trừ các cụm từ tìm kiếm. Nếu khoá băm chỉ sử dụng truy vấn đó thì trong nhiều ngày dữ liệu, bạn sẽ luôn bao gồm truy vấn đó hoặc luôn loại trừ truy vấn đó. Việc bao gồm hoặc luôn loại trừ một truy vấn là không tốt vì:

  • Bạn sẽ thấy một nhóm các cụm từ tìm kiếm ít đa dạng hơn.
  • Các bộ đánh giá của bạn sẽ khó có được vì chúng sẽ không trùng lặp với dữ liệu huấn luyện của bạn. Trên thực tế, tại thời điểm phân phát, bạn sẽ thấy một số lưu lượng truy cập trực tiếp trong dữ liệu đào tạo của mình, vì vậy, kết quả đánh giá của bạn sẽ phản ánh điều đó.

Thay vào đó, bạn có thể băm các cụm từ tìm kiếm + ngày tháng để tạo ra một hàm băm khác nhau mỗi ngày.

 

Hình ảnh động cho thấy cách băm chỉ trên truy vấn khiến dữ liệu vào cùng một bộ chứa mỗi ngày, nhưng việc băm trên truy vấn cộng với thời gian truy vấn khiến dữ liệu vào bộ chứa khác nhau mỗi ngày. Ba nhóm này là Đào tạo,
Đánh giá và Bỏ qua.