Sau khi thực hiện tìm kiếm lưới cho từng mô hình thay thế, bạn có thể và nên kiểm tra một số điều sau:
- biến thể của các thông số tối ưu (ở đây và C ).
Các thông số tối ưu có ổn định không? Nếu không, bạn rất có thể gặp rắc rối.γC
- So sánh hiệu suất được báo cáo của xác nhận chéo bên trong và bên ngoài.
Nếu xác thực chéo bên trong (tức là điều chỉnh) trông tốt hơn nhiều so với bên ngoài (xác thực mô hình cuối cùng), thì bạn cũng gặp rắc rối: bạn đang quá mức. Có một rủi ro đáng kể, rằng các tham số điều chỉnh là không tối ưu. Tuy nhiên, nếu xác thực chéo bên ngoài được thực hiện đúng (tất cả các bộ kiểm tra thực sự độc lập với các mô hình thay thế tương ứng), thì ít nhất bạn vẫn có ước tính không thiên vị (!) Về hiệu suất của mô hình. Nhưng bạn không thể chắc chắn rằng nó là tối ưu.
- Làm thế nào phát âm là tối ưu? Liệu hiệu suất giảm xuống nhanh chóng cho các tham số tối ưu? Làm thế nào tốt là hiệu suất tối ưu?
Có rất nhiều điều để nói về việc quá mức bằng cách lựa chọn mô hình. Tuy nhiên, thật tốt khi nhớ rằng cả phương sai và thiên vị lạc quan đều có thể thực sự gây tổn thương
- phương sai có nghĩa là bạn có thể vô tình kết thúc khá xa các siêu tham số thực sự tối ưu.
- nhưng cũng thiên vị có thể làm tổn thương: nếu bạn đang sử dụng quá mức, bạn có thể gặp phải tình huống trong đó nhiều mô hình trông hoàn hảo với xác nhận chéo bên trong (nhưng chúng không thực sự). Trong trường hợp đó, việc điều chỉnh có thể đi lạc hướng vì nó không nhận ra sự khác biệt giữa các mô hình.
- Nếu sự thiên vị phụ thuộc vào các tham số siêu, bạn đang gặp rắc rối lớn.
Nếu bạn quan tâm đến một ví dụ và bạn có thể đọc tiếng Đức, tôi có thể đưa luận án Ngoại giao của mình lên mạng.
Theo kinh nghiệm của tôi, điều chỉnh siêu âm là một ý tưởng cực kỳ hiệu quả để vượt quá ...
Bây giờ, nếu bạn nhận ra rằng bạn đang sử dụng quá mức, bạn có hai tùy chọn chính:
- báo cáo rằng việc tối ưu hóa có vấn đề với việc quá mức nhưng bạn đã thực hiện xác nhận bên ngoài phù hợp dẫn đến ... (kết quả xác thực chéo bên ngoài).
- hạn chế sự phức tạp của mô hình. Một cách để làm điều này là sửa các siêu tham số:
Thay thế cho việc điều chỉnh các tham số siêu cho từng tập huấn luyện, bạn có thể chỉ định trước các tham số ( siêu) (tức là sửa chúng trước). Tôi làm điều đó càng nhiều càng tốt cho các mô hình của tôi vì tôi thường có ít trường hợp hơn bạn có, xem bên dưới.
Tuy nhiên, việc sửa lỗi này phải thực sự được thực hiện và trung thực trước đó: ví dụ: tôi đã hỏi một đồng nghiệp về các tham số được tối ưu hóa của anh ta trên một tập dữ liệu tương tự (thử nghiệm độc lập) hoặc thực hiện thử nghiệm trước, bao gồm tìm kiếm lưới trên các tham số. Thử nghiệm đầu tiên đó sau đó được sử dụng để sửa một số tham số thử nghiệm cũng như các tham số mô hình cho thử nghiệm thực tế và phân tích dữ liệu. Xem bên dưới để giải thích thêm.
Tất nhiên có thể thực hiện kiểm tra thích hợp trên các mô hình được tối ưu hóa tự động (xác thực kép hoặc lồng nhau), nhưng kích thước mẫu của bạn có thể không cho phép chia dữ liệu hai lần .
Trong tình huống đó, IMHO sẽ tốt hơn nhiều khi báo cáo ước tính trung thực cho một mô hình được xây dựng bằng kinh nghiệm chuyên môn về cách chọn tham số mô hình hơn là báo cáo ước tính quá mức trên một loại mô hình được tối ưu hóa tự động.
Một quan điểm khác về tình huống này là bạn phải đánh đổi
- hiệu suất kém hơn do đặt sang một bên các trường hợp khác để tối ưu hóa tham số (kích thước mẫu đào tạo nhỏ hơn => mô hình kém hơn, nhưng tham số "tối ưu")
- hiệu suất kém hơn do sửa chữa tham số dưới mức tối ưu của chuyên gia (nhưng trên dữ liệu đào tạo lớn hơn).
Một số suy nghĩ tương tự về một câu hỏi tương tự: /stats//a/27761/4598
Về việc sửa các tham số và nhận xét của Dikran Marsupial
Tôi đang sử dụng thuật ngữ siêu tham số vì Dikran Marsupial sử dụng nó trong bài viết của mình (liên kết trong câu trả lời của anh ấy)
Tôi làm việc với dữ liệu phổ. Đây là một loại phép đo trong đó phân tích và mô hình hóa dữ liệu thường bao gồm khá nhiều tiền xử lý. Điều này có thể được xem là siêu tham số (ví dụ: nên sử dụng thứ tự đa thức nào cho đường cơ sở? Nên đưa vào các kênh đo lường nào?). Có các quyết định khác gần hơn với các tham số svm của bạn, ví dụ: có bao nhiêu thành phần chính sẽ sử dụng nếu PCA được thực hiện để giảm kích thước trước khi mô hình "thực" được đào tạo? Và đôi khi tôi cũng sử dụng phân loại SVM, vì vậy tôi phải quyết định các tham số SVM.
Bây giờ, IMHO cách tốt nhất để sửa các siêu tham số là nếu bạn có lý do đến từ ứng dụng. Ví dụ, tôi thường quyết định loại đường cơ sở nào được sử dụng bởi các lý do vật lý / hóa học / sinh học (nghĩa là kiến thức về mẫu vật và hành vi quang phổ xuất phát từ đó). Tuy nhiên, tôi không biết về một đối số như vậy giúp với các tham số SVM ...
Trường hợp tiền thí nghiệm tôi đã đề cập ở trên trông như sau:
- chúng tôi lấy dữ liệu của một loạt các tế bào (muốn phân biệt các dòng tế bào khác nhau).
Phổ được phân tích, SVM xác thực chéo kép được chạy (dành một hoặc hai đêm trên máy chủ tính toán).
- γC
- Tôi cũng quan sát thấy một mức quá mức nhất định: xác nhận chéo bên ngoài không hoàn toàn tốt như kết quả điều chỉnh. Đó là như mong đợi.
- Tuy nhiên, có sự khác biệt về hiệu suất so với phạm vi điều chỉnh của các tham số siêu và hiệu suất trên lưới điều chỉnh trông khá mượt mà. Tốt
Kết luận của tôi là: mặc dù tôi không thể chắc chắn rằng các tham số siêu cuối cùng là tối ưu, nhưng xác thực chéo bên ngoài cho tôi một ước tính chính xác về hiệu suất của các mô hình thay thế.
Trong phần thử nghiệm, chúng tôi đã quyết định một số thay đổi trong thiết lập thử nghiệm (những điều không ảnh hưởng đến tín hiệu nhiễu của dữ liệu, nhưng điều đó tiến thêm một bước trong tự động hóa thiết bị)
Chúng tôi cải thiện các thiết lập thử nghiệm và có được phổ mới. Là tế bào, chúng cần được phát triển mới. Tức là tập dữ liệu mới là các lô văn hóa độc lập.
Bây giờ tôi phải đối mặt với quyết định: Tôi có nên "bỏ qua" xác nhận chéo bên trong và chỉ đi với các tham số siêu tôi đã xác định với dữ liệu cũ?
- Như đã đề cập ở trên, tôi có nguy cơ rằng các tham số siêu xác định trước này không tối ưu.
- Nhưng tôi cũng không thể chắc chắn có được các tham số siêu tối ưu thực sự bằng cách thực hiện xác nhận chéo (điều chỉnh) bên trong.
- Tuy nhiên, việc điều chỉnh dữ liệu cũ đã ổn định.
- Thực hiện tối ưu hóa tôi sẽ huấn luyện ít mẫu hơn: Vì dù sao tôi cũng có quá ít mẫu (TM) Tôi phải mong đợi có được các mẫu xấu hơn nếu tôi đặt nhiều mẫu hơn cho vòng xác thực chéo thứ hai.
Vì vậy, trong trường hợp đó, tôi đã quyết định sử dụng các tham số cố định (theo kinh nghiệm trên dữ liệu tương tự và biết rằng trong tương lai chúng tôi sẽ phải thực hiện "bài tập về nhà" của mình, bao gồm cả những việc khác kiểm tra lại các quyết định này với dữ liệu lớn).
Lưu ý rằng điều quan trọng là tôi bỏ qua phần bên trong ( điều chỉnh xác thực chéo), không phải phần bên ngoài. Với các tham số siêu cố định, tôi có được ước tính không thiên vị về hiệu suất của một mô hình tối ưu có thể. Đúng là ước tính này có thể có phương sai cao, nhưng phương sai này về cơ bản là giống nhau cho dù tôi có thực hiện điều chỉnh bên trong hay không.
Bỏ qua việc trả tiền chéo bên ngoài Tôi sẽ có được ước tính sai lệch lạc quan về một mô hình được điều chỉnh - tùy thuộc vào ứng dụng và dữ liệu có thể là vô giá trị (nếu rất nhiều quá mức) và xu hướng lạc quan có thể không chấp nhận được.