www.wikidata.de-de.nina.az
XGBoost 2 eXtreme Gradient Boosting ist eine open source Softwarebibliothek die ein Gradient Boosting Verfahren fur die Programmiersprachen C Java Python 3 R 4 Julia 5 Perl 6 und Scala zur Verfugung stellt Es funktioniert mit den Betriebssystemen Linux Windows 7 und macOS 8 sowohl auf einer einzelnen Maschine als auch auf verteilten Verarbeitungsframeworks wie Apache Hadoop Apache Spark Apache Flink and Dask 9 10 Das Framework stellt eine skalierbare portierbare und verteilte Gradient Boosting GBM GBRT oder GBDT Bibliothek bereit XGBoostBasisdatenEntwickler XGBoost CommunityErscheinungsjahr 2014Aktuelle Version 2 0 2 1 9 November 2023 Betriebssystem Linux macOS WindowsProgrammiersprache C Kategorie Maschinelles LernenLizenz Apache License 2 0https xgboost ai XGBoost hat im Jahr 2016 viel Popularitat und Aufmerksamkeit erlangt da es der Algorithmus der Wahl fur viele Siegerteams von Wettbewerben fur maschinelles Lernen ist 11 Inhaltsverzeichnis 1 Geschichte 2 Merkmale 3 Algorithmus 4 Auszeichnungen 5 EinzelnachweiseGeschichte BearbeitenXGBoost wurde ursprunglich als Forschungsprojekt von Tianqi Chen im Rahmen der Distributed Deep Machine Learning Common DMLC Gruppe gestartet Anfanglich war es eine Terminalanwendung die mithilfe einer libsvm Konfigurationsdatei konfiguriert werden konnte 12 Es wurde in den Kreisen der ML Wettbewerbe bekannt nachdem es in der Siegerlosung der Higgs Machine Learning Challenge verwendet worden war 13 Bald darauf wurden die Python und R Pakete erstellt und XGBoost hat nun Paketimplementierungen fur Java Scala Julia Perl und andere Sprachen Dies machte die Bibliothek fur mehr Entwickler zuganglich und trug zu ihrer Popularitat in der Kaggle Gemeinschaft bei wo sie bisher fur eine grosse Anzahl von Wettbewerben verwendet wurde 11 Es wurde bald in eine Reihe anderer Pakete integriert um die Nutzung in den jeweiligen Communities zu erleichtern Fur Python Nutzer wurde es nun in scikit learn und fur R Nutzer in das caret Paket integriert 14 Es kann auch in Datenfluss Frameworks wie Apache Spark Apache Hadoop und Apache Flink unter Verwendung der abstrahierten Rabit 15 und XGBoost4J integriert werden 16 XGBoost ist auch auf OpenCL fur FPGAs verfugbar 17 Eine effiziente skalierbare Implementierung von XGBoost wurde von Tianqi Chen und Carlos Guestrin veroffentlicht 18 Mit dem XGBoost Modell wird zwar oft eine hohere Genauigkeit als mit einem einzelnen Entscheidungsbaum erreicht aber die eigentliche Interpretierbarkeit von Entscheidungsbaumen geht dabei verloren So ist es beispielsweise trivial den Weg eines Entscheidungsbaums zu verfolgen aber es ist viel schwieriger die Wege von Hunderten oder Tausenden von Baumen zu verfolgen Um sowohl Leistung als auch Interpretierbarkeit zu erreichen ermoglichen einige Modellkomprimierungstechniken die Umwandlung eines XGBoost in einen einzigen wiedergeborenen Entscheidungsbaum der dieselbe Entscheidungsfunktion approximiert 19 Merkmale BearbeitenZu den wichtigsten Merkmalen von XGBoost die es von anderen Gradient Boosting Algorithmen unterscheiden gehoren 20 21 22 clevere Bestrafung von Baumen proportionale Schrumpfung der Blattknoten Newton Boosting zusatzlicher Randomisierungsparameter Implementierung auf einzelnen verteilten Systemen und Out of Core Berechnungen automatische Auswahl von MerkmalenAlgorithmus BearbeitenXGBoost arbeitet als Newton Raphson Verfahren im Funktionsraum im Gegensatz zum Gradient Boosting das als Gradientenabstieg im Funktionsraum arbeitet In der Verlustfunktion wird eine Taylor Approximation zweiter Ordnung verwendet um die Verbindung zum Newton Raphson Verfahren herzustellen Ein allgemeiner unregulierter XGBoost Algorithmus ist Eingabe Trainingsmenge x i y i i 1 N displaystyle x i y i i 1 N nbsp eine differenzierbare Verlustfunktion L y F x displaystyle L y F x nbsp eine Anzahl von schwachen Lernern M displaystyle M nbsp und eine Lernrate a displaystyle alpha nbsp Algorithmus Modell mit einem konstanten Wert initialisieren f 0 x arg min 8 i 1 N L y i 8 displaystyle hat f 0 x underset theta arg min sum i 1 N L y i theta nbsp Fur m 1 zu M Berechnung des Gradienten 1 Ableitung und der Hesse Matrix 2 Ableitung g m x i L y i f x i f x i f x f m 1 x displaystyle hat g m x i left frac partial L y i f x i partial f x i right f x hat f m 1 x nbsp h m x i 2 L y i f x i f x i 2 f x f m 1 x displaystyle hat h m x i left frac partial 2 L y i f x i partial f x i 2 right f x hat f m 1 x nbsp Anpassen eines Basis Learners oder schwachen Lerners z B Baum unter Verwendung der Trainingsmenge x i g m x i h m x i i 1 N displaystyle displaystyle left x i frac hat g m x i hat h m x i right i 1 N nbsp durch Losen des nachstehenden Optimierungsproblems ϕ m arg min ϕ F i 1 N 1 2 h m x i g m x i h m x i ϕ x i 2 displaystyle hat phi m underset phi in mathbf Phi arg min sum i 1 N frac 1 2 hat h m x i left frac hat g m x i hat h m x i phi x i right 2 nbsp f m x a ϕ m x displaystyle hat f m x alpha hat phi m x nbsp Modell updaten f m x f m 1 x f m x displaystyle hat f m x hat f m 1 x hat f m x nbsp Ergebnis f x f M x m 0 M f m x displaystyle hat f x hat f M x sum m 0 M hat f m x nbsp Auszeichnungen BearbeitenJohn Chambers Award 2016 23 HEP meets ML Award 2016 24 Einzelnachweise Bearbeiten Release 2 0 2 9 November 2023 abgerufen am 19 November 2023 GitHub project webpage In GitHub Juni 2022 abgerufen im 1 Januar 1 Python Package Index PYPI xgboost Abgerufen am 1 August 2016 CRAN package xgboost Abgerufen am 1 August 2016 Julia package listing xgboost Archiviert vom Original am 18 August 2016 abgerufen am 1 August 2016 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot pkg julialang org CPAN module AI XGBoost Abgerufen am 9 Februar 2020 Installing XGBoost for Anaconda in Windows In IBM Abgerufen am 1 August 2016 Installing XGBoost on Mac OSX In IBM Abgerufen am 1 August 2016 Dask Homepage Abgerufen im 1 Januar 1 Distributed XGBoost with Dask xgboost 1 5 0 dev documentation In xgboost readthedocs io Abgerufen am 15 Juli 2021 a b XGBoost ML winning solutions incomplete list In GitHub Abgerufen am 1 August 2016 Story and Lessons Behind the Evolution of XGBoost nttrungmt wiki abgerufen am 10 Juni 2022 englisch Higgs Boson Machine Learning Challenge auf kaggle com A Short Introduction to the caret Package auf cran rstudio com Rabit Reliable Allreduce and Broadcast Interface In GitHub Abgerufen am 1 August 2016 XGBoost4J Abgerufen am 1 August 2016 XGBoost on FPGAs In GitHub Abgerufen am 1 August 2019 Tianqi Chen Carlos Guestrin XGBoost A Scalable Tree Boosting System 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining Hrsg Balaji Krishnapuram Mohak Shah Alexander J Smola Charu C Aggarwal Dou Shen Rajeev Rastogi Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining San Francisco CA USA August 13 17 2016 ACM 2016 S 785 794 doi 10 1145 2939672 2939785 englisch Omer Sagi Lior Rokach Approximating XGBoost with an interpretable decision tree In Information Sciences 572 Jahrgang Nr 2021 2021 S 522 542 doi 10 1016 j ins 2021 05 055 Rohith Gandhi Gradient Boosting and XGBoost In Medium 24 Mai 2019 abgerufen am 4 Januar 2020 englisch Boosting algorithm XGBoost In Towards Data Science 14 Mai 2017 archiviert vom Original am 6 April 2022 abgerufen am 4 Januar 2020 englisch nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot towardsdatascience com Tree Boosting With XGBoost Why Does XGBoost Win Every Machine Learning Competition In Synced 22 Oktober 2017 abgerufen am 4 Januar 2020 amerikanisches Englisch John Chambers Award Previous Winners Abgerufen am 10 Juni 2022 HEP meets ML Award Abgerufen am 10 Juni 2022 Abgerufen von https de wikipedia org w index php title XGBoost amp oldid 236436391