Giải thích từng bước về xác thực chéo K-gấp với tìm kiếm dạng lưới để tối ưu hóa siêu đường kính


7

Tôi nhận thức rõ về các ưu điểm của xác thực chéo k-Fold (và bỏ qua một lần), cũng như các ưu điểm của việc tách tập huấn luyện của bạn để tạo tập hợp 'xác thực' thứ ba mà bạn sử dụng để đánh giá hiệu suất mô hình dựa trên các lựa chọn của siêu đường kính, vì vậy bạn có thể tối ưu hóa và điều chỉnh chúng và chọn những cái tốt nhất để cuối cùng được đánh giá trên bộ thử nghiệm thực. Tôi đã thực hiện cả hai điều này một cách độc lập trên các bộ dữ liệu khác nhau.

Tuy nhiên tôi không chắc chắn làm thế nào để tích hợp hai quá trình này. Tôi chắc chắn nhận thức được nó có thể được thực hiện (xác nhận chéo lồng nhau, tôi nghĩ vậy?), Và tôi đã thấy mọi người giải thích nó, nhưng chưa bao giờ đủ chi tiết rằng tôi đã thực sự hiểu các chi tiết của quy trình.

Có những trang với đồ họa thú vị ám chỉ quá trình này (như thế này ) mà không rõ ràng về việc thực hiện chính xác các phần tách và vòng lặp. Ở đây, cái thứ tư rõ ràng là những gì tôi muốn làm, nhưng quá trình không rõ ràng:

Điều đó có nghĩa là gì

những câu hỏi trước đây trên trang web này, nhưng trong khi những câu hỏi nêu lên tầm quan trọng của việc tách các bộ xác nhận khỏi các bộ kiểm tra, thì không có câu hỏi nào chỉ định quy trình chính xác mà việc này nên được thực hiện.

Đây có phải là một cái gì đó giống như: đối với mỗi lần gấp k, hãy coi nếp gấp đó là một bộ thử nghiệm, coi một nếp gấp khác nhau như một bộ xác nhận và huấn luyện trên phần còn lại? Điều này có vẻ như bạn phải lặp đi lặp lại toàn bộ tập dữ liệu k * k lần, để mỗi lần được sử dụng làm đào tạo, kiểm tra và xác nhận ít nhất một lần. Xác thực chéo lồng nhau dường như ngụ ý rằng bạn thực hiện phân tách kiểm tra / xác thực bên trong mỗi nếp gấp k của bạn, nhưng chắc chắn điều này không thể đủ dữ liệu để cho phép điều chỉnh tham số hiệu quả, đặc biệt là khi k cao.

Ai đó có thể giúp tôi bằng cách cung cấp giải thích chi tiết về các vòng lặp và phân tách cho phép xác thực chéo k-gấp (để cuối cùng bạn có thể coi mọi datapoint như một trường hợp thử nghiệm) trong khi thực hiện điều chỉnh tham số (như bạn không chỉ định trước tham số mô hình, và thay vào đó chọn những tham số hoạt động tốt nhất trên một tập hợp giữ riêng biệt)?

Câu trả lời:


11

Đây là thủ tục xác thực chéo "mặc định" để so sánh giữa một nhóm mô hình cố định (ví dụ: tìm kiếm lưới):

  • Chia ngẫu nhiên tập dữ liệu thành K nếp gấp.
  • Dành cho i từ 1 đến K:
    • Hãy testgấpi.
    • Hãy để trainvaltất cả các dữ liệu ngoại trừ đó là trong test.
    • Chia ngẫu nhiên trainvalthànhL phụ (i,1),(i,2),,(i,L). Vì vậy, mỗi thư mục con(i,j) có một số phần tử từ nếp gấp ngoài 1, một số từ nếp gấp ngoài 2, ..., nhưng không có phần tử nào có nếp gấp ngoài i.
    • Dành cho j từ 1 đến L:
      • Hãy valgấp(i,j).
      • Hãy trainlà tất cả các dữ liệu không có trong một testhoặc val.
      • Huấn luyện từng tham số được đề xuất trainvà đánh giá nó val, theo dõi độ chính xác của phân loại, RMSE, bất kỳ tiêu chí nào bạn muốn sử dụng.
    • Nhìn vào điểm trung bình cho từng bộ thông số qua L nếp gấp, và chọn cái tốt nhất
    • Huấn luyện một mô hình với bộ thông số tốt nhất trên trainval.
    • Đánh giá nó testvà lưu độ chính xác / RMSE / bất cứ điều gì.
  • Báo cáo trung bình / trung bình + std / boxplot / bất cứ điều gì trong K tính chính xác.

1
Điều gì xảy ra nếu các tham số siêu tốt nhất được chọn cho i1 và i2 khác nhau? Nó không có ý nghĩa để trung bình tính chính xác của họ trong bước cuối cùng.
elexhulk

2
@elexhulk Hãy suy nghĩ về nó theo cách này: bạn đang báo cáo hiệu suất của (thuật toán của bạn với siêu âm được điều chỉnh trên tập huấn luyện), chứ không phải hiệu suất của thuật toán của bạn với bất kỳ bộ siêu đường cụ thể nào.
Dougal

1
Ok, có ý nghĩa. Nhưng sau đó đưa ra một điểm mới làm thế nào để tôi dự đoán? Tôi sử dụng lựa chọn siêu tham số nào?
elexhulk

3
Thuật toán này không cung cấp cho bạn một mô hình cuối cùng vào cuối mà bạn có thể dự đoán; nó để đánh giá một thuật toán, không chọn một thuật toán. (Không có bất kỳ hình thức xác nhận chéo nào; nó cung cấp cho bạnKcác mô hình khác nhau.) Nếu bạn muốn một mô hình duy nhất ở cuối, bạn chỉ nên chạy CV bên trong để điều chỉnh siêu âm trên toàn bộ dữ liệu.
Dougal

0

Bước đầu tiên là chia toàn bộ tập dữ liệu thành tập huấn luyện và tập kiểm thử. Và sau đó đối với tập huấn luyện, bạn có thể áp dụng xác nhận chéo k-Fold. Mỗi lần bạn sử dụng k-1 lần để huấn luyện mô hình và sử dụng một lần khác làm bộ xác nhận để đánh giá hiệu suất của mô hình. Trong bước này, bạn có thể có được một mô hình với hiệu suất tốt nhất trong tập huấn luyện. Cuối cùng, bạn có thể áp dụng mô hình này cho bộ thử nghiệm để đánh giá hiệu suất của mô hình được trang bị trong bước thứ hai. Đây là một liên kết mà bạn có thể thấy hữu ích trong việc tìm hiểu sự khác biệt giữa bộ xác thực và bộ kiểm tra. Sự khác biệt giữa bộ kiểm tra và bộ xác nhận là gì?


Câu hỏi này mà Mo Li chỉ ra là một bản sao cho câu hỏi của bạn.
Michael R. Chernick

0

Phù hợp với câu trả lời Dougal, bạn có thể kiểm tra bài viết từ D. Krstajic et al. "Cạm bẫy xác thực chéo khi lựa chọn và đánh giá mô hình hồi quy và phân loại", 2014 (doi: 10.1186 / 1758-2946-6-10 https://www.researchgate.net/publication/261217711_Cross-validation_pit thác_when_selecting_and_assessing_reg_). Ở đó, họ sử dụng xác nhận chéo lồng nhau để đánh giá mô hình và xác thực chéo tìm kiếm lưới để chọn các tính năng và siêu âm tốt nhất để sử dụng trong mô hình được chọn cuối cùng. Về cơ bản, họ trình bày các thuật toán khác nhau để áp dụng xác nhận chéo với các lần lặp lại và cũng sử dụng kỹ thuật lồng nhau, nhằm mục đích cung cấp các ước tính lỗi tốt hơn. Cuối cùng, họ xây dựng các thí nghiệm được thực hiện bằng cách sử dụng các thuật toán khác nhau để đánh giá và lựa chọn mô hình. Như các tác giả đã đề cập trong phần Thảo luận của bài viết: "Theo như chúng tôi biết, xác nhận chéo lồng nhau là cách tiếp cận phi tham số tốt nhất để đánh giá mô hình khi xác thực chéo được sử dụng để lựa chọn mô hình.".


Xin chào, Artur, và chào mừng đến với trang web! Chúng tôi có xu hướng không thích các câu trả lời chỉ liên kết, vì cuối cùng liên kết sẽ bị hỏng và người đọc sẽ không còn thông tin. Bạn có thể tóm tắt các bài học quan trọng từ bài viết khi bạn nhìn thấy chúng trong câu trả lời của bạn?
jbowman
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.