Xác thực chéo 10 lần so với xác thực chéo một lần


25

Tôi đang thực hiện xác nhận chéo lồng nhau. Tôi đã đọc được rằng xác thực chéo một lần có thể bị sai lệch (không nhớ tại sao).

Có tốt hơn không khi sử dụng xác thực chéo 10 lần hoặc xác thực chéo một lần ngoài thời gian chạy dài hơn để xác thực chéo một lần?


1
Bạn có nhớ nơi bạn đọc nó?
Richard Hardy

5
Bạn đã thấy bài viết này về thiên vị? Ngoài ra, câu trả lời này có một trích dẫn từ một cuốn sách rất hay đề nghị xác nhận chéo 5 lần hoặc 10 lần.
Eric Farng

1
Bài này có một chút liên quan.
Richard Hardy

1
Cảm ơn bạn. Vì vậy, tất cả trong tất cả có thể nói rằng tôi nên đi với CV 10 lần thay vì CV rời đi? Điều này cũng giữ cho một tập dữ liệu nhỏ?
máy móc

1
@Thomas, khi tập dữ liệu của bạn quá nhỏ, cuối cùng bạn gần như thực hiện LOO-CV, vì vậy lợi ích của CV gấp 10 lần sẽ giảm đi khi kích thước tập dữ liệu của bạn giảm.
cdeterman

Câu trả lời:


27

Chỉ cần thêm một chút vào câu trả lời của @SubravetiSuraj (+1)

Xác nhận chéo đưa ra ước tính hiệu suất thiên vị bi quan bởi vì hầu hết các mô hình thống kê sẽ cải thiện nếu tập huấn luyện được làm lớn hơn. Điều này có nghĩa là xác thực chéo k-ước tính hiệu suất của một mô hình được đào tạo trên bộ dữ liệu 100 * (k-1) / k% dữ liệu có sẵn, thay vì 100%. Vì vậy, nếu bạn thực hiện xác thực chéo để ước tính hiệu suất và sau đó sử dụng mô hình được đào tạo trên tất cả dữ liệu để sử dụng hoạt động, nó sẽ hoạt động tốt hơn một chút so với ước tính xác thực chéo cho thấy.

Xác thực chéo một lần là xấp xỉ không thiên vị , bởi vì sự khác biệt về kích thước giữa tập huấn luyện được sử dụng trong mỗi lần gấp và toàn bộ tập dữ liệu chỉ là một mẫu duy nhất. Có một bài viết về điều này của Luntz và Brailovsky (bằng tiếng Nga).

Luntz, Aleksandr và Viktor Brailovsky. "Về ước tính các ký tự thu được trong thủ tục thống kê công nhận." Technicheskaya Kibernetica 3.6 (1969): 6-12.

Xem thêm

Ước tính tỷ lệ lỗi trong phân tích phân biệt đối xử Peter A. Lachenbruch và M. Ray Mickey Technometrics Vol. 10, Vấn đề. 1.1968

Tuy nhiên, trong khi xác thực chéo một lần gần như không thiên vị, nó có xu hướng có phương sai cao (vì vậy bạn sẽ nhận được các ước tính rất khác nhau nếu bạn lặp lại ước tính với các mẫu dữ liệu ban đầu khác nhau từ cùng một phân phối). Vì lỗi của công cụ ước tính là sự kết hợp giữa sai lệch và phương sai, nên việc xác thực chéo một lần có tốt hơn xác thực chéo 10 lần hay không phụ thuộc vào cả hai đại lượng.

Bây giờ phương sai trong việc lắp mô hình có xu hướng cao hơn nếu nó được gắn vào một tập dữ liệu nhỏ (vì nó nhạy hơn với bất kỳ tạo tác nhiễu / lấy mẫu nào trong mẫu đào tạo cụ thể được sử dụng). Điều này có nghĩa là xác thực chéo 10 lần có thể có phương sai cao (cũng như độ lệch cao hơn) nếu bạn chỉ có một lượng dữ liệu hạn chế, vì kích thước của tập huấn luyện sẽ nhỏ hơn so với LOOCV. Vì vậy, xác thực chéo k-Fold cũng có thể có các vấn đề về phương sai, nhưng vì một lý do khác. Đây là lý do tại sao LOOCV thường tốt hơn khi kích thước của tập dữ liệu nhỏ.

Tuy nhiên, lý do chính cho việc sử dụng LOOCV theo ý kiến ​​của tôi là vì nó không tốn kém về mặt tính toán đối với một số mô hình (như hồi quy tuyến tính, hầu hết các phương thức kernel, phân loại lân cận gần nhất, v.v.) và trừ khi tập dữ liệu rất nhỏ, tôi sẽ sử dụng Xác thực chéo 10 lần nếu nó phù hợp với ngân sách tính toán của tôi, hoặc tốt hơn là, ước tính bootstrap và đóng gói.


2
+1 cho tài liệu tham khảo Nga tối nghĩa 1969! Bạn có một tài liệu tham khảo tốt cho LOOCV có phương sai cao không? Điều này được nêu trong Hastie et al nhưng tôi không chắc chắn tôi bị thuyết phục 100% bởi lập luận và tôi chưa thấy các cuộc biểu tình theo kinh nghiệm (mô phỏng).
amip nói phục hồi Monica

3
vâng, tôi không nghĩ rằng tôi đồng ý với nó, vì nó giả định rằng mô hình ổn định dưới các nhiễu loạn gây ra bằng cách xóa các mẫu thử nghiệm, điều này chỉ có khả năng tiếp cận là đúng nếu bạn có một bộ dữ liệu rất lớn (tức là nó chỉ có sự thật không có triệu chứng, nhưng nếu bạn có nhiều dữ liệu đó, hầu như bất kỳ sơ đồ đánh giá hiệu suất hợp lý nào cũng sẽ cho bạn kết quả tương tự).
Dikran Marsupial

2
+1 (cả bài đăng cũng như bình luận mới nhất - bài viết tuyệt vời nhưng không bị làm mờ theo sau (như bất kỳ bài viết nào khác)).
usεr11852 nói Phục hồi Monic

2
@Dikran Chủ đề này (của LOOCV có phương sai lớn nhất) lại xuất hiện trong một câu hỏi riêng biệt và khá thú vị: stats.stackexchange.com/questions/280665 , bạn có thể muốn xem qua.
amip nói phục hồi Monica

2
k

20

Theo tôi, bỏ qua một xác nhận chéo sẽ tốt hơn khi bạn có một bộ dữ liệu đào tạo nhỏ. Trong trường hợp này, bạn thực sự không thể thực hiện 10 lần để đưa ra dự đoán về việc sử dụng phần còn lại của dữ liệu để huấn luyện mô hình.

Mặt khác, nếu bạn có một lượng lớn dữ liệu đào tạo, xác thực chéo 10 lần sẽ là lựa chọn tốt hơn, bởi vì sẽ có quá nhiều lần lặp lại để loại bỏ xác thực chéo và xem xét nhiều kết quả này để điều chỉnh siêu âm của bạn không phải là một ý tưởng tốt

Theo ISL, luôn có sự đánh đổi sai lệch giữa việc thực hiện bỏ qua một lần và k lần xác thực chéo. Trong LOOCV (bỏ một CV), bạn nhận được các ước tính về lỗi kiểm tra với độ lệch thấp hơn và phương sai cao hơn vì mỗi tập huấn luyện chứa n-1 ví dụ, có nghĩa là bạn đang sử dụng gần như toàn bộ tập huấn luyện trong mỗi lần lặp. Điều này cũng dẫn đến phương sai cao hơn, bởi vì có rất nhiều sự chồng chéo giữa các tập huấn luyện và do đó, ước tính lỗi kiểm tra có mối tương quan cao, có nghĩa là giá trị trung bình của ước tính lỗi kiểm tra sẽ có phương sai cao hơn.

Điều ngược lại là đúng với CV gấp, vì có sự chồng chéo tương đối ít hơn giữa các tập huấn luyện, do đó, ước tính lỗi kiểm tra ít tương quan hơn, do đó giá trị lỗi kiểm tra trung bình sẽ không có nhiều phương sai như LOOCV.

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.