Kích thước cây trong tăng cường cây dốc


10

Tăng cường cây Gradient theo đề xuất của Friedman sử dụng các cây quyết định với Jcác nút cuối (= lá) làm người học cơ sở. Có một số cách để trồng cây với Jcác nút chính xác, ví dụ, người ta có thể trồng cây theo chiều sâu đầu tiên hoặc theo chiều rộng đầu tiên, ...

Có cách nào để thiết lập cách trồng cây với Jcác nút chính xác để tăng cường độ dốc của cây không?

Tôi đã kiểm tra quy trình trồng cây của gbmgói R và có vẻ như nó mở rộng cây theo chiều sâu và sử dụng phương pháp phỏng đoán dựa trên cải tiến lỗi để chọn mở rộng nút con bên trái hay bên phải - điều đó có đúng không?


2
gbm sử dụng GIỎ HÀNG để xây dựng cây, một thuật toán nổi tiếng từ những năm 80. Các heuristic được gọi là tạp chất gini, một lựa chọn khá chuẩn cho hồi quy với mất bậc hai.

2
Tạp chất Afaik gini được sử dụng để phân loại Vấn đề. Tuy nhiên, câu hỏi đề cập đến kích thước của cây.
Peter Prettenhofer

Nó thêm một chi nhánh tại một thời điểm. Tôi sẽ ngạc nhiên nếu mỗi lần phân chia tiếp theo là tốt nhất trong số các ứng cử viên phân chia còn lại trong cây, không chỉ là chi nhánh. Đôi khi dữ liệu không hỗ trợ một con số chính xác - chẳng hạn như khi dữ liệu quá nhỏ so với 'J'.
EngrStudent

Như @EngrStudent đã nói, bạn không thể buộc một số lượng nút chính xác. Tuy nhiên, bạn có một số kiểm soát đối với giới hạn trên về số lượng nút. gbmcó một tham số n.minobsinnodeđiều khiển số lượng đối tượng tối thiểu trên mỗi nút. Tất nhiên, sau đó số lượng nút nhỏ hơn hoặc bằng NumberOfPoints / n.minobsinnode
G5W

Nếu tôi đang tìm kiếm lá 'J', thì tôi sẽ xây dựng hoàn toàn cây và sau đó, giả sử có nhiều hơn lá J, tôi sẽ cắt tỉa cho J. Điều này sẽ cho tôi các nút 'J', và chúng sẽ là nhiều nhất chia tách thông tin - nó sẽ là mô hình GIỎI lành mạnh nhất có thể. Nếu không có đủ số lần phân tách, tôi chỉ có thể chia ngẫu nhiên trong các miền để lấy 'J' nhưng chúng sẽ là giả và hơi tầm thường. Tôi có thể xem xét phân phối giá trị trong lá và sử dụng phép ước lượng theo định hướng CDF, nhưng điều đó sẽ khởi hành từ mô hình trung bình trên mỗi lá.
EngrStudent

Câu trả lời:


2

Giải pháp trong R's gbmkhông phải là một giải pháp điển hình.

Các gói khác, thích scikit-learnhoặc LightGBMsử dụng cái gọi là (trong scikit-learn) BestFirstTreeBuilder, khi số lượng lá bị hạn chế. Nó hỗ trợ một hàng đợi ưu tiên của tất cả các lá và ở mỗi lần lặp lại tách lá mang lại sự giảm tạp chất tốt nhất. Vì vậy, nó không phải là chiều sâu đầu tiên hay chiều rộng đầu tiên, mà là một thuật toán thứ ba, dựa trên các tính toán trong lá.

Trong một số ý nghĩa, cách tiếp cận này là tối ưu hơn so với việc mù quáng chia tất cả các lá lần lượt. Tuy nhiên, nó vẫn là một heuristic tham lam, bởi vì sự lựa chọn có nên chia nút thứ bây giờ chỉ phụ thuộc vào lần phân chia đầu tiên của và không phải là sự phân tách thành công có thể làm giảm tạp chất nhiều hơn so với phân tách hiện tại.ii

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.