Có rất nhiều bài đăng trên blog, video trên YouTube, v.v. về ý tưởng đóng bao hoặc tăng cường cây xanh. Hiểu biết chung của tôi là mã giả cho mỗi loại là:
Đóng bao:
- Lấy N mẫu ngẫu nhiên là x% số mẫu và y% của các tính năng
- Điều chỉnh mô hình của bạn (ví dụ: cây quyết định) trên mỗi N
- Dự đoán với mỗi N
- Trung bình các dự đoán để có được dự đoán cuối cùng
Tăng cường:
- Điều chỉnh mô hình của bạn (ví dụ: cây quyết định) với dữ liệu của bạn
- Lấy phần dư
- Phù hợp với mô hình của bạn với phần dư
- Tới 2 cho N vòng tăng
- Dự đoán cuối cùng là tổng của các dự đoán tuần tự.
Tôi sẽ có bất kỳ làm rõ cho sự hiểu biết của tôi ở trên, nhưng câu hỏi dự định của tôi là như sau:
Cả XGBoost và LightGBM đều có thông số cho phép đóng bao. Ứng dụng này không phải là Bagging HOẶC Boosting (đó là những gì mọi bài đăng trên blog nói về), mà là Bagging VÀ Boosting. Mã giả cho việc đóng gói và tăng cường kết hợp diễn ra ở đâu và khi nào?
Tôi đã dự đoán nó sẽ là "Cây được đóng gói", nhưng có vẻ như đó là "Cây được đóng gói". Sự khác biệt có vẻ đáng kể.
Cây Boosted đóng gói:
- Lấy N mẫu ngẫu nhiên là x% số mẫu và y% của các tính năng
- Phù hợp với cây Boosted trên mỗi mẫu N
- Dự đoán với mỗi N
- Trung bình các dự đoán để có được dự đoán cuối cùng
Đây dường như là cách tốt nhất để làm điều đó. Rốt cuộc, rủi ro trong việc thúc đẩy là quá mức và lợi ích chính của việc đóng bao là giảm quá mức; đóng gói một loạt các mô hình tăng cường có vẻ như là một ý tưởng tuyệt vời.
Tuy nhiên, từ việc xem qua, ví dụ như scikit-learn
gradient_boosting.py (không đóng gói mẫu, nhưng không chọn tính năng ngẫu nhiên) và kết hợp một số cố định nhỏ trên các bài đăng về LightGBM và XGBoost, có vẻ như XGBoost và LightGBM hoạt động như sau:
Cây được đóng gói tăng cường:
- Khớp cây quyết định với dữ liệu của bạn
- Đối với tôi trong N tăng vòng:
- Lấy phần dư
- if i mod bag_frequency == 0 (nghĩa là túi cứ sau 5 vòng):
- Lấy một mẫu ngẫu nhiên duy nhất là x% của các mẫu và y% của các tính năng; sử dụng mẫu ngẫu nhiên này trong tương lai
- phù hợp với cây còn lại
- Dự đoán cuối cùng là tổng của các dự đoán tuần tự.
Hãy sửa chữa sự hiểu biết của tôi ở đây và điền vào các chi tiết. Cây có túi được tăng cường (chỉ với 1 cây ngẫu nhiên trên mỗi túi_frequency) dường như không mạnh bằng Cây được tăng cường.