Là xác nhận chéo là một thay thế thích hợp cho bộ xác nhận?


27

Trong phân loại văn bản, tôi có một bộ huấn luyện với khoảng 800 mẫu và một bộ thử nghiệm với khoảng 150 mẫu. Bộ kiểm tra chưa bao giờ được sử dụng và chờ sử dụng cho đến khi kết thúc.

Tôi đang sử dụng toàn bộ 800 tập huấn luyện mẫu, với xác nhận chéo 10 lần trong khi điều chỉnh và điều chỉnh các phân loại và tính năng. Điều này có nghĩa là tôi không có bộ xác thực riêng biệt, nhưng mỗi lần hết 10 lần, một bộ xác thực được chọn tự động.

Sau khi tôi sẽ hài lòng với mọi thứ và muốn bước vào giai đoạn đánh giá cuối cùng, tôi sẽ đào tạo các phân loại của mình trên toàn bộ 800 mẫu. Và thử nghiệm trên 150 mẫu thử nghiệm.

Sự hiểu biết của tôi về việc sử dụng xác nhận chéo như vậy trong phân loại văn bản có đúng không? Thực hành này có hợp lệ không?

Một câu hỏi khác xác thực chéo là:

thay vì 10 lần, tôi cũng đã thử bỏ qua một chỉ số chung cho hiệu suất. Bởi vì để loại bỏ một cái, không thể có thông tin về F1 / độ chính xác / thu hồi, tôi tự hỏi mối quan hệ giữa độ chính xác từ loại bỏ một lần và số liệu từ 10 lần là gì?

Bất kỳ hiểu biết sẽ được đánh giá cao.


Chỉnh sửa:

Đây là một giới thiệu khá hay về xác nhận chéo. Nó cũng đề cập đến các tài liệu nghiên cứu khác.


3
Công cụ ước tính bỏ qua không thiên vị, trong khi xác thực chéo 10 lần sẽ có xu hướng mang lại cho bạn sự thiên vị (đối với các lỗi thấp hơn). Tuy nhiên, sự không thiên vị đến ở mức giá của một phương sai cao.
blubb

@Simon, tôi nghĩ nó phụ thuộc vào sự phức tạp của vấn đề. Phải không?
Biuler

@blubb: LOO trong một số tình huống có thể có sự thiên vị bi quan lớn. Phương sai của LOO và một lần chạy CV 10 lần thường rất giống nhau. Xu hướng lạc quan (ước tính lỗi quá thấp) ở đây không xuất phát từ sự lựa chọn lấy mẫu lại, mà từ thực tế là việc xác thực toàn bộ đã được sử dụng để tối ưu hóa theo hướng dữ liệu. Sau đó, một xác nhận độc lập khác là cần thiết. Đó cũng có thể là một vòng lặp "bên ngoài" của xác nhận chéo (không có sự thiên vị lạc quan!)
cbeleites hỗ trợ Monica

Câu trả lời:


15

Bạn thực sự đã mô tả chính xác cách làm việc với crossvalidation. Trên thực tế, bạn 'may mắn' có một bộ xác nhận hợp lý ở cuối, bởi vì thông thường, việc xác định giá trị chéo được sử dụng để tối ưu hóa một mô hình, nhưng không có xác thực "thực" nào được thực hiện.

Như @Simon Stelling đã nói trong nhận xét của mình, việc xác định giá trị chéo sẽ dẫn đến các lỗi ước tính thấp hơn (điều này hợp lý vì bạn liên tục sử dụng lại dữ liệu), nhưng may mắn thay, đây là trường hợp của tất cả các mô hình, vì vậy, việc loại bỏ thảm họa (nghĩa là: lỗi chỉ giảm một chút cho một mô hình "xấu" và nhiều hơn cho mô hình "tốt"), chọn mô hình hoạt động tốt nhất theo tiêu chí đánh giá chéo, thường cũng sẽ là "thực tế" tốt nhất.

Một phương pháp đôi khi được sử dụng để sửa phần nào cho các lỗi thấp hơn, đặc biệt là nếu bạn đang tìm kiếm các mô hình phân tách, là chọn mô hình nhỏ nhất / phương pháp đơn giản nhất mà trong đó một lỗi chéo nằm trong một SD từ tối ưu (chéo hóa). Như chính giá trị chéo, đây là một heuristic, vì vậy nó nên được sử dụng cẩn thận (nếu đây là một tùy chọn: tạo một biểu đồ lỗi của bạn theo các tham số điều chỉnh của bạn: điều này sẽ cho bạn biết liệu bạn có kết quả chấp nhận được không)

Do sự sai lệch đi xuống của các lỗi, điều quan trọng là không xuất bản các lỗi hoặc thước đo hiệu suất khác từ việc xác định giá trị chéo mà không đề cập đến những lỗi này xuất phát từ việc xác định giá trị chéo (mặc dù, sự thật được nói: Tôi đã thấy quá nhiều ấn phẩm không đề cập đến đo lường hiệu suất được lấy từ việc kiểm tra hiệu suất trên tập dữ liệu gốc --- vì vậy, việc đề cập đến giá trị chéo thực sự làm cho kết quả của bạn có giá trị hơn ). Đối với bạn, điều này sẽ không thành vấn đề, vì bạn có một bộ xác nhận.

Một cảnh báo cuối cùng: nếu mô hình phù hợp của bạn dẫn đến một số đối thủ cạnh tranh, bạn nên xem hiệu suất của họ trên bộ xác thực của bạn sau đó, nhưng không dựa trên lựa chọn mô hình cuối cùng của bạn về điều đó: tốt nhất bạn có thể sử dụng điều này để làm dịu lương tâm, nhưng mô hình "cuối cùng" của bạn phải được chọn trước khi bạn nhìn vào bộ xác nhận.

Viết câu hỏi thứ hai của bạn: Tôi tin rằng Simon đã đưa ra tất cả các câu trả lời bạn cần trong bình luận của anh ấy, nhưng để hoàn thành bức tranh: như thường lệ, đó là sự đánh đổi sai lệch thiên vị xuất hiện. Nếu bạn biết rằng, trung bình, bạn sẽ đạt được kết quả chính xác (không thiên vị), giá thường là mỗi phép tính riêng lẻ của bạn có thể nằm khá xa nó (phương sai cao). Vào thời xưa, tính không thiên vị là cực kỳ cộng, trong thời hiện tại, người ta đã chấp nhận những lúc thiên vị (nhỏ) (vì vậy bạn thậm chí không biết rằng trung bình các tính toán của bạn sẽ cho kết quả chính xác), nếu nó kết quả trong phương sai thấp hơn. Kinh nghiệm đã chỉ ra rằng sự cân bằng có thể chấp nhận được với phép định giá chéo 10 lần. Đối với bạn, sự thiên vị sẽ chỉ là một vấn đề đối với tối ưu hóa mô hình của bạn, vì bạn có thể ước tính tiêu chí sau đó (không thiên vị) trên tập xác thực. Như vậy, có rất ít lý do để không sử dụng crossvalidation.


"nhưng mô hình" cuối cùng "của bạn phải được chọn trước khi bạn nhìn vào bộ xác nhận." Tốt đẹp.
Mooncrater
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.