Làm thế nào để xác thực chéo k-Fold phù hợp trong bối cảnh của các bộ đào tạo / xác nhận / kiểm tra?


14

Câu hỏi chính của tôi là liên quan đến việc cố gắng hiểu làm thế nào xác thực chéo k phù hợp trong bối cảnh có các bộ đào tạo / xác nhận / kiểm tra (nếu nó phù hợp với tất cả trong bối cảnh như vậy).

Thông thường, mọi người nói về việc chia dữ liệu thành tập huấn luyện, xác nhận và kiểm tra - nói theo tỷ lệ 60/20/20 mỗi khóa của Andrew Ng - theo đó, bộ xác thực được sử dụng để xác định các tham số tối ưu cho đào tạo mô hình.

Tuy nhiên, nếu một người muốn sử dụng xác thực chéo k-gấp với hy vọng có được số đo chính xác đại diện hơn khi lượng dữ liệu tương đối nhỏ, thì việc xác thực chéo k-gấp đòi hỏi chính xác trong phân chia 60/20/20 này kịch bản?

Chẳng hạn, điều đó có nghĩa là chúng ta thực sự kết hợp các bộ huấn luyện và thử nghiệm (80% dữ liệu) và xác thực chéo k-trên chúng để có được thước đo chính xác của chúng ta (loại bỏ hiệu quả với 'bộ thử nghiệm' rõ ràng? Nếu vậy, mô hình được đào tạo nào chúng ta sử dụng a) trong sản xuất và b) để sử dụng chống lại bộ xác nhận và xác định các tham số đào tạo tối ưu? Chẳng hạn, một câu trả lời khả dĩ cho a và b có lẽ là sử dụng mô hình gấp tốt nhất.

Câu trả lời:


12

Xác thực chéo thường giúp tránh sự cần thiết của một bộ xác nhận.

Ý tưởng cơ bản với các tập dữ liệu huấn luyện / xác nhận / kiểm tra như sau:

  1. Đào tạo: Bạn thử các loại mô hình khác nhau với các lựa chọn khác nhau về siêu dữ liệu trên dữ liệu đào tạo (ví dụ: mô hình tuyến tính với các lựa chọn khác nhau, mạng lưới thần kinh với các lựa chọn khác nhau về các lớp, rừng ngẫu nhiên với các giá trị khác nhau của mtry).

  2. Xác thực: Bạn so sánh hiệu suất của các mô hình trong Bước 1 dựa trên bộ xác thực và chọn người chiến thắng. Điều này giúp tránh các quyết định sai lầm được thực hiện bằng cách quá mức tập dữ liệu đào tạo.

  3. Kiểm tra: Bạn thử mô hình người chiến thắng trên dữ liệu thử nghiệm để có cảm giác nó hoạt động tốt như thế nào trong thực tế. Điều này làm sáng tỏ quá mức được giới thiệu trong Bước 2. Ở đây, bạn sẽ không đưa ra bất kỳ quyết định nào nữa. Nó chỉ là thông tin đơn giản.

Bây giờ, trong trường hợp bạn thay thế bước xác thực bằng xác thực chéo, cuộc tấn công vào dữ liệu được thực hiện gần như giống hệt nhau, nhưng bạn chỉ có một khóa đào tạo và tập dữ liệu thử nghiệm. Không cần thiết phải có một bộ dữ liệu xác nhận.

  1. Đào tạo: Xem ở trên.

  2. Xác thực: Bạn thực hiện xác thực chéo trên dữ liệu đào tạo để chọn mô hình tốt nhất của Bước 1 liên quan đến hiệu suất xác thực chéo (ở đây, dữ liệu đào tạo ban đầu được liên tục chia thành tập huấn luyện và xác thực tạm thời). Các mô hình được tính toán trong xác thực chéo chỉ được sử dụng để chọn mô hình tốt nhất của Bước 1, tất cả đều được tính toán trên tập huấn luyện đầy đủ.

  3. Kiểm tra: Xem ở trên.


1
Cảm ơn! Để xác nhận, trong bối cảnh CV, người ta có thể có 80% đào tạo so với 20% phân tách thử nghiệm. Sau đó, người ta có thể xây dựng một mô hình trên 80% dữ liệu đó và kiểm tra so với 20% để có được độ chính xác. Để thử các biến thể mô hình khác nhau, người ta có thể thực hiện CV 10 lần trên tập dữ liệu đào tạo (80% dữ liệu) - đào tạo hiệu quả trên 8% tổng dữ liệu và kiểm tra so với 72% tổng dữ liệu trong mỗi lần gấp. Dựa trên kết quả CV, người ta có thể xác định các giá trị siêu tham số tối ưu và sử dụng chúng để xây dựng mô hình mới được đào tạo trên tất cả dữ liệu đào tạo (80% dữ liệu đầy đủ) và kiểm tra 20% dữ liệu thử nghiệm còn lại. Chính xác?
blu

3
Có, ngoại trừ trong mỗi lần chạy CV, bạn sẽ sử dụng 72% cho đào tạo và 8% để xác thực ;-)
Michael M

Phản hồi tuyệt vời @MichaelM. Tôi đã đọc về xác thực chéo (NCV) lồng nhau và tôi gặp khó khăn trong việc quyết định xem tôi nên sử dụng nó hay chỉ làm những gì bạn vạch ra cho CV. Và để tôi hiểu điều đó, NCV sẽ được áp dụng cho bước 3. Thay vì nhận được 1 điểm chiến thắng, bạn nhận được điểm K chiến thắng (nhân tổng số lần chạy của K, bước 1-2 lần lặp lại K lần với dữ liệu đào tạo khác 80%), khi đó bạn có thể tính trung bình. Vì vậy, câu hỏi: 1) là sự hiểu biết của tôi chính xác? 2) có nên sử dụng NCV không?
Aziz Javed

Bạn hoàn toàn chính xác. CV lồng nhau sẽ giúp có được ước tính đáng tin cậy hơn so với phương pháp "đơn giản" được nêu ở trên. Nếu thời gian cho phép, nó chắc chắn là một lựa chọn. Bạn có biết tập dữ liệu nào mà mô hình cuối cùng được tính trong CV lồng nhau không? Trên đầy đủ?
Michael M

3

KXác thực chéo Fold là một chiến lược lấy mẫu (lại) như nhiều người khác.

Chia thành đào tạo / xác nhận / kiểm tra cũng là một chiến lược lấy mẫu.

Bạn có thể thay thế đào tạo / xác nhận cho một chiến lược lấy mẫu khác. Sau đó, bạn sẽ thực hiện Fold CV trên 80% dữ liệu và kiểm tra 20% còn lại.K

Bạn cũng có thể áp dụng nó cho phần thử nghiệm (đây là cái mà mọi người gọi là xác thực chéo lồng nhau), trong đó nếp gấp được sử dụng để huấn luyện / xác nhận và phần còn lại để kiểm tra, sau đó bạn lặp lại điều này qua các nếp gấp.K1

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.