Próbuję zrozumieć kluczowe różnice między GBM a XGBOOST. Próbowałem google go, ale nie znalazłem dobrych odpowiedzi wyjaśniających różnice między dwoma algorytmami i dlaczego xgboost prawie zawsze działa lepiej niż GBM. Co sprawia, że XGBOOST jest tak szybki?
machine-learning
algorithms
xgboost
ensemble-modeling
gbm
Mężczyzna
źródło
źródło
Odpowiedzi:
Cytat autora
xgboost
:Edycja: Istnieje szczegółowy przewodnik po xgboost, który pokazuje więcej różnic.
Referencje
https://www.quora.com/What-is-the-difference-between-the-R-gbm-gradient-boosting-machine-and-xgboost-extreme-gradient-boosting
https://xgboost.readthedocs.io/en/latest/tutorials/model.html
źródło
Oprócz odpowiedzi udzielonej przez Icyblade, programiści xgboost wprowadzili szereg ważnych ulepszeń wydajności w różnych częściach implementacji, które mają duży wpływ na szybkość i wykorzystanie pamięci:
Z mojego doświadczenia podczas używania GBM i xgboost podczas szkolenia dużych zestawów danych (5 milionów + rekordów), doświadczyłem znacznie zmniejszonego wykorzystania pamięci (w R) dla tego samego zestawu danych i odkryłem, że łatwiej jest używać wielu rdzeni, aby skrócić czas szkolenia.
źródło
Jedną bardzo ważną różnicą jest
xgboost
implementacja DART, regularyzacji porzucania drzew regresji .Referencje
Rashmi, KV i Gilad-Bachrach, R. (2015). Dart: Haki spotykają wiele drzew regresji addytywnej. nadruk arXiv arXiv: 1505.01866.
źródło
Myślę, że różnica między zwiększaniem gradientu a Xgboost polega na tym, że algorytm skupia się na mocy obliczeniowej, równolegle do tworzenia drzewa, które można zobaczyć na tym blogu .
Zwiększanie gradientu koncentruje się tylko na wariancji, ale nie na wymianie między stronniczością, gdzie jako zwiększenie xg może również koncentrować się na współczynniku regularyzacji.
źródło
Implementacja XGBoost jest błędna. Awaria po cichu podczas treningu na GPU w wersji 082 . Zdarzyło mi się to również w wersji 0.90 , więc problem nie został do tej pory rozwiązany, a „poprawka” podana w GitHub nie działała dla mnie.
LGBM 2.3.1 działa jak amulet po wyjęciu z pudełka, choć jego instalacja wymaga nieco więcej wysiłku. Jak dotąd nie ma problemów ze szkoleniem na GPU.
O XGBoost bycia „ tak szybko ”, należy zapoznać się z tych wskaźników .
źródło