Chúng ta có cần một bộ kiểm tra khi sử dụng xác thực chéo k-gấp không?


21

Tôi đã đọc về xác nhận k-Fold và tôi muốn chắc chắn rằng tôi hiểu cách thức hoạt động của nó.

Tôi biết rằng đối với phương pháp giữ, dữ liệu được chia thành ba bộ và bộ kiểm tra chỉ được sử dụng ở cuối để đánh giá hiệu suất của mô hình, trong khi bộ xác thực được sử dụng để điều chỉnh siêu âm, v.v.

Trong phương pháp gấp k, chúng ta vẫn giữ một bộ kiểm tra cho cuối cùng và chỉ sử dụng dữ liệu còn lại để đào tạo và điều chỉnh siêu tham số, tức là chúng ta chia dữ liệu còn lại thành k nếp gấp, sau đó sử dụng độ chính xác trung bình sau khi đào tạo với mỗi lần gấp (hoặc bất kỳ số liệu hiệu suất nào chúng tôi chọn để điều chỉnh siêu âm của chúng tôi)? Hoặc chúng ta hoàn toàn không sử dụng một bộ kiểm tra riêng biệt và chỉ chia toàn bộ tập dữ liệu thành k nếp gấp (nếu đây là trường hợp, tôi giả sử rằng chúng ta chỉ coi độ chính xác trung bình trên các nếp gấp k là độ chính xác cuối cùng của chúng ta)?


3
Nó phụ thuộc vào những gì bạn muốn làm. Nếu bạn muốn ước tính hiệu suất tổng quát, thì có, mô hình nên thực hiện các thử nghiệm trên dữ liệu mà nó chưa từng thấy trước đây. Nhưng điều đó không có nghĩa là nó phải là một lần lặp duy nhất, bạn có thể sử dụng mô hình lại để đạt được cùng một mục tiêu.
Firebug

2
... có nghĩa là bất cứ khi nào bạn sử dụng kết quả "xác thực" để tối ưu hóa / điều chỉnh mô hình siêu tham số, bạn cần một giai đoạn xác thực khác độc lập với điều chỉnh đó. Đối với cả hai giai đoạn, bạn có thể sử dụng, ví dụ như xác thực chéo hoặc giữ (hoặc ngoài bootstrap hoặc ...). CV + CV được gọi là CV lồng nhau, giữ + giữ dẫn đến thiết lập 3 bộ bạn đã đề cập
cbeleites hỗ trợ Monica

Câu trả lời:


9

Trong phương pháp K-Fold, chúng ta vẫn giữ một bộ kiểm tra cho đến hết và chỉ sử dụng dữ liệu còn lại để đào tạo và điều chỉnh siêu tham số (nghĩa là chúng ta chia dữ liệu còn lại thành k lần, sau đó sử dụng độ chính xác trung bình sau đào tạo với mỗi lần (hoặc bất kỳ số liệu hiệu suất nào chúng tôi chọn) để điều chỉnh siêu âm của chúng tôi)?

Vâng. Theo quy định, không bao giờ nên sử dụng bộ kiểm tra để thay đổi mô hình của bạn (ví dụ: siêu đường kính của nó).

Tuy nhiên, đôi khi xác thực chéo có thể được sử dụng cho các mục đích khác ngoài điều chỉnh siêu tham số, ví dụ: xác định mức độ phân chia kiểm tra / thử nghiệm ảnh hưởng đến kết quả.


6
+1 nhưng bạn có thể muốn đề cập đến xác thực chéo lồng nhau như là một thay thế cho bộ kiểm tra xác thực chéo +.
amip nói phục hồi Monica

1
"Đôi khi có thể được sử dụng cho các mục đích khác ngoài điều chỉnh siêu tham số". Ví dụ: bạn có thể sử dụng xác thực chéo cho mục đích xác thực (= kiểm tra các trường hợp không xác định để đo lỗi tổng quát hóa).
cbeleites hỗ trợ Monica

3

Nói chung là có. Về cơ bản, chúng tôi đang nói về sự đánh đổi sai lệch. Nếu bạn sử dụng dữ liệu để xây dựng mô hình của mình (dữ liệu huấn luyện và xác thực) và bạn lặp đi lặp lại trên các siêu âm khác nhau và bạn cố gắng tối đa hóa số liệu hiệu suất trung bình, mô hình của bạn có thể không tốt như đã chỉ ra.

Tuy nhiên, đặc biệt là trong các bộ dữ liệu nhỏ, việc phân chia bổ sung có thể dẫn đến một tập huấn luyện nhỏ hơn và dẫn đến một mô hình xấu.


2
Đây không phải là một câu trả lời thực sự cho câu hỏi.
Michael R. Chernick

Bạn có thể mở rộng điều này để nó thêm một cái gì đó vào câu trả lời được chấp nhận và những bình luận khá chi tiết không?
mdewey

1

Tốt nhất, không nên trộn lẫn xác nhận (để lựa chọn mô hình) và thử nghiệm cuối cùng. Tuy nhiên, nếu giá trị k của bạn cao hoặc bỏ qua một lần, sử dụng kết quả kiểm tra để hướng dẫn lựa chọn mô hình của bạn sẽ ít gây hại hơn. Trong kịch bản này, nếu bạn đang viết một bài báo học thuật, đừng làm điều đó (trừ khi bạn bận tâm giải thích) - nghĩa là luôn có một bộ kiểm tra riêng. Nếu bạn đang xây dựng một dự án thực tế, bạn có thể làm như vậy.

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.