Tính tỷ lệ dữ liệu mẫu được sử dụng để phù hợp / đào tạo và xác nhận mô hình


9

Cung cấp một cỡ mẫu "N" mà tôi dự định sử dụng để dự báo dữ liệu. Một số cách để chia nhỏ dữ liệu để tôi sử dụng một số cách để thiết lập mô hình và dữ liệu còn lại để xác thực mô hình là gì?

Tôi biết không có câu trả lời trắng đen cho vấn đề này, nhưng sẽ rất thú vị khi biết một số "quy tắc của ngón tay cái" hoặc tỷ lệ thường được sử dụng. Tôi biết trở lại trường đại học, một trong những giáo sư của chúng tôi đã từng nói mô hình trên 60% và xác nhận trên 40%.

Câu trả lời:


7

Như bạn nói không có câu trả lời trắng đen. Tôi thường không chia dữ liệu thành 2 phần mà thay vào đó sử dụng các phương pháp như xác thực chéo k-Fold.

Trong xác thực chéo k-Fold, bạn chia ngẫu nhiên dữ liệu của mình thành các phần k và khớp với mô hình của bạn trên các phần k-1 và kiểm tra các lỗi ở phần bên trái. Bạn lặp lại quá trình k lần để mỗi phần ra khỏi khớp từng phần một. Bạn có thể lấy lỗi trung bình từ mỗi lần lặp k làm dấu hiệu của lỗi mô hình. Điều này hoạt động thực sự tốt nếu bạn muốn so sánh sức mạnh dự đoán của các mô hình khác nhau.

Một hình thức cực đoan của xác thực chéo k-gấp là xác thực chéo tổng quát trong đó bạn chỉ cần bỏ qua một điểm dữ liệu để kiểm tra và khớp mô hình với tất cả các điểm còn lại. Sau đó lặp lại quá trình n lần lần lượt bỏ ra từng điểm dữ liệu. Tôi thường thích xác thực chéo gấp k so với xác thực chéo tổng quát ... chỉ là một lựa chọn cá nhân


2
CV sử dụng bộ đầy đủ để lựa chọn mô hình, phải không? Đây là một lỗi phổ biến (thậm chí Wikipedia còn đề cập đến nó), vì đó là một lỗi quá mức ẩn. Bạn cần phải làm một CV cấp cao hơn hoặc để lại một số bài kiểm tra để làm điều này đúng.

5

Nó thực sự phụ thuộc vào lượng dữ liệu bạn có, chi phí cụ thể của phương pháp và mức độ chính xác mà bạn muốn kết quả của bạn đạt được.

Vài ví dụ:

Nếu bạn có ít dữ liệu, có lẽ bạn muốn sử dụng xác thực chéo (k-Fold, bỏ qua một lần, v.v.) Mô hình của bạn có thể sẽ không mất nhiều tài nguyên để đào tạo và kiểm tra. Đó là cách tốt để tận dụng tối đa dữ liệu của bạn

Bạn có rất nhiều dữ liệu: bạn có thể muốn thực hiện một bộ thử nghiệm lớn một cách hợp lý, đảm bảo rằng sẽ có rất ít khả năng một số mẫu lạ sẽ mang lại nhiều thay đổi cho kết quả của bạn. Bạn nên lấy bao nhiêu dữ liệu? Nó phụ thuộc hoàn toàn vào dữ liệu và mô hình của bạn. Ví dụ, trong nhận dạng giọng nói, nếu bạn lấy quá nhiều dữ liệu (giả sử 3000 câu), các thử nghiệm của bạn sẽ mất nhiều ngày, vì hệ số thời gian thực là 7-10 là phổ biến. Nếu bạn mất quá ít, nó phụ thuộc quá nhiều vào loa mà bạn đang chọn (không được phép trong tập huấn luyện).

Ngoài ra, hãy nhớ rằng, trong rất nhiều trường hợp cũng tốt để có một bộ xác nhận / phát triển!


5

Kiểm tra 1:10: tỷ lệ tàu là phổ biến vì nó trông tròn, 1: 9 là phổ biến vì CV gấp 10 lần, 1: 2 là phổ biến vì nó cũng tròn và lắp lại bootstrap. Đôi khi người ta nhận được một bài kiểm tra từ một số tiêu chí cụ thể về dữ liệu, ví dụ năm ngoái để kiểm tra, nhiều năm trước để đào tạo.

Nguyên tắc chung là như vậy: tàu phải đủ lớn để độ chính xác sẽ không giảm đáng kể và thử nghiệm phải đủ lớn để làm im lặng các dao động ngẫu nhiên.

Tôi vẫn thích CV, vì nó cũng cung cấp cho bạn một bản phân phối lỗi.


4

Là một phần mở rộng cho câu trả lời gấp k, lựa chọn "thông thường" của k là 5 hoặc 10. Phương pháp bỏ qua có xu hướng tạo ra các mô hình quá bảo thủ. FYI, đây là một tài liệu tham khảo về thực tế đó:

Shao, J. (1993), Lựa chọn mô hình tuyến tính bằng cách xác nhận chéo, Tạp chí của Hiệp hội thống kê Hoa Kỳ, Tập. 88, số 422, trang 486-494


Bạn thậm chí đã đọc bài báo này? Tuy nhiên, nó chỉ hoạt động cho các mô hình tuyến tính (ngay cả tiêu đề cho thấy nó!) Đó là về hành vi tiệm cận cho số lượng đối tượng vô hạn. 100 là cách không đủ.

1
Và tôi chúc bạn may mắn thực hiện xác nhận chéo 10 lần trên bộ với 9 đối tượng.

@mbq: Tôi nói sự lựa chọn "thông thường". Không có nghĩa là mọi sự lựa chọn
Albort

@mbq: Tôi đã đọc bài báo; Shao báo cáo về một nghiên cứu mô phỏng chỉ với 40 quan sát và cho thấy LOOCV hoạt động kém hơn so với CV Monte-Carlo ngoại trừ trong trường hợp không có phân nhóm phụ phù hợp (bộ tính năng đầy đủ là tối ưu). 100 là quá đủ, ít nhất là cho lựa chọn tập hợp con trong các mô hình tuyến tính.
shabbychef

@shabbychef Bạn đã đưa tôi đến đây; đối số thứ hai trong bình luận đầu tiên của tôi tất nhiên là một thứ linh tinh, tôi đã có một số công việc khác trong tâm trí và phát triển quá mức. Tuy nhiên, tôi vẫn sẽ lập luận rằng bài báo của Shao không phải là tài liệu tham khảo tốt cho "LOO thất bại cho N lớn" vì phạm vi của nó được giảm xuống theo mô hình tuyến tính.
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.