Có quá mức trong phương pháp modellng này không


11

Gần đây tôi được cho biết rằng quá trình tôi tuân theo (thành phần của Luận án MS) có thể được coi là quá phù hợp. Tôi đang tìm cách để hiểu rõ hơn về điều này và xem nếu người khác đồng ý.

Mục tiêu của phần này của bài báo là

  • So sánh hiệu suất của Cây hồi quy Gradient Boosted với Rừng ngẫu nhiên trên tập dữ liệu.

  • Nhìn vào hiệu suất của mô hình cuối cùng được chọn (GBM hoặc RF).

Các gói gbmrandomForesttrong R đang được sử dụng, cùng với
caret.

Quá trình sau đây như sau:

  • Xử lý sơ bộ dữ liệu (ví dụ: cắm các giá trị còn thiếu của các yếu tố dự đoán danh nghĩa với một danh mục riêng biệt gọi là "Mất tích"). Biến mục tiêu không được xem xét liên quan đến bất kỳ quá trình tiền xử lý nào (rất nhỏ).
  • Tạo một lưới các giá trị cho các tham số meta của từng thuật toán (ví dụ: số lần lặp cho GBM).
  • Tạo 25 phần tách ngẫu nhiên của tập dữ liệu (đào tạo 65% và kiểm tra 35%).

Lặp lại 25 lần như sau cho GBM (Mỗi lần sử dụng một trong các phân tách kiểm tra / đào tạo ngẫu nhiên. Mỗi lần, tập huấn luyện và kiểm tra là "hiện tại" của các thay đổi khóa học - đây là xác nhận chéo rời khỏi nhóm lặp đi lặp lại):

  • Sử dụng xác thực chéo 5 lần để tìm cài đặt tham số "tối ưu" của thuật toán qua tìm kiếm lưới. Không có gì từ các lần chạy trước được sử dụng ở tất cả trong lần chạy hiện tại.
  • Sau khi xác định, điều chỉnh mô hình phù hợp với tập huấn luyện "hiện tại" đầy đủ và dự đoán tập kiểm tra "hiện tại". Đặt thước đo hiệu suất của lần chạy này.

Sau khi có 25 biện pháp hiệu suất (thực tế là một biện pháp cụ thể theo miền, nhưng coi đó là độ chính xác) được lấy theo kiểu này, hãy thực hiện theo cùng một quy trình, sử dụng cùng một mẫu thử nghiệm và thử nghiệm độc lập, cho RF (cùng quy trình, chỉ khác với tìm kiếm lưới tất nhiên).

Bây giờ, tôi có 25 thước đo hiệu suất từ ​​các bộ kiểm tra "hiện tại" cho GBM và RF. Tôi so sánh chúng bằng cách sử dụng Bài kiểm tra xếp hạng có chữ ký của Wilcoxon và cũng là bài kiểm tra hoán vị. Tôi thấy GBM là vượt trội. Tôi cũng tuyên bố rằng việc phân phối thước đo hiệu suất từ ​​25 lần chạy này cho GBM là hiệu suất dự kiến ​​của trình phân loại GBM cuối cùng.

Những gì tôi đã không làm, là rút ra một bộ kiểm tra ngẫu nhiên ngay từ đầu và đặt nó sang một bên để so sánh với mô hình GBM cuối cùng được xây dựng từ tất cả các dữ liệu đào tạo. Tôi cho rằng những gì tôi đã làm thực sự tốt hơn nhiều khi tôi lặp lại mô hình phân tách / điều chỉnh mô hình / thử nghiệm trong quá trình giữ lại 25 lần so với chỉ một lần.

Có quá phù hợp ở đây? Vì 25 lần chạy đã được sử dụng để chọn GBM so với RF, điều đó có nghĩa là các biện pháp hiệu suất có được từ quy trình không thể được sử dụng làm ước tính hiệu suất cho mô hình đầy đủ?

EDIT Đáp lại bình luận của Wayne, đây là những gì đã được thực hiện trong mỗi 25 lần chạy:

  1. Dữ liệu được lấy mẫu cho tập huấn thứ i (i = 1, .., 25) được chia thành 5 nhóm có kích thước bằng nhau. Một mô hình phù hợp bằng cách sử dụng 4 trong số 5 nhóm, đặt tham số GBM (ví dụ: số lần lặp) bằng với các giá trị trong lưới thứ j (j = 1, .., 18).
  2. Hiệu suất trên nhóm thứ 5 được tính bằng mô hình này.
  3. Bước 1 và 2 được lặp lại 4 lần nữa (CV cũ gấp k thông thường với k = 5). Hiệu suất được tính trung bình từ 5 lần chạy phụ và điều này tạo nên hiệu suất mong đợi của GBM với bộ giá trị tham số nhất định đó.
  4. Các bước 1 -3 được lặp lại cho 17 "hàng" khác trong lưới.

Sau khi hoàn thành, các giá trị tham số tốt nhất từ ​​bài tập trên đã được xác định và GBM phù hợp bằng cách sử dụng các giá trị tham số này và tập huấn luyện đầy đủ thứ i. Hiệu suất của nó được ước tính trên bộ thử nghiệm thứ i.

Khi toàn bộ quá trình này được thực hiện 25 lần, có 25 biện pháp hiệu suất có sẵn cho GBM. Sau đó, họ được tập hợp cho RF theo cùng một cách chính xác.

Sau khi so sánh và chọn GBM, tôi đã xem xét 25 biện pháp hiệu suất đó và lấy giá trị trung bình và Lỗi Stnd để xác định khoảng tin cậy cho mô hình GBM trên dữ liệu này.


Tôi muốn xem chi tiết hơn trong gạch đầu dòng của bạn cho phần "Lặp lại 25 lần sau ...". Dữ liệu nào được gấp 5 lần và dữ liệu được sử dụng cho mỗi bộ tham số meta như thế nào?
Wayne

@Wayne, vui lòng xem chỉnh sửa của tôi.
B_Miner

Câu trả lời:


5

Hãy tưởng tượng thay vì chỉ chọn GBM so với RF, thay vào đó bạn chọn trong số 100 phân loại GBM khác nhau (giả sử đào tạo GBM sử dụng một số loại ngẫu nhiên và bạn gán chúng ngẫu nhiên từ 1 đến 100). Sau đó, bạn sẽ chọn một trong số 100 GBM đó là GBM tốt nhất. Nhưng gần như chắc chắn rằng một trong số 100 mô hình mà bạn chọn đã may mắn đánh bại 99 anh chị em của nó, và vì vậy ước tính hiệu suất của bạn sẽ rất lạc quan.

Bạn chỉ sử dụng hai người học và họ không được đào tạo bởi một thuật toán giống hệt nhau, vì vậy GBM duy nhất của bạn có thể không có nhiều áp lực lựa chọn đối với nó (đặc biệt là nếu nó vượt trội so với RF), nhưng ước tính lỗi của bạn vẫn sẽ một chút lạc quan.


Nếu một khi GBM được chọn làm mô hình cuối cùng (và giả vờ tôi đã rút ra một bộ kiểm tra duy nhất ngay từ đầu), tôi lấy tất cả dữ liệu đào tạo và khớp với GBM với nó (một lần nữa sử dụng CV để chọn tham số của thuật toán) sau đó tôi chấm điểm bài kiểm tra này Bạn có thực sự nghĩ rằng số đo lỗi trên một bộ kiểm tra đó tốt hơn so với những gì tôi có trong 25 mẫu thử lại không? Đây là phần tôi đấu tranh. Có phải là bạn không thể sử dụng cùng một dữ liệu để lựa chọn mô hình (GBM qua RF hoặc GBM so với 100 lựa chọn khác) VÀ sử dụng thước đo lỗi xuất phát từ nó?
B_Miner

Tất nhiên tôi có ý tưởng không sử dụng dữ liệu đào tạo để đánh giá hiệu suất, nhưng trường hợp này có vẻ khác và hợp lệ ....
B_Miner

@B_Miner Tôi nghĩ đó là một vi phạm rất nhỏ, nhưng tôi không có trong hội đồng luận án của bạn: P
rrenaud

Khi vi phạm tồn tại, bạn có cho rằng nó "sử dụng cùng một dữ liệu cho lựa chọn mô hình (GBM trên RF hoặc GBM so với 100 lựa chọn khác) VÀ sử dụng thước đo lỗi xảy ra từ nó không?"
B_Miner

3

Nghe có vẻ như bạn đã thử pha trộn hai kỹ thuật, mỗi kỹ thuật đều hợp pháp, nhưng cách bạn thực hiện có cảm giác như bạn sẽ bị rò rỉ dữ liệu giữa các trường hợp.

Ở cấp độ thấp hơn, bạn dường như đang sử dụng CV chính xác. Điều này sẽ gợi ý rằng cấp cao nhất cũng phải là CV, dẫn đến CV được lồng, nhưng cấp cao nhất của bạn không phải là CV.

Ở cấp cao nhất, có vẻ như bạn có thể muốn thực hiện xác thực bootstrap, trong trường hợp đó, bootstrap kép sẽ hoạt động cho cấp cao nhất và cấp thấp hơn, nhưng cấp cao nhất của bạn không phải là bootstrap thích hợp.

Bạn có thể muốn xem bài viết stackexchange này. và các bài viết mà nó liên kết đến, và có lẽ cơ cấu lại cấp cao nhất của bạn để trở thành một CV. Ngoài ra, lưu ý rằng không ai khác ngoài bài viết của Frank Harrell trong chủ đề đó và gợi ý rằng CV sẽ được lặp đi lặp lại rất nhiều lần. (Tôi đã bị sốc, nghĩ rằng một lần lặp lại nên làm điều đó.)


Bạn có ý nghĩa gì bởi cấp cao nhất - 25 lần lặp lại của nhóm rời khỏi nhóm?
B_Miner

Tôi đọc những bình luận của Tiến sĩ. Tôi nghĩ rằng có một sự mất kết nối giữa một số lời khuyên và khai thác dữ liệu (dữ liệu lớn). 25 lần lặp mà tôi đã hoàn thành mất 4 ngày và đó là cách lấy mẫu các trường hợp tiêu cực đáng kể.
B_Miner
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.