Tôi tự hỏi liệu sử dụng xác thực chéo để tìm các tham số điều chỉnh tốt nhất cho các kỹ thuật học máy khác nhau có khác với rình mò dữ liệu không?
Mối quan tâm của bạn là đúng chỗ, và có rất nhiều tài liệu về chủ đề này, vd
- Cawley, GC & Talbot, NLC: 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, Tạp chí nghiên cứu máy học, 11, 2079-2107 (2010).
- Boulesteix, A.-L.: Quá lạc quan trong nghiên cứu tin sinh học., Tin sinh học, 26, 437-439 (2010). DOI: 10.1093 / tin sinh học / btp648
- Jelizarow, M.; Guillemot, V.; Tenenhaus, A.; Strimmer, K. & Boulesteix, A.-L.: Sự lạc quan thái quá trong tin sinh học: một minh họa., Tin sinh học, 26, 1990-1998 (2010). DOI: 10.1093 / tin sinh học / btq323
Vấn đề là điều chỉnh siêu tham số với xác thực chéo là một quá trình tối ưu hóa dựa trên dữ liệu và vẫn sẽ có xu hướng phù hợp với tập dữ liệu của bạn (ít hơn điều chỉnh bởi lỗi đặt lại, nhưng vẫn). Cố gắng sử dụng kết quả xác thực chéo điều chỉnh làm thước đo hiệu suất "độc lập" theo cách giống như ăn miếng bánh (= điều chỉnh) và giữ (= đo hiệu suất mô hình cuối cùng).
Điều này không có nghĩa là bạn không nên sử dụng xác thực chéo để điều chỉnh siêu tham số. Nó chỉ có nghĩa là bạn có thể sử dụng nó cho một mục đích. Hoặc tối ưu hóa hoặc đo lường hiệu suất mô hình cho mục đích xác nhận.
Giải pháp là bạn cần thực hiện xác nhận độc lập để đo chất lượng của mô hình thu được với các siêu đường kính được điều chỉnh. Điều này được gọi là xác nhận lồng nhau hoặc kép. Bạn sẽ tìm thấy một số câu hỏi và câu trả lời ở đây về các chủ đề này
Về mặt khái niệm, tôi muốn nói rằng đào tạo bao gồm tất cả các loại bước ưa thích để phù hợp với không chỉ các tham số mô hình "thông thường" mà còn phù hợp (tự động điều chỉnh) các siêu đường kính. Vì vậy, tối ưu hóa dựa trên dữ liệu của rõ ràng là một phần của đào tạo mô hình.
Theo nguyên tắc thông thường, bạn cũng có thể nói rằng đào tạo mô hình là tất cả mọi thứ cần phải được thực hiện trước khi bạn có chức năng hộp đen cuối cùng sẵn sàng sử dụng để có thể đưa ra dự đoán cho các trường hợp mới.
PS: Tôi thấy thuật ngữ kiểm tra so với xác nhận rất khó hiểu bởi vì trong lĩnh vực của tôi "xác thực" có nghĩa là chứng minh rằng mô hình cuối cùng phù hợp với mục đích và do đó người khác gọi là kiểm tra thay vì xác nhận. Tôi thích gọi bộ kiểm tra bên trong là "bộ kiểm tra điều chỉnh" và "bộ kiểm tra xác thực cuối cùng" bên ngoài hoặc tương tự.
Cập nhật:
Vì vậy, nếu mô hình của tôi (tức là tham số điều chỉnh của tôi trong trường hợp này) không xác thực bên ngoài, tôi nên làm gì sau đó?
Thông thường, điều này không có gì xảy ra: có những tình huống điển hình có thể gây ra sự thất bại như vậy. Và tất cả các tình huống như vậy mà tôi biết là tình huống quá mức. Bạn cần lưu ý rằng trong khi chính quy hóa giúp giảm số lượng các trường hợp đào tạo cần thiết, tối ưu hóa dựa trên dữ liệu cần một lượng lớn dữ liệu.
Khuyến nghị của tôi:
Thông thường, bạn (nên) đã có những kỳ vọng khó khăn, ví dụ: hiệu suất nào sẽ đạt được, hiệu suất nào bạn cho là đẹp mắt đáng ngờ. Hoặc có thông số kỹ thuật hiệu suất bạn cần đạt được và hiệu suất cơ bản. Từ đó và số lượng các trường hợp đào tạo có sẵn (đối với sơ đồ chia tách mà bạn đã quyết định), hãy tính độ không đảm bảo dự kiến cho các thử nghiệm bên trong (điều chỉnh). Nếu sự không chắc chắn đó chỉ ra rằng bạn sẽ không thể có được sự so sánh có ý nghĩa, thì đừng thực hiện tối ưu hóa dựa trên dữ liệu.
Bạn nên kiểm tra mức độ ổn định của cả hai dự đoán thu được với và tối ưu được tìm thấy bởi quy trình điều chỉnh tự động. Nếu λ không ổn định một cách hợp lý đối với các phân chia dữ liệu khác nhau của bạn, thì việc tối ưu hóa không hoạt động.
Nếu bạn thấy rằng bạn sẽ không thể thực hiện tối ưu hóa dựa trên dữ liệu hoặc cuối cùng nó không hoạt động, bạn có thể chọn theo kiến thức chuyên môn của mình, ví dụ như từ kinh nghiệm với dữ liệu tương tự. Hoặc theo kiến thức mà nếu bạn phát hiện ra rằng việc tối ưu hóa thất bại, bạn sẽ cần một sự chính quy hóa mạnh mẽ hơn: việc quá mức dẫn đến sự thất bại đối với các mô hình quá phức tạp.