Làm thế nào xấu là điều chỉnh siêu tham số bên ngoài xác nhận chéo?


20

Tôi biết rằng việc thực hiện điều chỉnh siêu tham số bên ngoài xác thực chéo có thể dẫn đến các ước tính cao về tính hợp lệ bên ngoài, bởi vì tập dữ liệu mà bạn sử dụng để đo hiệu suất là giống như bạn đã sử dụng để điều chỉnh các tính năng.

Điều tôi băn khoăn là vấn đề này tệ đến mức nào . Tôi có thể hiểu làm thế nào nó sẽ thực sự tồi tệ cho việc lựa chọn tính năng, vì điều này cung cấp cho bạn một số lượng lớn các tham số để điều chỉnh. Nhưng điều gì sẽ xảy ra nếu bạn đang sử dụng một cái gì đó như LASSO (chỉ có một tham số, cường độ chính quy) hoặc một khu rừng ngẫu nhiên không có lựa chọn tính năng (có thể có một vài tham số nhưng không có gì ấn tượng bằng việc thêm / giảm các tính năng nhiễu)?

Trong các kịch bản này, bạn có thể mong đợi mức độ lạc quan của mình đến mức nào?

Tôi đánh giá cao bất kỳ thông tin nào về việc này - nghiên cứu trường hợp, bài báo, giai thoại, v.v ... Cảm ơn!

EDIT: Để làm rõ, tôi không nói về việc ước tính hiệu suất mô hình trên dữ liệu đào tạo (nghĩa là hoàn toàn không sử dụng xác nhận chéo). Bằng cách "điều chỉnh siêu tham số bên ngoài xác thực chéo" Tôi có nghĩa là chỉ sử dụng xác thực chéo để ước tính hiệu suất của từng mô hình riêng lẻ, nhưng không bao gồm vòng lặp xác thực chéo thứ hai bên ngoài để sửa lỗi cho quá mức trong quy trình điều chỉnh siêu tham số (như khác biệt với quá mức trong quá trình đào tạo). Xem ví dụ câu trả lời ở đây .

Câu trả lời:


17

Những ảnh hưởng của sự thiên vị này có thể rất lớn. Một minh chứng tốt cho điều này được đưa ra bởi các cuộc thi học máy mở có tính năng trong một số hội nghị học máy. Chúng thường có bộ huấn luyện, bộ xác nhận và bộ kiểm tra. Các đối thủ cạnh tranh không được xem nhãn cho bộ xác thực hoặc bộ kiểm tra (rõ ràng). Bộ xác nhận được sử dụng để xác định thứ hạng của các đối thủ cạnh tranh trên bảng xếp hạng mà mọi người có thể thấy trong khi cuộc thi đang diễn ra. Điều rất phổ biến đối với những người đứng đầu bảng xếp hạng khi kết thúc cuộc thi là rất thấp trong bảng xếp hạng cuối cùng dựa trên dữ liệu thử nghiệm. Điều này là do họ đã điều chỉnh các tham số siêu cho các hệ thống học tập của mình để tối đa hóa hiệu suất của chúng trên bảng xếp hạng và khi làm như vậy đã trang bị quá mức dữ liệu xác nhậnbằng cách điều chỉnh mô hình của họ. Nhiều người dùng có kinh nghiệm hơn trả ít hoặc không chú ý đến bảng xếp hạng và áp dụng các ước tính hiệu suất không thiên vị nghiêm ngặt hơn để hướng dẫn phương pháp của họ.

Ví dụ trong bài báo của tôi (được đề cập bởi Jacques) cho thấy các tác động của loại sai lệch này có thể có cùng kích thước với sự khác biệt giữa các thuật toán học tập, vì vậy câu trả lời ngắn là không sử dụng các giao thức đánh giá hiệu suất thiên vị nếu bạn là thực sự quan tâm đến việc tìm hiểu những gì hoạt động và những gì không. Quy tắc cơ bản là "coi lựa chọn mô hình (ví dụ điều chỉnh siêu tham số) là một phần không thể thiếu của quy trình khớp mô hình và bao gồm trong mỗi lần xác thực chéo được sử dụng để đánh giá hiệu suất).

Thực tế là chính quy hóa ít có xu hướng phù hợp hơn so với lựa chọn tính năng chính xác là lý do mà LASSO, vv là những cách tốt để thực hiện lựa chọn tính năng. Tuy nhiên, kích thước của độ lệch phụ thuộc vào số lượng tính năng, kích thước của tập dữ liệu và tính chất của nhiệm vụ học tập (tức là có một yếu tố phụ thuộc vào tập dữ liệu cụ thể và sẽ thay đổi tùy theo ứng dụng). Bản chất phụ thuộc dữ liệu của điều này có nghĩa là bạn nên ước tính kích thước của độ lệch bằng cách sử dụng giao thức không thiên vị và so sánh sự khác biệt (báo cáo rằng phương pháp này phù hợp với lựa chọn mô hình trong trường hợp cụ thể này có thể được quan tâm trong chính nó).

GC Cawley và NLC Talbot (2010), "Quá phù hợp trong lựa chọn mô hình và sai lệch 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, tr.2079, phần 5.2.)


7
  • Sự thiên vị mà bạn đang nói đến vẫn chủ yếu liên quan đến quá mức.
  • Bạn có thể giữ rủi ro ở mức thấp bằng cách chỉ đánh giá rất ít mô hình để sửa lỗi siêu tham số chính quy cộng với độ phức tạp thấp trong lựa chọn hợp lý.

  • Như @MarcClaesen chỉ ra, bạn có lộ trình học tập phù hợp với mình, điều này sẽ phần nào giảm bớt sự thiên vị. Nhưng đường cong học tập thường chỉ dốc cho rất ít trường hợp, và sau đó quá mức cũng là một vấn đề.

Cuối cùng, tôi hy vọng sự thiên vị sẽ phụ thuộc nhiều vào

  • dữ liệu (thật khó để khắc phục sự cố đơn phương ...) và
  • kinh nghiệm và hành vi lập mô hình của bạn : Tôi nghĩ rằng có thể bạn sẽ quyết định mức độ phức tạp gần như phù hợp cho mô hình của bạn nếu bạn có đủ kinh nghiệm với cả loại mô hình và ứng dụng và nếu bạn cư xử rất tốt và không chịu thua sự cám dỗ cho các mô hình phức tạp hơn. Nhưng tất nhiên, chúng tôi không biết bạn và do đó không thể đánh giá mức độ bảo thủ của bạn.
    Ngoài ra, thừa nhận rằng mô hình thống kê ưa thích của bạn rất chủ quan bạn không còn trường hợp nào để xác thực thường không phải là điều bạn muốn. (Ngay cả trong những tình huống mà kết quả chung được dự kiến ​​sẽ tốt hơn.)

Tôi không sử dụng LASSO (vì lựa chọn biến không có ý nghĩa nhiều đối với dữ liệu của tôi vì lý do vật lý), nhưng PCA hoặc PLS thường hoạt động tốt. Một sườn núi sẽ là một sự thay thế gần với LASSO và phù hợp hơn với loại dữ liệu. Với những dữ liệu này, tôi đã thấy một thứ tự phân loại sai nhiều hơn về "xác thực phím tắt" so với xác nhận chéo độc lập (bên ngoài) thích hợp. Tuy nhiên, trong những tình huống cực đoan này, kinh nghiệm của tôi nói rằng việc xác thực phím tắt có vẻ tốt đáng ngờ, ví dụ 2% phân loại sai => 20% với xác thực chéo thích hợp.

Tuy nhiên, tôi không thể cung cấp cho bạn các số thực áp dụng cho câu hỏi của bạn:

  • Cho đến nay, tôi đã quan tâm nhiều hơn về các loại "phím tắt" khác xảy ra trong lĩnh vực của mình và dẫn đến rò rỉ dữ liệu, ví dụ như phổ xác thực chéo thay vì bệnh nhân (sai lệch rất lớn! Tôi có thể chỉ cho bạn 10% phân loại sai -> 70% = đoán trong số 3 lớp) hoặc không bao gồm PCA trong xác thực chéo (2 - 5% -> 20 - 30%).
  • Trong các tình huống mà tôi phải quyết định liệu một xác thực chéo mà tôi có thể đủ khả năng nên dành cho tối ưu hóa mô hình hoặc xác thực, tôi luôn quyết định xác thực và sửa tham số độ phức tạp theo kinh nghiệm. PCA và PLS hoạt động tốt như các kỹ thuật chính quy là sự tôn trọng vì tham số độ phức tạp (# thành phần) có liên quan trực tiếp đến các tính chất vật lý / hóa học của vấn đề (ví dụ tôi có thể đoán được có bao nhiêu nhóm chất hóa học khác nhau mà tôi mong đợi). Ngoài ra, vì lý do hóa lý, tôi biết rằng các thành phần sẽ trông giống như quang phổ và nếu chúng ồn ào, tôi đang sử dụng quá mức. Nhưng kinh nghiệm cũng có thể tối ưu hóa độ phức tạp của mô hình trên một tập dữ liệu cũ từ một thử nghiệm trước đó đủ tương tự để biện minh cho việc truyền siêu âm và sau đó chỉ cần sử dụngtham số chính quy cho dữ liệu mới.
    Bằng cách đó, tôi không thể tuyên bố có mô hình tối ưu, nhưng tôi có thể tuyên bố có ước tính hợp lý về hiệu suất tôi có thể nhận được.
    Và với số bệnh nhân tôi có, dù sao cũng không thể thực hiện so sánh mô hình có ý nghĩa thống kê (hãy nhớ rằng, tổng số bệnh nhân của tôi nằm dưới cỡ mẫu được đề xuất để ước tính một tỷ lệ duy nhất [theo quy tắc ngón tay cái @FrankHarrell đưa ra ở đây]).

Tại sao bạn không chạy một số mô phỏng gần nhất có thể với dữ liệu của bạn và cho chúng tôi biết điều gì xảy ra?


Về dữ liệu của tôi: Tôi làm việc với dữ liệu phổ. Các tập dữ liệu thường rộng: vài chục trường hợp độc lập (bệnh nhân, mặc dù thường có rất nhiều phép đo cho mỗi trường hợp. Khoảng 10 thay đổi trong dữ liệu thô, tôi có thể giảm xuống 250 bằng cách áp dụng kiến ​​thức miền để cắt các khu vực không phù hợp ra khỏi quang phổ của tôi và để giảm độ phân giải quang phổ.


5

Nếu bạn chỉ chọn siêu tham số cho LASSO, thì không cần CV lồng nhau. Lựa chọn siêu tham số được thực hiện trong một tương tác CV đơn / phẳng.

λ

LtôiTtôiλ*TtôiLtôi .

λ*

(Đây không phải là phương pháp duy nhất để chọn siêu âm nhưng nó là phương pháp phổ biến nhất - đó cũng là quy trình "trung bình" được thảo luận và phê bình bởi GC Cawley và NLC Talbot (2010), "Phù hợp quá mức trong lựa chọn mô hình và sai lệch 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 , tr.2079 , mục 5.2.)

λ*λ* cho dữ liệu trong tương lai ? Ở đây bạn đang nói về ước tính không phải lựa chọn siêu tham số !!

Tôi biết về hai kết quả thử nghiệm trong việc đo lường độ lệch của ước tính này (so với lỗi tổng quát hóa thực sự cho các bộ dữ liệu tổng hợp)

cả truy cập mở.

Bạn cần một CV lồng nhau nếu:

a) bạn muốn chọn giữa LASSO và một số thuật toán khác, đặc biệt nếu chúng cũng có siêu âm

λ

λ

Cuối cùng, CV lồng nhau không phải là cách duy nhất để tính toán ước tính không thiên vị hợp lý của lỗi tổng quát hóa dự kiến. Đã có ít nhất ba đề xuất khác


2
Bạn có thể giải thích những gì bạn có nghĩa là "không có CV cho lựa chọn siêu tham số"? Từ những gì bạn viết, tôi không thể hiểu liệu bạn có muốn cảnh báo OP rằng họ không làm tổ hay không, hay nói chung là không có điều đó tồn tại.
cbeleites hỗ trợ Monica

(+1) để giải thích ngắn gọn về vấn đề & tài liệu tham khảo tốt. Nhưng, như @cbeleites chỉ ra, câu đầu tiên khá khó hiểu: dường như nó nhằm sửa chữa một sự hiểu lầm mà OP không có.
Scortchi - Tái lập Monica

@cbeleites (và Scortchi) - Tôi đang trả lời OP "EDIT:" trong đó (tôi tin) anh ta tuyên bố rằng anh ta đang sử dụng CV để chọn tham số ("chỉ xác thực chéo để ước tính hiệu suất của từng mô hình riêng lẻ") và anh ta lo lắng rằng anh ta đã không sử dụng CV lồng nhau ("nhưng không bao gồm một vòng xác thực chéo thứ hai bên ngoài để sửa lỗi cho quá mức trong quy trình điều chỉnh siêu tham số"). Tôi đã cố gắng nói với anh ta rằng không có CV bên ngoài trong việc lựa chọn tham số.
Jacques Wainer 16/2/2015

@JacquesWainer: Tôi tin rằng anh ấy muốn "sửa lỗi cho quá mức trong quy trình điều chỉnh siêu tham số" khi ước tính hiệu suất ngoài mẫu của quy trình (tình huống của bạn b ), thay vì bằng cách nào đó sửa giá trị được chọn của siêu tham số bằng cách sử dụng CV lồng nhau. Ở bất cứ giá nào, chỉnh sửa của bạn làm cho phần đầu câu trả lời của bạn rõ ràng hơn.
Scortchi - Khôi phục Monica

Có, tôi có nghĩa là "sửa [ước tính hiệu suất ngây thơ] cho quá mức trong quy trình điều chỉnh siêu tham số", chứ không phải "sửa [siêu âm được điều chỉnh] cho quá mức" hoặc bất cứ điều gì tương tự. Tôi xin lỗi vì sự nhầm lẫn; Tôi nên nói rõ hơn rằng tôi lo lắng về ước tính lỗi, không phải lựa chọn tham số.
Ben Kuhn

2

Bất kỳ thuật toán học phức tạp nào, như SVM, mạng nơ ron, rừng ngẫu nhiên, ... đều có thể đạt được độ chính xác đào tạo 100% nếu bạn cho phép chúng (ví dụ thông qua yếu / không chính quy), với hiệu suất tổng quát hóa hoàn toàn khủng khiếp.

κ(xi,xj)=exp(γxixj2)γ=100%

Nói tóm lại, bạn có thể dễ dàng kết thúc với một bộ phân loại hoàn hảo trên tập huấn luyện của mình mà học hoàn toàn không có gì hữu ích trên một bộ kiểm tra độc lập. Đó là xấu như thế nào.


Tôi không nói về việc đào tạo mô hình bên ngoài xác nhận chéo. Tôi đang nói về việc điều chỉnh các siêu đường kính (và vẫn đang sử dụng xác thực chéo để ước tính hiệu suất của từng bộ siêu đường kính). Tôi sẽ chỉnh sửa bài viết để làm rõ điều này.
Ben Kuhn

100%

Tại sao bạn nghĩ rằng tôi đang cân nhắc việc không sử dụng xác nhận chéo? Tôi đặc biệt nói, "... và vẫn sử dụng xác nhận chéo để ước tính hiệu suất của từng bộ siêu đường kính."
Ben Kuhn

1
γ=γγ

2
Tôi hoàn toàn hiểu sai câu hỏi của bạn. Trước khi chỉnh sửa nó rất khó hiểu. Nhân tiện, sự thiên vị mà bạn có vẻ quan tâm không nhất thiết là tích cực; vì nhiều cách tiếp cận mang lại các mô hình tốt hơn đáng kể khi được cung cấp nhiều dữ liệu đào tạo hơn, điều này đặc biệt phù hợp với các tập huấn luyện nhỏ + xác nhận chéo.
Marc Claesen
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.