Có rất nhiều chủ đề trong CrossValidated về chủ đề lựa chọn mô hình và xác nhận chéo. Ở đây có một ít:
- Xác nhận chéo nội bộ và bên ngoài và lựa chọn mô hình
- Câu trả lời hàng đầu của @ DikranMarsupial cho Lựa chọn tính năng và xác thực chéo
Tuy nhiên, câu trả lời cho các chủ đề này khá chung chung và chủ yếu làm nổi bật các vấn đề với các cách tiếp cận cụ thể để xác nhận chéo và lựa chọn mô hình.
Để làm cho mọi thứ cụ thể nhất có thể , ví dụ: chúng tôi đang làm việc với một SVM với hạt nhân RBF: , và đó Tôi có bộ dữ liệu về các tính năng X và nhãn y và tôi muốn
- Tìm các giá trị tốt nhất có thể có trong mô hình của tôi ( và )
- Huấn luyện SVM với tập dữ liệu của tôi (để triển khai cuối cùng)
- Ước tính lỗi tổng quát hóa và độ không đảm bảo (phương sai) xung quanh lỗi này
Để làm như vậy, cá nhân tôi sẽ thực hiện tìm kiếm dạng lưới, ví dụ: tôi thử mọi kết hợp có thể có của và . Để đơn giản, chúng ta có thể giả sử các phạm vi sau:
Cụ thể hơn, sử dụng bộ dữ liệu đầy đủ của tôi, tôi làm như sau:
- Đối với mỗi cặp ( , ), tôi thực hiện các lần lặp lại (ví dụ 100 lần lặp lại ngẫu nhiên) của xác thực chéo Fold (ví dụ: ), trên tập dữ liệu của tôi, tức là tôi huấn luyện SVM của mình trên nếp gấp và đánh giá lỗi ở nếp gấp bên trái, lặp qua tất cả các nếp gấpNhìn chung, tôi thu thập 100 x 10 = 1000 lỗi kiểm tra.
- Đối với mỗi cặp ( , ) như vậy , tôi tính giá trị trung bình và phương sai của 1000 lỗi kiểm tra đó .
Bây giờ tôi muốn chọn mô hình tốt nhất (các tham số kernel tốt nhất) mà tôi sẽ sử dụng để huấn luyện SVM cuối cùng của mình trên bộ dữ liệu đầy đủ. Tôi hiểu rằng việc chọn mô hình có trung bình sai số thấp nhất và phương sai và sẽ là lựa chọn đúng và rằng của mô hình này là σ M là ước tính tốt nhất của tôi về sai lệch và sai lệch tổng quát của mô hình khi đào tạo với bộ dữ liệu đầy đủ.
NHƯNG, sau khi đọc các câu trả lời trong các chủ đề ở trên, tôi có ấn tượng rằng phương pháp này để chọn SVM tốt nhất để triển khai và / hoặc để ước tính lỗi của nó (hiệu suất tổng quát), là thiếu sót, và có nhiều cách tốt hơn để chọn SVM tốt nhất và báo cáo lỗi của nó. Nếu vậy, chúng là gì? Tôi đang tìm kiếm một câu trả lời cụ thể xin vui lòng.
Bám sát vấn đề này, làm thế nào cụ thể tôi có thể chọn mô hình tốt nhất và ước tính đúng lỗi tổng quát của nó ?