Làm thế nào để xây dựng mô hình cuối cùng và điều chỉnh ngưỡng xác suất sau khi xác thực chéo lồng nhau?


17

Đầu tiên, xin lỗi vì đã đăng một câu hỏi đã được thảo luận ở đây , đây , đây , đây , đâyvà để hâm nóng một chủ đề cũ. Tôi biết @DikranMarsupial đã viết về chủ đề này từ rất lâu trong các bài đăng và tạp chí, nhưng tôi vẫn bối rối, và đánh giá từ số lượng bài viết tương tự ở đây, nó vẫn là thứ mà người khác đấu tranh để nắm bắt. Tôi cũng nên nói rằng tôi đã nhận được mâu thuẫn về chủ đề này đã làm tăng thêm sự nhầm lẫn của tôi. Bạn cũng nên biết rằng ban đầu tôi là một nhà vật lý chứ không phải là một nhà thống kê, vì vậy chuyên môn về lĩnh vực của tôi ở đây có phần hạn chế. Tôi đang viết một bài báo trong đó tôi muốn sử dụng CV lồng nhau để ước tính hiệu suất tôi có thể mong đợi từ mô hình cuối cùng của mình. Trong miền của tôi, đây là lần đầu tiên. (Chúng tôi gần như không bao giờ sử dụng bất kỳhình thức CV mạnh mẽ trong lĩnh vực của tôi nhưng vui vẻ bơm ra các bài báo với kết quả từ các nghiên cứu sử dụng mạng lưới thần kinh và tăng cường các cây quyết định!) Vì vậy, điều rất quan trọng là tôi phải hiểu rất kỹ và rõ ràng để tôi không làm hỏng và tuyên truyền một thủ tục sai lầm cho cộng đồng của tôi mà có thể mất nhiều năm để học! Cảm ơn! Với câu hỏi ...

Làm cách nào để xây dựng mô hình cuối cùng sau khi xác thực chéo lồng nhau?

Tôi đang đào tạo một mô hình glmnet đơn giản với chuẩn hóa L1 và L2. Nó nhanh, đơn giản và dễ hiểu. Tôi thực hiện các phép biến đổi định tâm, chia tỷ lệ và biến đổi Box-Cox để các phân phối tính năng được tập trung vào trung bình, được tiêu chuẩn hóa và có phần giống Gaussian. Tôi thực hiện bước này trong xác nhận chéo, để tránh rò rỉ thông tin. Hoàn toàn vì phần cứng của tôi cực kỳ chậm và tôi không có quyền truy cập vào nhiều cơ CPU hơn, tôi cũng thực hiện lựa chọn tính năng dựa trên bộ lọc nhanh trong CV sau khi tiền xử lý tính năng. Tôi đang sử dụng tìm kiếm lưới ngẫu nhiên để chọn các siêu đường kính alpha và lambda. Tôi hiểu rằng tôi không nênVòng lặp CV để có được ước tính này. Tôi hiểu rằng vòng CV bên trong được sử dụng để lựa chọn mô hình (trong trường hợp này là siêu đường kính tối ưu) và vòng lặp bên ngoài được sử dụng để đánh giá mô hình , nghĩa là CV bên trong và bên ngoài phục vụ hai mục đích khác nhau thường bị nhầm lẫn. (Làm thế nào tôi làm cho đến nay?)

Bây giờ, các liên kết tôi đã đăng cho thấy rằng "cách nghĩ về xác thực chéo là ước tính hiệu suất thu được bằng cách sử dụng phương pháp xây dựng mô hình, thay vì ước tính hiệu suất của mô hình". Do đó, tôi nên giải thích kết quả của thủ tục CV lồng nhau như thế nào?

Lời khuyên mà tôi đã đọc dường như chỉ ra những điều sau đây --- vui lòng sửa cho tôi nếu điều này sai: CV bên trong là một phần của cơ chế cho phép tôi chọn các siêu đường kính alpha và lambda tối ưu của mô hình glmnet của tôi. CV bên ngoài cho biết ước tính tôi có thể mong đợi nhận được từ mô hình cuối cùng nếu tôi áp dụng quy trình chính xác như được sử dụng trong CV bên trong bao gồm điều chỉnh siêu tham sốsử dụng toàn bộ dữ liệu để xây dựng mô hình cuối cùng. Đó là, điều chỉnh siêu tham số là một phần của "phương pháp xây dựng mô hình". Điều này có đúng hay không? Bởi vì đây là điều làm tôi bối rối. Ở những nơi khác tôi đã thấy rằng quy trình xây dựng mô hình cuối cùng sẽ được triển khai bao gồm đào tạo trên toàn bộ tập dữ liệu bằng các giá trị cố địnhcủa các siêu đường kính đã được chọn bằng cách sử dụng CV. Ở đây, "phương pháp xây dựng mô hình" không bao gồm điều chỉnh. Vì vậy, đó là gì? Tại một số điểm, siêu đường kính tối ưu được chọn và cố định để xây dựng mô hình cuối cùng! Ở đâu? Làm sao? Nếu vòng lặp bên trong của tôi là CV gấp 5 lần và vòng lặp bên ngoài của tôi là CV gấp 5 lần và tôi chọn, 100 điểm để kiểm tra như một phần của tìm kiếm lưới ngẫu nhiên trong CV bên trong, tôi thực sự đã huấn luyện glmnet bao nhiêu lần mô hình? (100 * 5 * 5) + 1 cho bản dựng cuối cùng, hoặc còn nhiều bước nữa mà tôi không biết?

Về cơ bản, tôi cần một mô tả rất rõ ràng về cách diễn giải ước tính hiệu suất từ ​​CV lồng nhau và cách xây dựng mô hình cuối cùng.

Tôi cũng muốn biết quy trình thích hợp để chọn ngưỡng xác suất để chuyển đổi điểm xác suất từ ​​mô hình glmnet cuối cùng của tôi thành nhãn lớp (nhị phân) --- một vòng CV khác có cần thiết không?

Câu trả lời:


8

Xác nhận chéo lồng nhau giải thích mà không làm tổ

Đây là cách tôi thấy (lồng ghép) xác thực chéo và xây dựng mô hình. Lưu ý rằng tôi là nhà hóa học và giống như bạn nhìn từ phía ứng dụng đến quy trình xây dựng mô hình (xem bên dưới). Quan điểm chính của tôi ở đây là từ quan điểm của tôi, tôi không cần một sự xác nhận chéo được lồng ghép chuyên dụng . Tôi cần một phương thức xác nhận (ví dụ: xác thực chéo) và chức năng đào tạo mô hình:

model = f (training data)

chức năng đào tạo người mẫu "của tôi" f không cần bất kỳ siêu tham số bởi vì nó làm tất cả trong nội bộ điều chỉnh hyperparameter (ví dụ của bạn alpha, lambdathreshold).

Nói cách khác, chức năng đào tạo của tôi có thể chứa bất kỳ số lượng xác nhận chéo bên trong nào (hoặc ngoài túi hoặc ước tính hiệu suất bao giờ tôi có thể thấy hữu ích). Tuy nhiên, lưu ý rằng sự khác biệt giữa các tham sốsiêu tham số điển hình là các siêu đường kính cần được điều chỉnh theo tập dữ liệu / ứng dụng trong khi các tham số có thể được trang bị bất kể đó là dữ liệu gì. Do đó, theo quan điểm của nhà phát triển thuật toán phân loại mới, sẽ chỉ cung cấp hàm phù hợp "trần trụi" ( g (training data, hyperparameters)) phù hợp với các tham số nếu được cung cấp dữ liệu và siêu âm.

Điểm quan trọng của chức năng đào tạo "bên ngoài" flà sau khi bạn thực hiện xác thực chéo, nó cung cấp cho bạn cách đơn giản để đào tạo "trên toàn bộ tập dữ liệu": chỉ sử dụng f (whole data set)thay cho lệnh gọi f (cv split training data)cho các mô hình thay thế xác thực chéo.

Do đó, trong ví dụ của bạn, bạn sẽ có 5 + 1 cuộc gọi đến fvà mỗi cuộc gọi đến fsẽ có ví dụ 100 * 5 cuộc gọi đến g.


ngưỡng xác suất

Mặc dù bạn có thể làm điều này với một xác nhận chéo khác, nhưng điều này là không cần thiết: nó chỉ là một siêu tham số nữa mà mô hình sẵn sàng sử dụng của bạn có và có thể được ước tính bên trong f.

Những gì bạn cần để sửa nó là một heuristic cho phép bạn tính ngưỡng như vậy. Có rất nhiều phương pháp phỏng đoán (từ ROC và chỉ định tầm quan trọng của việc tránh dương tính giả so với âm tính giả so với độ nhạy hoặc độ đặc hiệu tối thiểu chấp nhận được hoặc PPV hoặc NPV để cho phép hai ngưỡng và do đó mức "không chắc chắn" (NA), v.v. ) phù hợp trong các tình huống khác nhau - heuristic tốt thường rất ứng dụng cụ thể.

Nhưng đối với câu hỏi ở đây, bạn có thể thực hiện điều này bên trong fvà ví dụ: sử dụng các dự đoán thu được trong quá trình xác thực chéo bên trong để tính ROC và sau đó tìm điểm / ngưỡng làm việc của bạn tương ứng.


Nhận xét cụ thể cho các phần của câu hỏi

Tôi hiểu rằng tôi không nên báo cáo hiệu suất từ ​​CV được sử dụng để chọn siêu đường kính tối ưu làm ước tính hiệu suất dự kiến ​​của mô hình cuối cùng của tôi (sẽ quá lạc quan) mà thay vào đó nên bao gồm một vòng CV bên ngoài để có được ước tính này .

Đúng. (Mặc dù ước tính bên trong không mang thông tin liên quan đến ước tính bên ngoài: nếu nó tối ưu hơn nhiều so với ước tính bên ngoài, bạn thường bị quá mức.)

Tôi hiểu rằng vòng CV bên trong được sử dụng để chọn mô hình

Bất kỳ loại điều chỉnh mô hình dựa trên dữ liệu, thực sự -> bao gồm điều chỉnh ngưỡng ngưỡng của bạn.

(trong trường hợp này, siêu đường kính tối ưu) và vòng lặp bên ngoài được sử dụng để đánh giá mô hình, nghĩa là CV bên trong và bên ngoài phục vụ hai mục đích khác nhau thường bị nhầm lẫn.

Đúng.

Đó là, điều chỉnh siêu tham số là một phần của "phương pháp xây dựng mô hình".

Tôi cũng thích nhìn theo cách này: Tôi là nhà hóa học và giống như bạn nhìn từ phía ứng dụng: đối với tôi, một mô hình được đào tạo / trang bị không hoàn chỉnh nếu không có siêu âm, hay chính xác hơn, một mô hình là thứ tôi có thể sử dụng trực tiếp có được dự đoán. Mặc dù như bạn lưu ý, những người khác có chế độ xem khác (không điều chỉnh siêu tham số). Theo kinh nghiệm của tôi, đây thường là trường hợp với những người phát triển các mô hình mới: điều chỉnh siêu tham số sau đó là "vấn đề được giải quyết" và không được xem xét. (lưu ý bên lề: quan điểm của họ về những gì xác thực chéo có thể làm về mặt xác thực cũng hơi khác so với những gì xác thực chéo có thể làm từ phía ứng dụng).

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.