Definition

Was ist XGBoost?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

XGBoost ist eine frei verfügbare Bibliothek mit Open-Source-Lizenz. Sie ermöglicht überwachtes maschinelles Lernen mit dem Boosted-Tree-Algorithmus, einem Baumalgorithmus mit Gradient Boosting. Die Bibliothek ist für Betriebssysteme wie Linux, Windows oder macOS verfügbar und arbeitet mit Programmiersprachen wie C++, Java, Python, R und Julia.

Der Name XGBoost steht für eXtreme Gradient Boosting. Es handelt sich um eine Open-Source-Software-Bibliothek für überwachtes maschinelles Lernen mit dem sogenannten Baumalgorithmus mit Gradient Boosting. Mithilfe von XGBoost lassen sich Zielvariablen genauer bestimmen, indem mehrere einfachere und schwächere Modelle miteinander kombiniert und Schätzungen getroffen werden. Die Software adressiert Problemstellungen des maschinellen Lernens in den Bereichen Regression, Rangfolge und Klassifizierung. Sie arbeitet performant und liefert zuverlässige Ergebnisse.

Nutzbar ist XGBoost für die Programmiersprachen C++, Java, Python, R und Julia auf Rechnern mit den Betriebssystemen Microsoft Windows, Linux oder Apple macOS. Auch verteiltes Computing mit Frameworks wie Apache Flink, Apache Spark oder Apache Hadoop ist möglich. Der ursprüngliche Entwickler der in C++ geschriebenen Software ist Tianqi Chen. Das erste Release erschien 2014. Die aktuellste Version 0.90 stammt aus dem Jahr 2019. XGBoost wird beispielsweise von Datenwissenschaftlern und Entwicklern im Umfeld Künstlicher Intelligenz (KI) eingesetzt und hat bereits mehrere Machine-Learning-Wettbewerbe gewonnen. Verfügbar ist XGBoost unter Apache License 2.0 auf GitHub.

Die zentralen Funktionen von XGBoost

XGBoost ist optimiert für eine hohe Rechenleistung und Modell-Performance. Die Bibliothek stellt zahlreiche Funktionen zur Verfügung. Im Bereich des Gradient Boostings werden der Gradient-Boosting-Algorithmus, das stochastische Gradient Boosting und das normalisierte Gradient Boosting unterstützt. XGBoost ermöglicht den Einsatz von Multi-Core-Umgebungen und Distributed Computing für das Training großer Machine-Learning-Modelle. Durch sogenanntes Out-of-Core Computing lassen sich große Datenmengen, die nicht in den Speicher der Systeme passen, verarbeiten. Die Algorithmen sind so implementiert, dass sie effizient mit dem zur Verfügung stehenden Speicher und der vorhandenen Rechenleistung umgehen. Durch die Verwendung von Blockstrukturen können mehrere Baummodelle parallelisiert werden.

Grundsätzliches zum Gradient Boosting

Maschinelles Lernen erzeugt Wissen aus vorhandenen Daten und Erfahrungen. Es werden Regeln und Gesetzmäßigkeiten gefunden, aus denen sich Handlungsempfehlungen ableiten lassen. Das überwachte Lernen (Supervised Learning) ist ein Teilbereich des maschinellen Lernens und nutzt eine existierende Datenbasis, aus der sich Zielvariablen ableiten lassen. Es entsteht durch das Training ein Modell, das auf zukünftige Datensätze angewendet Zielvariablen vorhersagt.

Ein für überwachtes maschinelles Lernen eingesetzter Algorithmus ist der Baumalgorithmus mit Gradient Boosting. Boosting ist eine Methode, die verschiedene einfachere und schwächere Modelle kombiniert, um bessere Vorhersagen der Zielvariablen zu machen. Es werden so lange Modelle hinzugefügt, bis keine Verbesserungen der Vorhersagen mehr eintreten. Beim Gradient Boosting kommt ein spezieller Gradienten-Algorithmus, der sogenannte Gradient-Descent-Algorithmus, zum Hinzufügen der Modelle zum Einsatz. Der Baumalgorithmus mit Gradient Boosting fügt neue Verzweigungen hinzu, die Fehler vorheriger Verzweigungen vorhersagen und die Fehler oder Verluste minimieren. Durch Verknüpfung der Bäume beziehungsweise der Verzweigungen entstehen die endgültigen Prognosen.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Das kann Azure Databricks

Spark as a Service

Das kann Azure Databricks

Microsoft stellt mit Azure Databricks eine Analyseplattform in Microsoft Azure zur Verfügung, die auf der bekannten Analysesoftware Apache Spark aufbaut. Bei der Entwicklung der Plattform haben die Entwickler von Spark mitgearbeitet. lesen

Updates für Analyse- und KI-Services von Google

Zahlreiche Neuerungen

Updates für Analyse- und KI-Services von Google

Im Rahmen der Konferenz Cloud Next 2018 hat Google eine Vielzahl an Updates für seine Analyse- und KI-Dienste vorgestellt. Zudem wurde eine Partnerschaft mit Iron Mountain geschlossen. lesen

Databricks erweitert Sparks KI-Fähigkeiten mit ML-Framework

Künstliche Intelligenz mit Apache Spark

Databricks erweitert Sparks KI-Fähigkeiten mit ML-Framework

Databricks, Entwickler und Betreuer der Analytics-Plattform Apache Spark, hat mit der Unified Analytics Platform ein neues Machine Learning Framework vorgestellt. Drei zusätzliche Spark-Funktionen sollen die Zusammenarbeit zwischen Datenbereitstellung und KI-Entwicklung plattformübergreifend performant machen lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 46014482 / Definitionen)