Làm thế nào để xác nhận chéo khắc phục vấn đề quá mức?


34

Tại sao một quy trình xác thực chéo khắc phục vấn đề quá mức một mô hình?


4
Nhìn vào các tác phẩm của Alain Celisse . Tác phẩm của anh ấy theo như tôi đọc (quá ít than ôi) là về giá trị của việc xác nhận chéo.
mpiktas

@mpiktas Thật vậy, và một trong những bài báo của anh ấy đã được đề xuất cho CVJC, mendeley.com/groups/999241/crossvalidated-journal- club / con .
chl

Câu trả lời:


23

Tôi không thể nghĩ ra một lời giải thích đủ rõ ràng vào lúc này, vì vậy tôi sẽ để điều đó cho người khác; tuy nhiên xác nhận chéo không hoàn toàn khắc phục vấn đề quá khớp trong lựa chọn mô hình, nó chỉ làm giảm nó. Lỗi xác thực chéo không có phương sai không đáng kể, đặc biệt nếu kích thước của tập dữ liệu nhỏ; nói cách khác, bạn nhận được một giá trị hơi khác nhau tùy thuộc vào mẫu dữ liệu cụ thể bạn sử dụng. Điều này có nghĩa là nếu bạn có nhiều mức độ tự do trong lựa chọn mô hình (ví dụ: rất nhiều tính năng để chọn một tập hợp con nhỏ, nhiều tham số siêu để điều chỉnh, nhiều mô hình để chọn), bạn có thể phù hợp với tiêu chí xác thực chéo khi mô hình được điều chỉnh theo cách khai thác biến thể ngẫu nhiên này thay vì theo cách thực sự cải thiện hiệu suất, và bạn có thể kết thúc với một mô hình hoạt động kém. Đối với một cuộc thảo luận về điều này, xemCawley và Talbot "Về sự phù hợp quá mức trong lựa chọn mô hình và xu hướng lựa chọn tiếp theo trong đánh giá hiệu suất", JMLR, tập. 11, trang 2079−2107, 2010

Đáng buồn là xác nhận chéo rất có thể sẽ làm bạn thất vọng khi bạn có một bộ dữ liệu nhỏ, chính xác là khi bạn cần xác thực chéo nhiều nhất. Lưu ý rằng xác thực chéo k-gấp thường đáng tin cậy hơn xác thực chéo một lần vì nó có phương sai thấp hơn, nhưng có thể tốn kém hơn để tính toán cho một số mô hình (đó là lý do tại sao LOOCV đôi khi được sử dụng để chọn mô hình, mặc dù nó có phương sai cao).


1
Một suy nghĩ tôi đã có là xác nhận chéo chỉ đơn thuần là áp dụng một mô hình (ngầm) khác cho dữ liệu. Bạn chắc chắn có thể hiển thị điều này với "anh em họ" của CV, bootstrap không tham số (dựa trên mô hình Quy trình Dirichlet với tham số nồng độ là 0).
xác suất

Ý tưởng thú vị. Quan điểm của tôi là (đối với các mô hình tôi quan tâm), việc tách thành các tham số và siêu tham số là tính toán chứ không phải logic; các tham số siêu vẫn là các tham số cần được gắn vào dữ liệu và việc thực hiện điều này một cách gián tiếp bằng cách sử dụng xác thực chéo không thực sự thay đổi điều đó. Trong bài báo cuối cùng, tôi đã điều tra điều chỉnh các thông số siêu thường của mô hình hạt nhân bằng cách sử dụng tiêu chí đào tạo và thêm một thuật ngữ chính quy bổ sung để tránh vượt quá tiêu chí lựa chọn mô hình (LOOCV) và nó hoạt động khá tốt.
Dikran Marsupial

1
Tại sao CV gấp k lại đắt hơn so với bỏ qua? Kinh nghiệm của tôi (và trực giác của tôi) nói khác. Vì trong CV gấp, chúng tôi đang thực hiện các bài kiểm tra k, bất cứ nơi nào trong L1O, chúng tôi đều thực hiện các bài kiểm tra N (>> k) và thông thường phần đào tạo mất nhiều thời gian hơn do một số ma trận đảo ngược, vậy L1O có phải là lựa chọn đắt tiền không?
jeff

1
Để lại một cái có thể được thực hiện (hoặc xấp xỉ) như một sản phẩm phụ của việc khớp mô hình với toàn bộ tập dữ liệu, với chi phí bổ sung rất ít, cho một loạt các mô hình (ví dụ hồi quy tuyến tính). Tôi sẽ chỉnh sửa câu trả lời để làm cho điều này rõ ràng hơn.
Dikran Marsupial

Sự hiểu biết của tôi về việc bỏ qua một lần là nó là k-Fold CV - hình thức k-Fold CV tốt nhất nhưng đắt nhất về mặt tính toán, trong đó k = kích thước tập dữ liệu.
Daniel Winterstein

10

Câu trả lời của tôi trực quan hơn là nghiêm ngặt, nhưng có lẽ nó sẽ giúp ...

Theo tôi hiểu, quá mức là kết quả của việc lựa chọn mô hình dựa trên đào tạo và kiểm tra bằng cùng một dữ liệu, trong đó bạn có một cơ chế phù hợp linh hoạt: bạn khớp mẫu dữ liệu của mình chặt chẽ đến mức bạn phù hợp với tiếng ồn, ngoại lệ và tất cả phương sai khác.

Việc chia dữ liệu thành tập huấn luyện và kiểm tra giúp bạn không phải làm điều này. Nhưng phân chia tĩnh không sử dụng hiệu quả dữ liệu của bạn và chính sự phân tách của bạn có thể là một vấn đề. Xác thực chéo giữ lợi thế dữ liệu không-thưởng-an-chính xác phù hợp với đào tạo-dữ liệu của phân tách kiểm tra đào tạo, đồng thời sử dụng dữ liệu mà bạn có hiệu quả nhất có thể (nghĩa là tất cả dữ liệu của bạn được sử dụng như dữ liệu đào tạo và kiểm tra, chỉ là không chạy cùng một lúc).

Nếu bạn có một cơ chế phù hợp linh hoạt, bạn cần hạn chế lựa chọn mô hình của mình để nó không thiên về "hoàn hảo" nhưng lại phù hợp phức tạp. Bạn có thể làm điều đó với AIC, BIC hoặc một số phương pháp xử phạt khác có thể xử phạt trực tiếp mức độ phức tạp phù hợp hoặc bạn có thể thực hiện bằng CV. (Hoặc bạn có thể làm điều đó bằng cách sử dụng một phương pháp phù hợp không linh hoạt, đó là một lý do mô hình tuyến tính là tốt.)

Một cách khác để nhìn vào nó là học tập là về khái quát hóa, và một sự phù hợp quá chặt chẽ trong một số ý nghĩa không khái quát. Bằng cách thay đổi những gì bạn học và những gì bạn đã kiểm tra, bạn khái quát hóa tốt hơn nếu bạn chỉ học các câu trả lời cho một bộ câu hỏi cụ thể.


3

Từ góc độ Bayes, tôi không chắc chắn rằng xác nhận chéo thực hiện bất cứ điều gì mà phân tích Bayes "phù hợp" không làm để so sánh các mô hình. Nhưng tôi không chắc chắn 100% rằng nó làm.

MAMBDI

P(MA|D,I)P(MB|D,I)=P(MA|I)P(MB|I)×P(D|MA,I)P(D|MB,I)

P(D|MA,I)

P(D|MA,I)=P(D,θA|MA,I)dθA=P(θA|MA,I)P(D|MA,θA,I)dθA

Mà được gọi là phân phối dự đoán trước . Về cơ bản, nó cho biết mô hình dự đoán dữ liệu thực tế được quan sát tốt như thế nào, đó chính xác là những gì xác thực chéo, với "trước" được thay thế bằng mô hình "đào tạo" được trang bị và "dữ liệu" được thay thế bằng "thử nghiệm" dữ liệu. Vì vậy, nếu mô hình B dự đoán dữ liệu tốt hơn mô hình A, thì xác suất sau của nó tăng so với mô hình A. Có vẻ như từ đó, định lý Bayes sẽ thực sự xác thực chéo bằng cách sử dụng tất cả dữ liệu, thay vì tập hợp con. Tuy nhiên, tôi không hoàn toàn bị thuyết phục về điều này - dường như chúng ta nhận được một cái gì đó chẳng vì gì cả.

Một tính năng thú vị khác của phương pháp này là nó có một "dao cạo" được chế tạo sẵn, được đưa ra bởi tỷ lệ các hằng số chuẩn hóa của các bản phân phối trước cho mỗi mô hình.

Tuy nhiên, xác nhận chéo có vẻ có giá trị đối với "cái gì đó khác" đáng sợ hoặc đôi khi được gọi là "mô hình sai". Tôi liên tục bị giằng xé bởi liệu "điều gì khác" này có quan trọng hay không, vì có vẻ như nó có vấn đề - nhưng nó khiến bạn bị tê liệt mà không có giải pháp nào cả khi nó rõ ràng là vấn đề. Chỉ cần một cái gì đó khiến bạn đau đầu, nhưng bạn không thể làm gì về điều đó - ngoại trừ việc nghĩ "cái gì đó khác" có thể là gì, và thử nó trong mô hình của bạn (để nó không còn là một phần của "thứ khác") .

Và hơn nữa, xác nhận chéo là một cách để thực sự phân tích Bayes khi các tích phân ở trên rất khó khăn. Và xác nhận chéo "có ý nghĩa" đối với bất kỳ ai - đó là "cơ học" chứ không phải là "toán học". Vì vậy, thật dễ dàng để hiểu những gì đang xảy ra. Và nó dường như cũng khiến bạn tập trung vào phần quan trọng của các mô hình - đưa ra dự đoán tốt.


2
Vấn đề mô hình hóa sai là chìa khóa. Các phương pháp Bayes (đặc biệt là "người nghèo" Bayes tối đa hóa bằng chứng) có thể thực hiện rất kém dưới sự sai sót của mô hình, trong khi việc xác thực chéo dường như hoạt động khá tốt mọi lúc. Mức tăng khi các giả định (linh mục) là "đúng" thường nhỏ hơn nhiều so với hình phạt khi chúng "sai", do đó, xác thực chéo thắng trung bình (vì nó hầu như không có giả định). Nó gần như không thỏa mãn về mặt trí tuệ! ; o)
Dikran Marsupial

1
@dikran - thú vị. Tôi không chắc chắn tôi đồng ý với những gì bạn nói mặc dù. Vì vậy, bạn nói nếu mô hình bị xác định sai, thì xác nhận chéo với mô hình đó có tốt hơn so với sử dụng định lý Bayes không? Tôi muốn xem một ví dụ về điều này.
xác suất

@probabiltyislogic Tôi không nghĩ đó là một quan sát đặc biệt mới, Rasmussen và Williams đã đề cập đến nó trên trang 118 của cuốn sách Quy trình Gaussian tuyệt vời của họ (mặc dù về cơ bản nó là một tài liệu tham khảo cho một nhận xét tương tự trong chuyên khảo của Grace Wahba về splines). Về cơ bản, khả năng cận biên là xác suất của dữ liệu được đưa ra các giả định của mô hình, trong khi đó khả năng XVAL là ước tính xác suất của dữ liệu, bất kể các giả định của mô hình, do đó đáng tin cậy hơn khi các giả định không hợp lệ. Một nghiên cứu thực nghiệm thích hợp sẽ hữu ích.
Dikran Marsupial

@probabilityislogic Tôi nên thêm rằng tôi thích cách tiếp cận Bayes trong lựa chọn mô hình, nhưng tôi hầu như luôn sử dụng xác nhận chéo trong thực tế đơn giản vì nó thường cho kết quả (về mặt thống kê) tốt, hoặc tốt hơn so với phương pháp Bayes.
Dikran Marsupial

XiyiXip(yi|Xi,θy)p(Xi|θX). Thuật ngữ thứ hai có đóng góp lớn hơn nhiều cho khả năng, vì vậy nếu một người mẫu làm tốt ở đó và cắn nó theo dự đoán thì khả năng cận biên sẽ không quan tâm.
JMS
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.