
In den meisten Szenarien des maschinellen Lernens gehen wir von derselben Prämisse aus: Wir haben einen Datensatz – beispielsweise eine Tabelle mit Bildern und deren Beschriftungen – und können ihn so oft betrachten, wie wir möchten. Wir können ihn mischen, aufteilen, normalisieren, ein Modell trainieren, es bewerten, neu trainieren … ganz nach Belieben. Das könnte man als Batch machine learning bezeichnen. Aber was passiert, wenn ständig neue Daten hinzukommen? Wenn man nicht den Luxus hat, seine Daten mehrmals durchzugehen, weil sie ständig in Echtzeit generiert werden? Willkommen beim Data Stream Mining – auch bekannt als Stream Learning, Online Machine Learning oder Inkrementelles Lernen.
Von Batches zu Streams

Beim typischen (Batch) Machine Learning beginnt man mit einem festen Datensatz. Man könnte beispielsweise ein Modell trainieren, um Katzen und Hunde in Bildern zu erkennen, handgeschriebene Ziffern zu erkennen oder Text zu generieren, um Fragen zu beantworten. Man kann wiederholt auf diese Daten zugreifen, das Modell optimieren und es so oft wie nötig bewerten. Sobald man fertig ist, setzt man das Modell ein – und das war’s. Beim Stream Learning kommen die Daten kontinuierlich an. Man hat nicht alle Daten auf einmal und kann jeden Datenpunkt möglicherweise nur einmal betrachten, bevor er verloren geht. Modelle müssen spontan lernen und sich anpassen, oft unter begrenzten Rechen- oder Speicherbedingungen. Das klingt zwar unnötig kompliziert, aber es gibt Beispiele für Stream Mining aus der Praxis:
- Beispiel 1 – Echtzeit-Sensordaten: Man stelle sich einen Temperatursensor in einem Automotor vor. Er misst die Temperatur hunderte Male pro Sekunde. Wenn der Sensor eine Überhitzung feststellt, muss das Kühlsystem sofort reagieren, und es ist keine Option, mit der Analyse der Daten des gesamten Tages zu warten. Hier werden Daten schneller produziert, als sie gespeichert oder verarbeitet werden können. Es bedarf also Algorithmen und Modelle, die schnelle und zuverlässige Entscheidungen treffen können, sobald Daten eintreffen – oft auf kleinen Systemen mit begrenzten Ressourcen.
- Beispiel 2 – Modelle auf dem neuesten Stand halten: Nehmen wir nun große Sprachmodelle (LLMs) wie ChatGPT. Nach etwa sechs Monaten ist ihr Wissen über die Welt, das in den ursprünglichen Trainingsdaten erfasst wurde, bereits veraltet, da neue Ereignisse eintreten. Das gesamte Modell von Grund auf neu zu trainieren, würde enorme Rechenressourcen erfordern. Ein besserer Ansatz ist es, das Modell kontinuierlich mit neuen Informationen zu aktualisieren, um so ein inkrementelles, lebenslanges Lernen zu ermöglichen.
Beide Beispiele verdeutlichen, warum Stream Learning immer wichtiger wird: Daten wachsen schneller als unsere Fähigkeit, sie zu speichern und neu zu trainieren. Leser, die mit Zeitreihenprognosen vertraut sind, werden bereits einige Überschneidungen zwischen beiden Forschungsrichtungen erkennen, da beide Szenarien sich mit Daten befassen, die sich im Laufe der Zeit weiterentwickeln. Bei Prognosen liegt der Schwerpunkt jedoch in der Regel auf der Vorhersage zukünftiger numerischer Werte (wie der Temperatur von morgen), wobei häufig Regressionsmodelle verwendet werden, die für eindimensionale Zeitreihen entwickelt wurden. Stream Learning hingegen ist breiter angelegt: Es kann tabellarische Daten, Texte oder Bilder umfassen und Aufgaben wie Klassifizierung, Clustering und Anomalieerkennung bewältigen – nicht nur Regression. Diese kontinuierliche Ein-Durchlauf-Einstellung ist die Kernidee hinter Echtzeit-Maschinellem Lernen und Online-Lernsystemen, bei denen sich Modelle sofort anpassen müssen, sobald neue Daten eintreffen.
Eine (vereinfachte) formale Betrachtung
Um die Herausforderungen des Stream Data Mining besser zu verstehen, wollen wir die Unterscheidung zwischen Batch- und Stream-Lernen etwas formeller gestalten. Beim überwachten Batch-Lernen gehen wir davon aus, dass die Daten aus einer einzigen, stabilen Verteilung stammen, aus der wir $N$ Stichproben in einem Datensatz $D = {(xᵢ, yᵢ) ~ Θ | i = 1, …. N}$ sammeln. Dieser Datensatz kann dann zum Trainieren unseres Modells $f:X→Y$ verwendet werden, indem eine Verlustfunktion minimiert wird:
${arg\,min} E_{x,y \sim \Theta}[\ell(f(x), y)]$
Das bedeutet, dass wir versuchen, die Funktion $f$ zu finden, die für diese eine feste Datenverteilung im Durchschnitt die beste Leistung erbringt. Beim Stream Learning kann sich die Datenverteilung jedoch im Laufe der Zeit ändern. Wir können uns eine Folge von Verteilungen $(Θₜᵢ, …), tᵢ = 1…, T$ vorstellen, wobei $T$ potenziell sehr groß oder sogar unendlich sein kann. Unsere Daten sehen nun wie folgt aus: $D = {(xᵢ, yᵢ, tᵢ) | (xᵢ, yᵢ)~ Θₜᵢ, i = 1, ….}$, wobei $t$ der Zeitpunkt ist, zu dem wir eine Stichprobe erhoben haben. Nun versuchen wir, ein Modell $f$ zu finden, das über die Zeit hinweg gute Ergebnisse liefert:
$\arg \min_f \sum_{i=1}^T \mathbb{E}_{x,y \sim \Theta_i} \ell(f(x), y)$
Dieser Wechsel von einem einzigen, festen Datensatz zu einer sich entwickelnden Abfolge von Verteilungen ist es, was Data Stream Mining und Online-ML grundlegend vom traditionellen maschinellen Lernen unterscheidet. Mit anderen Worten: Anstatt aus einer Welt (d. h. einer Verteilung) zu lernen, die sich nie verändert, muss das Modell mit einer sich entwickelnden Welt Schritt halten. Das macht Stream Learning so herausfordernd.
Wichtige Konzepte
Diese einfache Idee, von einem festen Satz von Datenpunkten zu Datenpunkten überzugehen, die sich im Laufe der Zeit ändern können, hat einen großen Einfluss darauf, wie wir das Lernen in diesem Szenario angehen können.
Das „Test-Then-Train”-Prinzip
Beim Batch Machine Learning teilen wir unseren Datensatz in der Regel in Trainings-, Validierungs- und Testsätze auf. In Streaming-Szenarien kommen jedoch ständig neue Daten hinzu, sodass es keine klare Grenze zwischen Training und Testen gibt. Stattdessen verwendet das Stream Learning das „Test-Then-Train”-Protokoll:
- Wenn ein neuer Datenpunkt eintrifft, erstellt das Modell zunächst eine Vorhersage.
- Sobald die tatsächliche Kennzeichnung verfügbar ist, messen wir den Fehler und aktualisieren das Modell anhand dieser Informationen.

Dies hat zwei wichtige Konsequenzen:
- Kaltstart: Das Modell muss Vorhersagen treffen, noch bevor es Daten gesehen hat! Frühe Vorhersagen sind wahrscheinlich ungenau, aber diese Phase ist Teil des Lernprozesses. Diese Bewertungsstrategie ist Standard bei der Online-Klassifizierung, wo Modelle oft unter strengen Latenzbedingungen Vorhersagen treffen müssen.
- Einfache Basislinien: Eine überraschend starke Basislinie bei vielen Aufgaben ist der Last-Value-Predictor, der einfach den zuletzt beobachteten Wert vorhersagt. Betrachten wir zum Beispiel die tägliche Temperatur: Obwohl plötzliche Sprünge möglich sind und sich das Wetter im Laufe der Jahreszeiten ändert, sind die Temperaturen an aufeinanderfolgenden Tagen in der Regel ähnlich. Daher ist eine einfache, aber effektive Basislinie die Vorhersage des vorherigen Wertes im Datenstrom.
Konzeptdrift
Da sich die Datenverteilung im Laufe der Zeit verändert, müssen sich Modelle an diese sogenannten Konzeptdrifts anpassen – eine zentrale Herausforderung beim Stream Learning, beim Online-Maschinellen Lernen und bei der Echtzeitanalyse. Eine Konzeptdrift ist eine Veränderung in den Daten und kann entweder in den Daten $x$ selbst, in den entsprechenden Labels $y$ oder in beiden gleichzeitig auftreten. Wenn beispielsweise ein Sensor in einem Automotor plötzlich viel höhere Werte als erwartet meldet, kann es zu einer Drift im Datenraum kommen. Wenn jedoch ein neuer Automotor auf den Markt kommt, der höheren Temperaturen standhält, können sich die potenziellen Klassen ändern. Diese Drifts können plötzlich (ein abruptes Ereignis) oder allmählich (ein langsamer Trend) auftreten. Das Erkennen und Anpassen an Drifts ist eine der zentralen Forschungsherausforderungen im Bereich Data Stream Mining. Der effektive Umgang mit Drifts ermöglicht es inkrementellen Lernalgorithmen, auch bei einer Weiterentwicklung der zugrunde liegenden Daten genau zu bleiben.
Saisonalität
Nicht alle Veränderungen sind völlig unerwartet, da sich einige Muster wiederholen. Diese wiederkehrenden Konzepte werden als saisonale Effekte bezeichnet. Denken Sie noch einmal an die Temperaturdaten: Die Tagestemperatur durchläuft natürlich einen Zyklus aus Winter, Frühling, Sommer und Herbst. Ein gut konzipiertes Stream-Modell sollte berücksichtigen, dass solche Zyklen auch nach monatelanger Abwesenheit wiederkehren. Diese wiederkehrenden Muster sind auch für das Online-Zeitreihenlernen von entscheidender Bedeutung, bei dem Modelle ein Gleichgewicht zwischen kurzfristiger Anpassung und Langzeitgedächtnis finden müssen, spielen aber auch beim Stream Mining und beim Online-Lernen im Allgemeinen eine ähnliche Rolle.
Fassen wir zusammen
Beim Data Stream Mining geht es darum, mit einem nie endenden Informationsfluss umzugehen: kontinuierlich zu lernen, schnell zu reagieren und sich an Veränderungen anzupassen. Ob es sich nun um ein selbstfahrendes Auto handelt, das Sensordaten verarbeitet, um ein Betrugserkennungssystem, das Transaktionen überwacht, oder um ein Modell, das sich selbst mit den neuesten Nachrichten auf dem Laufenden hält – die Prinzipien sind dieselben:
- Jeden Datenpunkt einmal sehen.
- Im Laufe der Zeit lernen.
- Und sich an eine sich ständig verändernde Welt anpassen.
Letztendlich bildet Stream Learning das Rückgrat moderner Echtzeit-Anwendungen für Maschinelles Lernen und ermöglicht eine kontinuierliche Anpassung ohne vollständiges Umschulung.
In den nächsten Beiträgen werden wir uns damit beschäftigen, wie Algorithmen das schaffen und warum manche Ansätze robuster sind als andere. Also bleibt dran für jede Menge neue Infos und macht euch keine Sorgen wegen der mathematischen Formeln. Das wird alles klarer, wenn wir diese Konzepte in Aktion sehen!
FAQ: Data Stream Mining, Online-Lernen & Konzeptdrift
Was ist Data Stream Mining?
Data Stream Mining ist der Prozess der Anwendung von maschinellem Lernen auf kontinuierlich eintreffende Daten. Im Gegensatz zum Batch Learning können Daten nicht gespeichert oder erneut aufgerufen werden, sodass Modelle schrittweise und in Echtzeit lernen.
Wie unterscheidet sich Stream Learning vom Online-Maschinellen Lernen?
Im Wesentlichen sind sie gleich: Beide beziehen sich auf Modelle, die kontinuierlich aktualisiert werden, sobald neue Daten eingehen. „Stream Learning” betont die Datenquelle (einen Stream), während „Online-Maschinelles Lernen” den Lernprozess betont.
Was ist Konzeptdrift?
Konzeptdrift bezieht sich auf eine Veränderung der statistischen Eigenschaften des Datenstroms im Laufe der Zeit. Drift kann Merkmale, Labels oder beides beeinflussen – und Modelle müssen sich schnell anpassen, um ihre Genauigkeit zu bewahren.
Warum können wir Modelle nicht einfach mit allen Daten neu trainieren?
Bei schnellen oder unendlichen Datenströmen ist es unmöglich, alle Daten zu speichern. Das erneute Training ist zu langsam und rechenintensiv. Inkrementelle Lernalgorithmen aktualisieren das Modell in Millisekunden, sobald Daten eintreffen.
Wo wird Online- oder Streaming-ML in der Praxis eingesetzt?
Typische Anwendungsfälle sind Sensorüberwachung, Betrugserkennung, adaptive Empfehlungssysteme und Echtzeitprognosen.
Weiterführende Literatur
- Adaptive Stream Mining: Pattern Learning and Mining from Evolving Data Streams by Albert Bifet: https://ebooks.iospress.nl/volume/adaptive-stream-mining-pattern-learning-and-mining-from-evolving-data-streams
- Knowledge Discovery from Data Streams by Joao Gama: https://www.routledge.com/Knowledge-Discovery-from-Data-Streams/Gama/p/book/9781439826119