Một số hướng dẫn hữu ích cho các tham số GBM là gì?


31

Một số hướng dẫn hữu ích để kiểm tra các tham số (ví dụ độ sâu tương tác, độ trễ, tốc độ mẫu, v.v.) bằng GBM là gì?

Giả sử tôi có 70-100 tính năng, dân số 200.000 và tôi dự định kiểm tra độ sâu tương tác của 3 và 4. Rõ ràng tôi cần thực hiện một số thử nghiệm để xem sự kết hợp nào giữa các tham số giữ mẫu tốt nhất. Bất kỳ đề xuất về cách tiếp cận thiết kế thử nghiệm này?

Câu trả lời:


34

Gói caret có thể giúp bạn tối ưu hóa lựa chọn tham số cho vấn đề của bạn. Họa tiết caretTrain cho thấy cách điều chỉnh các tham số gbm bằng cách sử dụng xác thực chéo lặp lại 10 lần - các phương pháp tối ưu hóa khác có sẵn, tất cả đều có thể chạy song song bằng cách sử dụng gói foreach. Sử dụng vignette("caretTrain", package="caret")để đọc tài liệu.

Các gói phần mềm hỗ trợ điều chỉnh shrinkage, n.treesinteraction.depthcác thông số cho mô hình GBM, mặc dù bạn có thể thêm riêng bạn.

Đối với heuristic, đây là cách tiếp cận ban đầu của tôi:

shrinkage: Nhỏ như bạn có thời gian cho (hướng dẫn gbm có nhiều hơn về điều này, nhưng nói chung bạn có thể không đi sai với giá trị nhỏ hơn). Tập dữ liệu của bạn nhỏ nên có thể tôi sẽ bắt đầu bằng 1e-3

n.trees: Tôi thường phát triển một mô hình ban đầu thêm nhiều cây hơn cho đến khi gbm.perftôi nói rằng tôi có đủ (thực tế, thường là 1,2 lần giá trị đó) và sau đó sử dụng nó làm hướng dẫn để phân tích thêm.

interaction.depth: bạn đã có một ý tưởng về điều này. Hãy thử các giá trị nhỏ hơn là tốt. Giá trị tối đa là sàn (sqrt (NCOL (dữ liệu)).

n.minobsinnode: Tôi thấy nó thực sự quan trọng để điều chỉnh biến này. Bạn không muốn nó quá nhỏ đến mức thuật toán tìm thấy quá nhiều tính năng giả.

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.