Khi nào việc xác thực chéo lồng nhau thực sự cần thiết và có thể tạo ra sự khác biệt thực tế?


36

Khi sử dụng xác thực chéo để thực hiện lựa chọn mô hình (chẳng hạn như điều chỉnh siêu tham số) và để đánh giá hiệu suất của mô hình tốt nhất, người ta nên sử dụng xác thực chéo lồng nhau . Vòng lặp bên ngoài là để đánh giá hiệu suất của mô hình và vòng lặp bên trong là để chọn mô hình tốt nhất; mô hình được chọn trên mỗi tập huấn luyện bên ngoài (sử dụng vòng CV bên trong) và hiệu suất của nó được đo trên tập kiểm tra bên ngoài tương ứng.

Điều này đã được thảo luận và giải thích trong nhiều chủ đề (ví dụ như ở đây Đào tạo với bộ dữ liệu đầy đủ sau khi xác thực chéo ? , Xem câu trả lời của @DikranMarsupial) và tôi hoàn toàn rõ ràng. Chỉ thực hiện xác thực chéo đơn giản (không lồng nhau) cho cả ước tính hiệu suất và lựa chọn mô hình có thể mang lại ước tính hiệu suất thiên vị tích cực. @DikranMarsupial có một bài viết năm 2010 về chính xác chủ đề này ( 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 ) với Phần 4.3 được gọi là Sự phù hợp quá mức trong Lựa chọn mô hình có thực sự là mối quan tâm thực sự? - và bài báo cho thấy câu trả lời là Có.

Tất cả điều đó đã được nói, tôi hiện đang làm việc với hồi quy đa biến và tôi không thấy bất kỳ sự khác biệt nào giữa CV đơn giản và lồng nhau, và vì vậy CV lồng trong trường hợp cụ thể này trông giống như một gánh nặng tính toán không cần thiết. Câu hỏi của tôi là: trong những điều kiện nào CV đơn giản sẽ mang lại sự thiên vị đáng chú ý có thể tránh được với CV lồng nhau? Khi nào CV lồng nhau quan trọng trong thực tế, và khi nào nó không quan trọng lắm? Có bất kỳ quy tắc của ngón tay cái?

Đây là một minh họa bằng cách sử dụng dữ liệu thực tế của tôi. Trục hoành là cho hồi quy sườn. Trục dọc là lỗi xác thực chéo. Đường màu xanh lam tương ứng với xác nhận chéo đơn giản (không lồng nhau), với 50 phân tách kiểm tra / huấn luyện ngẫu nhiên 90:10. Đường màu đỏ tương ứng với xác thực chéo được lồng với 50 phân tách kiểm tra / huấn luyện ngẫu nhiên 90:10, trong đó được chọn với vòng xác thực chéo bên trong (cũng có 50 phân tách ngẫu nhiên 90:10). Các dòng có nghĩa là hơn 50 lần phân chia ngẫu nhiên, các bóng hiển thị độ lệch chuẩn .λ ± 1log(λ)λ±1

Xác thực chéo đơn giản và lồng nhau

Đường màu đỏ là phẳng vì đang được chọn trong vòng lặp bên trong và hiệu suất của vòng ngoài không được đo trên toàn bộ phạm vi của . Nếu xác thực chéo đơn giản bị sai lệch, thì mức tối thiểu của đường cong màu xanh sẽ nằm dưới đường màu đỏ. Nhưng đây không phải là trường hợp.λλλ

Cập nhật

Nó thực sự trường hợp :-) Chỉ là sự khác biệt là rất nhỏ. Đây là phần phóng to:

Xác thực chéo đơn giản và lồng nhau, phóng to

Một điều có khả năng gây hiểu lầm ở đây là các thanh lỗi (shader) của tôi rất lớn, nhưng các CV đơn giản và lồng nhau có thể được (và được) thực hiện với cùng một phân tách kiểm tra / đào tạo. Vì vậy, sự so sánh giữa chúng được ghép nối , như được gợi ý bởi @Dikran trong các bình luận. Vì vậy, hãy lấy sự khác biệt giữa lỗi CV lồng nhau và lỗi CV đơn giản (đối với tương ứng với mức tối thiểu trên đường cong màu xanh của tôi); một lần nữa, trên mỗi lần gấp, hai lỗi này được tính trên cùng một bộ kiểm tra. Vẽ sự khác biệt này qua lần phân tách đào tạo / kiểm tra, tôi nhận được như sau:50λ=0.00250

Xác thực chéo đơn giản và lồng nhau, sự khác biệt

Số không tương ứng với các phần tách trong đó vòng CV bên trong cũng mang lại (nó xảy ra gần một nửa số lần). Trung bình, sự khác biệt có xu hướng tích cực, tức là CV lồng nhau có lỗi cao hơn một chút . Nói cách khác, CV đơn giản thể hiện sự thiên vị rất nhỏ, nhưng lạc quan.λ=0.002

(Tôi đã chạy toàn bộ quy trình một vài lần và nó xảy ra mỗi lần.)

Câu hỏi của tôi là, trong những điều kiện nào chúng ta có thể mong đợi sự thiên vị này là rất nhỏ, và trong những điều kiện nào chúng ta không nên?


Tôi không chắc là tôi hiểu sơ đồ, bạn có thể tạo một biểu đồ phân tán hiển thị lỗi ước tính từ xác thực chéo được lồng và không lồng nhau trên mỗi trục (giả sử 50 lần phân tách kiểm tra thử nghiệm giống nhau mỗi lần) không? Làm thế nào lớn là dữ liệu bạn đang sử dụng?
Dikran Marsupial

1
Tôi đã tạo ra biểu đồ phân tán, nhưng tất cả các điểm đều rất gần với đường chéo và thật khó để nhận ra bất kỳ sai lệch nào từ nó. Vì vậy, thay vào đó, tôi đã trừ lỗi CV đơn giản (đối với lambda tối ưu) khỏi lỗi CV lồng nhau và âm mưu rằng trên tất cả các phân tách kiểm tra đào tạo. Dường như có một sự thiên vị rất nhỏ, nhưng đáng chú ý! Tôi đã thực hiện cập nhật. Hãy cho tôi biết nếu các số liệu (hoặc giải thích của tôi) gây nhầm lẫn, tôi muốn bài viết này rõ ràng.
amip nói rằng Phục hồi lại

Trong đoạn đầu tiên, bạn có mô hình được chọn trên mỗi tập huấn luyện bên ngoài ; Có lẽ nó nên ở bên trong- thay vào đó?
Richard Hardy

@RichardHardy Không. Nhưng tôi có thể thấy rằng câu này không được xây dựng rõ ràng. Mô hình được "chọn" trên mỗi bộ huấn luyện bên ngoài. Các mô hình khác nhau (ví dụ các mô hình với lambdas khác nhau) phù hợp với từng bộ huấn luyện bên trong, được thử nghiệm trên các bộ thử nghiệm bên trong và sau đó một trong các mô hình được chọn , dựa trên toàn bộ bộ huấn luyện bên ngoài. Hiệu suất của nó sau đó được đánh giá bằng cách sử dụng bộ thử nghiệm bên ngoài. Liệu nó có ý nghĩa?
amip nói rằng Phục hồi Monica

Câu trả lời:


13

Tôi muốn đề xuất rằng độ lệch phụ thuộc vào phương sai của tiêu chí lựa chọn mô hình, phương sai càng cao, độ lệch càng lớn. Phương sai của tiêu chí lựa chọn mô hình có hai nguồn chính, kích thước của tập dữ liệu được đánh giá (vì vậy nếu bạn có một tập dữ liệu nhỏ, độ lệch có thể lớn hơn) và về tính ổn định của mô hình thống kê (nếu các tham số mô hình được ước tính tốt bởi dữ liệu đào tạo có sẵn, mô hình ít linh hoạt hơn để phù hợp với tiêu chí lựa chọn mô hình bằng cách điều chỉnh siêu tham số). Yếu tố liên quan khác là số lượng lựa chọn mô hình được thực hiện và / hoặc siêu tham số sẽ được điều chỉnh.

Trong nghiên cứu của tôi, tôi đang xem xét các mô hình phi tuyến tính mạnh mẽ và các bộ dữ liệu tương đối nhỏ (thường được sử dụng trong nghiên cứu máy học) và cả hai yếu tố này có nghĩa là xác thực chéo lồng nhau là hoàn toàn cần thiết. Nếu bạn tăng số lượng tham số (có lẽ có một hạt nhân với tham số tỷ lệ cho từng thuộc tính) thì sự phù hợp quá mức có thể là "thảm họa". Nếu bạn đang sử dụng các mô hình tuyến tính chỉ với một tham số chính quy duy nhất và số lượng trường hợp tương đối lớn (liên quan đến số lượng tham số), thì sự khác biệt có thể sẽ nhỏ hơn nhiều.

Tôi nên nói thêm rằng tôi luôn khuyên bạn nên sử dụng xác thực chéo lồng nhau, miễn là nó khả thi về mặt tính toán, vì nó loại bỏ nguồn sai lệch có thể có để chúng tôi (và người đánh giá ngang hàng; o) không cần lo lắng về việc liệu nó có phải là không đáng kể hoặc không.


2
Nếu bạn sử dụng tất cả các dữ liệu, thì đó có phải là âm mưu của tập huấn luyện không? Tôi thường sử dụng các mô hình phân loại trong đó các mô hình tốt nhất không có lỗi tập huấn bằng 0 nhưng lỗi tổng quát hóa khác không, mặc dù tham số chính quy được chọn cẩn thận.
Dikran Marsupial

1
Một vài ngàn mô hình đào tạo hoặc ít hơn. Bạn đang sử dụng loại mô hình nào? Khi tập dữ liệu trở nên lớn hơn, các vấn đề thống kê giảm dần và các vấn đề tính toán tăng lên, như một quy luật chung. Xác thực chéo k-Fold chỉ chậm hơn k lần so với việc điều chỉnh mô hình cơ bản (bao gồm cả điều chỉnh siêu tham số), vì vậy nó hiếm khi đi từ khả thi sang không khả thi. k-Fold chéo valdiation cũng dễ dàng song song, đó là những gì tôi thường làm.
Dikran Marsupial

1
Nó chỉ đưa ra một ước tính hiệu suất không thiên vị. CV cơ bản lồng nhau ước tính hiệu suất của một phương pháp phù hợp với một mô hình bao gồm lựa chọn mô hình thông qua xác nhận chéo. Để có được mô hình hoạt động, chúng ta thường chỉ cần lặp lại phương thức bằng cách sử dụng toàn bộ tập dữ liệu, đưa ra các lựa chọn mô hình giống như quy trình xác thực chéo "phẳng".
Dikran Marsupial

1
Tôi cũng đã gặp vấn đề của CV lồng nhau. Sử dụng CV lồng nhau không thiên vị bao gồm các mô hình phù hợp với dữ liệu nhỏ hơn. Đối với CV gấp 10 lần, nó giống như 81% trong CV lồng nhau so với 90% trong CV không lồng nhau. Kiểm tra cũng trở thành 9% so với 10% trong không lồng nhau. Điều đó có tạo ra phương sai thêm trong đánh giá mô hình? Đặc biệt là đối với các bộ dữ liệu nhỏ, như 350 mẫu trong bài này. Đây có phải là 'bất lợi' khi sử dụng CV lồng nhau? Nếu vậy, chúng ta nên quyết định có nên sử dụng CV lồng nhau so với kích thước của tập dữ liệu không? Thực sự đánh giá cao ý kiến ​​từ chuyên gia như bạn về vấn đề này. Có bất kỳ giấy tờ liên quan đến vấn đề này? @Dikran Marsupial
zesla

2
@zesla Vâng, đó thực sự là trường hợp có ít dữ liệu cho xác thực chéo bên trong, điều này sẽ làm tăng phương sai của nó, tuy nhiên mô hình cuối cùng được xây dựng bằng cách sử dụng toàn bộ tập dữ liệu (bao gồm cả ước lượng siêu tham số). Luôn có sự đánh đổi giữa sai lệch và phương sai trong ước tính hiệu suất. Điều quan trọng nhất là sử dụng xác thực chéo lồng nhau nếu tập dữ liệu nhỏ vì quá phù hợp trong lựa chọn mô hình & sai lệch là vấn đề. Trong các ứng dụng thực tế, nơi có ít thông số siêu khác biệt, sự khác biệt có thể ít có ý nghĩa thực tế arxiv.org/abs/1809.09446 .
Dikran Marsupial
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.