Ağaçları torbalama veya artırma fikirleri hakkında birçok blog yazısı, YouTube videosu vb. Var . Genel anlayışım, her biri için sözde kod:
torbalama:
- Örneklerin% x'i ve özelliklerin% y'i N rasgele örneği alın
- Modelinizi (örn. Karar ağacı) N
- Her bir N ile tahmin edin
- Nihai tahmini almak için tahminleri ortalayın
Arttırılması:
- Modelinizi (örn. Karar ağacı) verilerinize sığdırın
- Kalanları alın
- Modelinizi artıklara sığdırın
- N yükseltme turu için 2'ye gidin
- Nihai tahmin, sıralı öngörücülerin ağırlıklı toplamıdır.
Yukarıdaki anlayışımla ilgili herhangi bir açıklama yapacağım, ancak hedeflediğim soru şu:
Hem XGBoost hem de LightGBM'nin torbalamaya izin veren parametreleri vardır. Uygulama Torbalama VEYA Boosting (her blog yazısı hakkında ne konuşur) değil, Bagging VE Boosting. Kombine torbalama ve takviye işleminin nerede ve ne zaman gerçekleştiği için sahte kod nedir?
Bunun "Torbalı Artırılmış Ağaçlar" olmasını bekliyordum, ama öyle görünüyor ki "Artırılmış Torbalı Ağaçlar". Fark önemli görünüyor.
Torbalı Artırılmış Ağaçlar:
- Örneklerin% x'i ve özelliklerin% y'i N rasgele örneği alın
- N örneklerinin her birine Boosted ağaçlar sığdır
- Her bir N ile tahmin edin
- Nihai tahmini almak için tahminleri ortalayın
Bu, bunu yapmanın en iyi yolu gibi görünüyor. Sonuçta, artırma riski fazla takmaktır ve torbalamanın birincil yararı fazla takmayı azaltmaktır; bir sürü güçlendirilmiş modelin torbalanması harika bir fikir gibi görünüyor.
Ancak, örneğin scikit-learn
gradient_boosting.py (örnek torbalama, ancak rastgele özellik seçimi yapmayan) ve LightGBM ve XGBoost ile ilgili gönderiler arasında bazı küçük külçeleri bir araya getirerek XGBoost ve LightGBM aşağıdaki gibi çalışır:
Artırılmış Torbalı Ağaçlar:
- Verilerinize bir karar ağacı sığdırın
- N'de N arttırıcı mermiler için:
- Kalanları alın
- i bag_frequency == 0 modunu değiştirirseniz (yani her 5 mermi bir torbada):
- Örneklerin% x'i ve özelliklerin% y'si gibi tek bir rastgele örnek alın; ileride bu rastgele örneği kullan
- artıklara ağacı sığdır
- Nihai tahmin, sıralı öngörücülerin ağırlıklı toplamıdır.
Lütfen buradaki anlayışımı düzeltin ve ayrıntıları doldurun. Artırılmış Torbalı Ağaç (bag_frequency başına sadece 1 rastgele ağaçla) Torbalı Artırılmış Ağaç kadar güçlü görünmüyor.