
Dies ist der dritte Beitrag unserer Stream-Mining-Blogreihe. Aufbauend auf „Lernen aus Datenströmen: Grundlagen des Stream Learning“ von Dr. Sebastian Buschjäger sowie dem zweiten Beitrag „Grünes Online-Lernen mit Heterogenen Ensembles“ geht dieser Artikel einen Schritt weiter und widmet sich dem Streaming Gradient Boosting. Im Fokus steht die Frage, wie sich Boosting-Verfahren an sich verändernde Datenströme anpassen lassen – und warum aktuelle Entwicklungen Gradient Boosting erstmals auch unter Concept Drift praktikabel machen.
Von statischen Modellen zu Streaming-Daten
Im Zeitalter von Echtzeitdaten – von Aktienkursen und IoT-Sensoren bis hin zu Energienetzen und Online-Marktplätzen – stehen Machine-Learning-Modelle vor einer neuen Herausforderung: Anpassung. Traditionelle Modelle, die einmal auf statischen Datensätzen trainiert werden, haben Schwierigkeiten, wenn sich die zugrunde liegende Datenverteilung verschiebt. Dieses Phänomen, bekannt als Concept Drift, erfordert Lernsysteme, die sich kontinuierlich weiterentwickeln können, anstatt von Grund auf neu trainiert zu werden.
Während Gradient Boosting seit Langem ein Eckpfeiler des Batch-Machine-Learnings ist – und Modelle wie XGBoost und LightGBM antreibt – machen seine additive Konfiguration, das Training mit mehreren Durchläufen und das statische Endmodell es ungeeignet für sich entwickelnde Streaming-Umgebungen. Mit anderen Worten: Genau die Annahmen, die Boosting offline so leistungsfähig machen, werden einschränkend, sobald Daten kontinuierlich eintreffen. Diese Lücke zwischen Modellstärke und Einsatzrealität hat neue Forschungsrichtungen motiviert.
Hier setzt Streaming Gradient Boosting (SGB) an – ein modernes Forschungsfeld, das untersucht, wie Boosting in dynamischen, sich ständig verändernden Datenströmen funktionieren kann.
Vom Batch zum Stream: Warum Boosting sich weiterentwickeln musste
Gradient Boosting wurde erstmals im Jahr 2000 von Jerome Friedman eingeführt und konstruiert ein additives Modell, indem schwache Lerner (typischerweise flache Bäume) sequenziell an die ersten und zweiten Ableitungen einer Verlustfunktion angepasst werden. Der Erfolg von XGBoost zeigte später, wie eine optimierte Baumkonstruktion Boosting auf Milliarden von Datenpunkten skalieren kann – vorausgesetzt, alle Daten stehen von Anfang an zur Verfügung.
Diese Annahme trifft in realen Streaming-Anwendungen jedoch selten zu, denn Daten warten nicht immer.
In Streaming-Kontexten – in denen neue Stichproben kontinuierlich eintreffen – müssen Modelle inkrementell aktualisiert werden, während sowohl Speicherverbrauch als auch Latenz unter Kontrolle bleiben müssen. Diese Einschränkungen schließen wiederholte Trainingsdurchläufe aus und erfordern, dass sich Modelle spontan anpassen. Nicht alle Ensemble-Methoden kommen jedoch gleichermaßen gut mit diesen Einschränkungen zurecht.
Bagging funktioniert – Boosting (zunächst) nicht
Bagging-basierte Ansätze erwiesen sich als natürliche Lösung für Datenströme. Methoden wie OzaBag, Adaptive Random Forest (ARF) und Streaming Random Patches (SRP) übertrugen das Bagging-Prinzip erfolgreich auf das Online-Setting. Da einzelne Modelle unabhängig voneinander trainiert und aktualisiert werden können, bleiben diese Ensembles robust gegenüber Rauschen und schrittweisen Änderungen in der Datenverteilung.
Boosting hingegen hinkte im Streaming-Bereich lange hinterher. Frühe Ansätze wie OzaBoost, OnlineSmoothBoost, Axgb und Adlter hatten Schwierigkeiten, Concept Drift effektiv zu bewältigen. Die zentrale Schwierigkeit liegt in der additiven Struktur von Boosting: Jeder Lerner hängt explizit von den Fehlern der vorherigen ab. Wenn sich die Datenverteilung ändert, können diese Abhängigkeiten veraltete Informationen verstärken, was zu einem schnellen Leistungsabfall führt.
Erst jüngste Entwicklungen haben es geschafft, gradientenbasierte Optimierung erfolgreich mit Online-Ensemble-Lernen zu integrieren und Boosting damit endlich für sich entwickelnde Datenströme praktikabel zu machen.
Die Mathematik des Gradient Boosting
Beim Gradient Boosting kann ein Modell $\phi$ als Summe von $S$ additiven Funktionen dargestellt werden:
\begin{equation} \hat{y}_{i}=\phi(x_i)=\sum_{s=1}^{S}f_{s}(x_{i}), f_{s}\in \mathcal{F} \nonumber \end{equation}
Dabei sind $x_i$ die Merkmale der $i$-ten Instanz und $y_i$ ihr zugehöriger Zielwert innerhalb eines Datensatzes mit $n$ Instanzen. Das Lernziel minimiert eine spezifische Verlustfunktion:
\begin{equation} \mathcal{L}(\phi) = \sum_{i=1}^{n}l(y_i, \hat{y}_i) + \sum_{s=1}^{S}\Omega(f_s) \end{equation}
Hierbei ist $l$ eine differenzierbare konvexe Verlustfunktion, die den Unterschied zwischen der Vorhersage $\hat{y}i$ und dem Ziel $y_i$ misst, und $\Omega$ bestraft die Komplexität des Regressors.
Unter Verwendung einer Taylor-Approximation zweiter Ordnung wird der Verlust im Schritt $s$ approximiert als:
$\mathcal{L}^{(s)} \simeq\sum_{i=1}^{n}\left[l(y_i, \hat{y}^{(s-1)}) + g_i f_s(x_i)+ \frac{1}{2} h_i f_s^2(x_i)\right]+ \Omega(f_s)$
Dabei repräsentieren $g_i$ und $h_i$ die Gradienten- bzw. Hesse-Statistiken des Verlustes. XGBoost nutzt diese Statistiken, um jeden Baum im Booster zu konstruieren.
Streaming Gradient Boosted Trees (SGBT): Klassifikation
Die zentrale Innovation hinter Streaming Gradient Boosted Trees (SGBT) ist die Verwendung eines transformierten, gewichteten quadratischen Verlustes als Zielfunktion.
Dieser Schritt ist entscheidend, da er es ermöglicht, das Boosting-Ziel mithilfe standardmäßiger Streaming-Regressionsbäume zu optimieren. Die resultierende Formulierung vereinfacht das Problem des Online-Lernens, während die Kernprinzipien des Gradient Boosting erhalten bleiben:
\begin{equation} \label{eq_weighted_squared_loss_at_t} \mathcal{L}^{(s)} \simeq \sum_{i=1}^{n} \frac{1}{2} h_i (f_t(x_i) – g_i/h_i )^2 + \Omega(f_s) + constant \end{equation}
Zentrale Mechanismen von SGBT
- Trainingsziel: In der Boosting-Iteration $s$ wird ein Streaming-Regressionsbaum $f_s$ trainiert, um das Ziel $g_i/h_i$ mit dem Gewicht $h_i$ vorherzusagen.
- Drift-Anpassung: Um sich an sich entwickelnde Daten anzupassen, überwacht jeder Baum intern seinen standardisierten absoluten Fehler.
- Warnstufe: Wenn der Fehler eine Warnschwelle überschreitet, trainiert das Modell einen alternativen Baum.
- Gefahrenzone: Erreicht der Fehler eine Gefahrenzone, wechselt der Baum zu seinem alternativen Baum.
Empirische Studien bestätigen, dass SGBT hochwirksam ist und Random-Subspace- sowie Random-Patch-Ensembles bei Klassifikationsaufgaben unter verschiedenen Drift-Bedingungen übertrifft.
SGBR: Die Varianz bei der Regression zähmen
Während SGBT in Klassifikationsszenarien starke Leistungen zeigt, führte die direkte Anwendung desselben Ansatzes auf Regressionsaufgaben zu hoher Varianz und schlechter Vorhersageleistung. Dieses Verhalten spiegelt eine bekannte Herausforderung von Boosting wider: Residuen können sich ansammeln und die Varianz verstärken, insbesondere in verrauschten Streaming-Umgebungen.

SGB(Bag)-Varianten:
SGB(Oza) verwendet Streaming-Bagging OzaBagReg als Basislerner von SGBT.
SGB(ARF) verwendet Streaming-Subspace ARFReg als Basislerner von SGBT.
SGB(SRP) verwendet Streaming-Random-Patches SRPReg als Basislerner von SGBT.
b) Bag(SGBT)-Varianten:
Oza(SGBT) aggregiert mehrere SGBTs mittels Bagging OzaBagReg.
SRP(SGBT) aggregiert mehrere SGBTs mittels Random Patches SRP.
Hinweis: OzaBagReg, ARFReg und SRPReg verwenden den Mittelwert der Vorhersagen, um die Ergebnisse der einzelnen Ensemble-Elemente zu aggregieren.
© Nuwan Gunasekara
Um dieses Problem zu lösen, führten Gunasekara et al. (2025) Streaming Gradient Boosted Regression (SGBR) ein, das Bagging integriert, um Varianzinflation zu mindern. Dies führte zu zwei primären Designstrategien:
- SGB(Bag): Verwendung eines Ensembles aus gebaggten Streaming-Regressoren als Basislerner innerhalb des Boosting-Frameworks (z. B. SGB(Oza), SGB(ARF), SGB(SRP)).
- Bag(SGBT): Kombination mehrerer SGBT-Modelle über einen Bagging-Mechanismus wie Oza oder SRP (z. B. Oza(SGBT)).
Abbildung 1 veranschaulicht diese Designvarianten und ihre Beziehungen.
Die Stärke von SGB(Oza)
Unter allen Varianten erwies sich SGB(Oza) – das den Oza Bag Regressor als Basislerner verwendet – als das überlegene Modell für Streaming-Regression.
- Vorhersagegenauigkeit: erzielte höhere adjustierte $R^2$-Werte als etablierte Methoden wie Self-Optimising k-Nearest Leaves (SOKNL) über 11 Benchmark-Datensätze hinweg
- Varianzreduktion: gezielte Adressierung der bei Boosting auftretenden Varianzinflation durch die Integration von Bagging
- Drift-Robustheit: hält eine stabile Performance bei abrupten, graduellen und wiederkehrenden Drifts aufrecht
- Effizienz: erzielt diese Verbesserungen ohne zusätzliche Zeitkomplexität im Vergleich zu SOKNL- und Bag(SGBT)-Varianten
Praxisrelevanz und nächste Schritte
Die Entwicklung von Streaming Gradient Boosting ermöglicht den Einsatz leistungsstarker Boosting-Techniken in zahlreichen Echtzeitanwendungen, darunter Finanzprognosen in sich schnell verändernden Märkten, Online-Energiebedarfsprognosen und die Überwachung von Sensornetzwerken.
Implementierungen von sowohl SGBT als auch SGBR sind in den Stream-Learning-Plattformen MOA (Java) und CapyMOA (Python) verfügbar. Diese Arbeit löst die Herausforderung, Gradient Boosting an sich verändernde Datenströme anzupassen, wobei zukünftige Arbeiten darauf abzielen, diese Methoden für extrem hochfrequente, großskalige Aufgaben zu optimieren.
Dieser Beitrag markiert den vorletzten Eintrag unserer Blogreihe zum Stream Mining. Aber bleibt dran: Nächste Woche schließen wir die Reihe mit einem Gastbeitrag des Entwicklers von CapyMOA ab, der aus erster Hand Einblicke in Designentscheidungen, praktische Herausforderungen und zukünftige Richtungen von Stream-Mining-Frameworks geben wird.
Referenzen
MOA : https://moa.cms.waikato.ac.nz/
CapyMOA: https://capymoa.org/
Early work by Jerome Friedman: https://www.sciencedirect.com/science/article/pii/S0167947301000652
XGBoost: https://dl.acm.org/doi/10.1145/2939672.2939785
SGBT: https://doi.org/10.1007/s10994-024-06517-y
SGBR: https://doi.org/10.1007/s10618-025-01147-x
ARF: https://doi.org/10.1007/s10994-017-5642-8
SRP: https://doi.org/10.1109/ICDM.2019.00034
OzaBag/OzaBoos: https://proceedings.mlr.press/r3/oza01a.html
AXGB: https://doi.org/10.1109/IJCNN48605.2020.9207555
AdIter: https://doi.org/10.1016/j.neucom.2022.03.038