Làm thế nào để bạn quyết định tỷ lệ đào tạo, xác nhận và kiểm tra của bạn là gì?


10

Khi chia dữ liệu được dán nhãn của tôi thành các bộ huấn luyện, xác nhận và kiểm tra, tôi đã nghe thấy tất cả mọi thứ từ 50/25/25 đến 85/5/10. Tôi chắc chắn rằng điều này phụ thuộc vào cách bạn sẽ sử dụng mô hình của mình và mức độ dễ bị lạm dụng thuật toán học tập của bạn. Có cách nào để quyết định hay tất cả chỉ bằng quy tắc ngón tay cái? Ngay cả ELSII có vẻ mơ hồ về chủ đề này.


Câu hỏi và trả lời về Stackoverflow này có hai câu trả lời hay về chủ đề với> 30 câu hỏi. stackoverflow.com/questions/13610074/ từ
Luke Singham

Câu trả lời:


13

Xác thực phân tách mẫu mà không cần lấy mẫu lại (xác thực chéo hoặc tốt hơn: bootstrapping) là không đáng tin cậy trừ khi bạn có một mẫu rất lớn (ví dụ: ). Xác thực nội bộ nghiêm ngặt bằng cách sử dụng bootstrap thường được ưu tiên, giả sử rằng bạn lập trình tất cả các bước chọn mô hình để chúng có thể được lặp lại trong mỗi vòng lặp bootstrap. Và một trong những vấn đề với cách tiếp cận mẫu phân tách, bên cạnh sự biến động, là khó khăn trong việc lựa chọn phân số tách.N>20000


Và nếu bạn đang làm việc ở dữ liệu quy mô lớn hơn (nhưng không phải dữ liệu lớn) là 10000 <N <1000000 thì sao? Tại thời điểm chia tách có vẻ hợp lý. Điều này phù hợp với nhiều, nhưng không phải tất cả, tình huống tôi gặp phải.
Ed Fine

Nó có thể khá hợp lý.
Frank Harrell

Tôi có N = 95.000.000 (giữ bộ 9.500.000). Tài liệu tham khảo cho tôi biết tôi không phải lặp lại thí nghiệm 10 lần ở đâu?
dranxo

2
Chỉ cần chạy hai lần (2 lần chia) và bạn sẽ có bao nhiêu kết quả khác nhau. Chúng có thể thay đổi rất ít đến mức bạn chỉ cần một lần chia. Hãy nghĩ về độ rộng của khoảng tin cậy cho một tỷ lệ với cỡ mẫu lớn như vậy.
Frank Harrell


3

Tất nhiên, bạn cũng phải quyết định về tỷ lệ chia tách để lấy lại (gấp đôi) ...

Tuy nhiên, việc lấy mẫu lại thường hoạt động với một tỷ lệ phân chia khá rộng, nếu bạn lưu ý

  • không được nghỉ một lần nếu điều đó sẽ làm giảm số lần chạy khác biệt có thể
  • để lại đủ các trường hợp đào tạo trong tập huấn luyện trong cùng để thuật toán traing có cơ hội tốt để tạo ra một mô hình hữu ích.
  • những trường hợp độc lập hơn bạn có, những cân nhắc ít quan trọng hơn.

Và nếu bạn đang làm việc ở dữ liệu quy mô lớn hơn (nhưng không phải dữ liệu lớn) là 10000 <N <1000000 thì sao?

Những gì bạn có thể làm nếu bạn không chắc chắn việc lấy lại mẫu là cần thiết là: lấy mẫu lại một vài lần. Đủ để bạn có thể đo xem việc lấy mẫu lại có cần thiết hay không.

  • kiểm tra sự ổn định của dự đoán của bạn
  • kiểm tra tính ổn định của các tham số mô hình của bạn

Với những kết quả này, bạn có thể quyết định xem bạn có nên thêm nhiều lần lặp lại mô hình hay không hoặc liệu mọi thứ có ổn như chúng không.


2

Không có quy tắc cứng và nhanh cho việc này. Nhưng phân tích thực nghiệm cho thấy rằng bạn càng có nhiều dữ liệu đào tạo, độ chính xác của bạn sẽ càng tốt. Nhưng bất cứ điều gì bạn làm, đừng quên đặt tất cả dữ liệu đào tạo / xác nhận / kiểm tra của bạn lại với nhau và thực hiện CV gấp 10 lần khi bạn chuẩn bị. Điều này cung cấp một cái nhìn sâu sắc rất tốt về việc có vấn đề overfit / underfit trong quá trình thử nghiệm của bạn.


1

Tôi nghĩ tất cả đều là vấn đề mà bạn đang cố gắng trả lời. Bạn có quan tâm đến một cái nhìn chính xác về sự khác biệt hiệu suất giữa nhiều thuật toán không? Sau đó, bạn cần một bộ xác nhận khá lớn. Bạn có quan tâm đến việc thuật toán thực hiện tốt như thế nào đối với N = 10000 mẫu không? Sau đó, bạn nên đặt ít nhất 10000 mẫu trong bộ tàu.

Một bộ xác nhận lớn hơn cung cấp cho bạn sự chắc chắn về mặt thống kê hơn về kết quả của bạn, nhưng sự chắc chắn là về hiệu suất của thuật toán được đào tạo trên ít mẫu hơn, cuối cùng có thể không phải là thứ bạn đang có.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.