Làm thế nào để người ta áp dụng xác nhận chéo một cách thích hợp trong bối cảnh chọn tham số học tập cho các máy vectơ hỗ trợ?


9

Gói libsvm tuyệt vời cung cấp giao diện python và tệp "easy.py" tự động tìm kiếm các tham số học tập (chi phí & gamma) để tối đa hóa độ chính xác của trình phân loại. Trong một tập hợp các tham số học tập nhất định, độ chính xác được vận hành bằng xác nhận chéo, nhưng tôi cảm thấy điều này làm suy yếu mục đích của xác thực chéo. Đó là, trong trường hợp bản thân các tham số học tập có thể được chọn theo cách có thể gây ra sự phù hợp quá mức của dữ liệu, tôi cảm thấy một cách tiếp cận phù hợp hơn sẽ là áp dụng xác thực chéo ở cấp độ tìm kiếm: thực hiện tìm kiếm trên một tập dữ liệu huấn luyện và sau đó đánh giá độ chính xác cuối cùng của SVM do các tham số học tập được chọn cuối cùng bằng cách đánh giá trong một tập dữ liệu thử nghiệm riêng biệt. Hay tôi đang thiếu một cái gì đó ở đây?

Câu trả lời:


10

Nếu bạn tìm hiểu các tham số siêu trong dữ liệu huấn luyện đầy đủ và sau đó xác thực chéo, bạn sẽ có được ước tính hiệu suất thiên vị lạc quan, bởi vì dữ liệu thử nghiệm trong mỗi lần sẽ được sử dụng để thiết lập siêu tham số, do đó, siêu tham số các tham số được chọn được chọn một phần vì chúng phù hợp với dữ liệu trong bộ kiểm tra. Sự thiên vị lạc quan được giới thiệu theo cách này có thể lớn bất ngờ. Xem Cawley 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 11 (tháng 7): 2079−2107, 2010.(Riêng phần 5.3). Điều tốt nhất để làm là xác nhận chéo lồng nhau. Ý tưởng cơ bản là bạn xác thực chéo toàn bộ phương thức được sử dụng để tạo mô hình, vì vậy hãy coi lựa chọn mô hình (chọn siêu tham số) là một phần của quy trình khớp mô hình (nơi xác định tham số) và bạn không thể đi quá xa

Nếu bạn sử dụng xác thực chéo trên tập huấn luyện để xác định siêu tham số và sau đó đánh giá hiệu suất của mô hình được đào tạo bằng các tham số đó trên toàn bộ tập huấn luyện, sử dụng một bộ kiểm tra riêng, điều đó cũng tốt (miễn là bạn có đủ dữ liệu để phù hợp một cách đáng tin cậy mô hình và ước tính hiệu suất bằng cách sử dụng các phân vùng rời rạc).


Tham khảo tốt đẹp!
Andrew

Trong đoạn thứ hai, bạn sẽ kết hợp lựa chọn tính năng như thế nào? Sẽ ổn chứ: i) thực hiện tối ưu hóa tham số siêu tốc như bạn đã nói ở trên (lấy tham số siêu tối ưu) ii) chạy lựa chọn tính năng trong một vòng xác thực chéo khác để có được một bộ dự đoán hàng đầu (lựa chọn tính năng được chạy trên dữ liệu đào tạo được phân vùng vào một tập hợp xác thực và xác thực bằng cách sử dụng bất kỳ phương pháp lấy mẫu lại nào được sử dụng trong tối ưu hóa tham số siêu tốc). iii) đào tạo một mô hình với tham số siêu cao nhất và bộ dự đoán hàng đầu được đặt trên dữ liệu huấn luyện đầy đủ. Thử nghiệm trên bộ thử nghiệm riêng biệt.
sma

để rõ ràng hơn một chút về ii) chạy lựa chọn tính năng trong một vòng xác thực chéo khác để có được một bộ dự đoán hàng đầu (dữ liệu huấn luyện được chia thành tập hợp phụ và xác thực thông qua phương pháp lấy mẫu lại được sử dụng trong tối ưu hóa tham số siêu tốc. dữ liệu phụ).
sma

Ngoài ra, trước tiên, người ta có thể thực hiện lựa chọn tính năng thông qua xác thực chéo để có được bộ tính năng hàng đầu, sau đó điều chỉnh siêu tham số cho bất kỳ mô hình nào quan tâm bằng cách sử dụng bộ tính năng hàng đầu (như trên trong xác thực chéo)? Sau đó huấn luyện các mô hình với các tham số siêu tối ưu của chúng trên dữ liệu huấn luyện đầy đủ chỉ với bộ tính năng hàng đầu đã được xác định và thử nghiệm trên bộ thử nghiệm riêng biệt?
sma

0

Tôi không nghĩ việc xác thực chéo bị sử dụng sai trong trường hợp LIBSVM vì nó được thực hiện ở mức dữ liệu thử nghiệm. Tất cả những gì nó làm là xác thực chéo k-Fold và tìm kiếm tham số tốt nhất cho kernel RBF. Hãy cho tôi biết về bạn không đồng ý.


Việc lựa chọn các tham số siêu không nên liên quan đến dữ liệu thử nghiệm theo bất kỳ cách nào, vì điều này sẽ dẫn đến một ước tính hiệu suất thiên vị lạc quan. Về cơ bản, việc chọn siêu tham số nên được coi là một phần không thể thiếu của việc lắp SVM, vì vậy quy trình kiểm tra cũng cần kiểm tra lỗi do lựa chọn siêu tham số, xem bài viết của tôi mà tôi tham khảo trong câu trả lời của mình cho câu hỏi (đó là truy cập mở).
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.