Weiter zum Inhalt

Semi-supervised Learning: So trainierst du genauere Modelle mit weniger gelabelten Daten

Semi-supervised Learning trainiert Modelle auf einer Mischung aus gelabelten und ungelabelten Daten – senkt die Labeling-Kosten und steigert die Genauigkeit, z. B. in Bildklassifikation, Textanalyse und medizinischer Diagnostik.
Aktualisiert 4. Mai 2026  · 12 Min. lesen

Daten zu labeln ist teuer, langsam, domänenspezifisch – und die meisten Teams haben nicht genug davon.

Zum Trainieren brauchst du immer gelabelte Daten, aber korrektes Labeln kostet Zeit und oft Expertise. Medizinische Bilder brauchen Radiologinnen und Radiologen, juristische Dokumente brauchen Anwältinnen und Anwälte. Selbst einfache Aufgaben wie Sentimentanalyse erfordern, dass jemand jedes Beispiel von Hand markiert. Das Ergebnis: Die meisten ML-Teams haben ein winziges gelabeltes Dataset und riesige Mengen ungenutzter, ungelabelter Daten.

Semi-supervised Learning löst das, indem es auf beidem trainiert. Es nimmt dein kleines gelabeltes Dataset, kombiniert es mit deinem großen ungelabelten und lässt das Modell Muster lernen.

In diesem Artikel erkläre ich, wie Semi-supervised Learning funktioniert, zeige die gängigsten Techniken und wann sich der Einsatz lohnt.

Aber was genau ist Supervised Machine Learning? Lies unseren Blogpost, um zu verstehen, wie zentrale Algorithmen im überwachten Lernen funktionieren.

Was ist Semi-supervised Learning?

Semi-supervised Learning ist ein Machine-Learning-Ansatz, der auf einer Mischung aus gelabelten und ungelabelten Daten trainiert.

Er liegt – wie der Name andeutet – zwischen Supervised und Unsupervised Learning. Supervised Learning braucht ein Label für jedes Sample. Unsupervised Learning arbeitet komplett ohne Labels. Semi-supervised Learning nutzt wenige gelabelte Beispiele zusammen mit einer großen Menge ungelabelter.

Die gelabelten Daten zeigen dem Modell, worauf es achten soll. Die ungelabelten Daten zeigen, wie die Daten strukturiert sind. Gemeinsam geben sie dem Modell mehr Signal, als es jeweils allein könnte.

So funktioniert Semi-supervised Learning

Der Prozess startet mit einem kleinen gelabelten Dataset – vielleicht ein paar Hundert Beispiele mit bekanntem Output.

Dann fügst du ein deutlich größeres ungelabeltes Dataset hinzu. Das können Tausende oder Millionen Samples ohne Labels sein. Das Modell nutzt diese ungelabelten Daten, um zugrunde liegende Muster und Beziehungen zwischen Datenpunkten zu lernen.

Die gelabelten Beispiele lenken diese Struktur in Richtung der richtigen Antworten. Aus den ungelabelten Samples weiß das Modell bereits, wie die Daten organisiert sind. Die Labels sagen ihm, welche Bereiche dieser Struktur zu welchen Outputs gehören.

Hier ein kurzes Beispiel.

Angenommen, du klassifizierst E-Mails als Spam oder Nicht-Spam. Du hast 100 gelabelte E-Mails und 10.000 ungelabelte. Das Modell lernt zunächst, wie sich E-Mails anhand von Wortmustern und Struktur gruppieren. Danach nutzt es deine 100 gelabelten Beispiele, um herauszufinden, welche Gruppen Spam sind und welche nicht. Das Ergebnis ist ein Modell, das besser abschneidet, als wenn du nur mit den 100 gelabelten E-Mails trainiert hättest.

Semi-supervised vs. Supervised vs. Unsupervised Learning

Gehen wir die drei Ansätze durch, um zu sehen, wo Semi-supervised Learning im Vergleich einzuordnen ist.

Supervised Learning

Supervised Learning trainiert auf vollständig gelabelten Daten. Jedes Sample im Dataset hat einen Input und einen bekannten Output. Das Modell lernt die Abbildung dazwischen.

Das funktioniert gut, wenn du genug gelabelte Beispiele hast. „Genug“ kann je nach Aufgabe aber Tausende bis Millionen Samples bedeuten. Das ist teuer und teils schlicht unmöglich.

Unsupervised Learning

Unsupervised Learning nutzt gar keine Labels. Das Modell betrachtet Rohdaten und findet eigenständig Struktur. Klassische Beispiele sind Clustering und Dimensionsreduktion.

Vorteil: Du brauchst keine gelabelten Daten. Nachteil: Das Modell weiß nicht, was dir wichtig ist. Es findet Muster – aber die passen womöglich nicht zu deinem eigentlichen Problem.

Semi-supervised Learning

Semi-supervised Learning kombiniert das Beste aus beiden Welten. Du gibst dem Modell ein kleines gelabeltes Dataset zur Aufgaben-Definition und ein großes ungelabeltes zur Strukturerkennung.

Die gelabelten Daten weisen die Richtung. Die ungelabelten zeigen, wie die Samples zueinander stehen. Diese Kombination schlägt oft Supervised Learning auf demselben kleinen gelabelten Set, weil das Modell Muster erkennt, die ohne die ungelabelten Daten verborgen blieben.

Hier ein schneller Vergleich der drei Ansätze:

Vergleichstabelle der Machine-Learning-Ansätze

Vergleichstabelle der Machine-Learning-Ansätze

Kurz gesagt: Wenn Labeln zu viel Zeit kostet und du viele ungelabelte Daten hast, solltest du Semi-supervised Learning in Betracht ziehen. Als Nächstes zeige ich dir gängige Techniken.

Gängige Techniken im Semi-supervised Learning

Es gibt mehrere Möglichkeiten, Semi-supervised Learning umzusetzen. Jede Technik geht mit dem Verhältnis gelabelt/ungelabelt anders um. Hier die gängigsten.

Self-Training

Das ist der einfachste Ansatz. Du trainierst ein Modell auf deinen gelabelten Daten und lässt es dann Labels für die ungelabelten Samples vorhersagen. Die sichersten Vorhersagen kommen als Pseudo-Labels zum gelabelten Set hinzu, und du trainierst das Modell auf dem erweiterten Dataset neu.

Diesen Prozess wiederholst du, bis sich das Modell nicht mehr verbessert oder dir die ungelabelten Daten ausgehen. Die Implementierung ist simpel, aber wenn das Modell früh falsch liegt, landet dieser Fehler dauerhaft in deinem Dataset.

Co-Training

Co-Training nutzt zwei Modelle statt eines. Jedes Modell wird auf einer anderen „Sicht“ der Daten trainiert, also auf unterschiedlichen Feature-Teilsets.

Beispiel Webseitentexte: Ein Modell betrachtet den Seitentext, das andere die Ankertexte eingehender Links. Jedes Modell labelt ungelabelte Samples für das jeweils andere, und über mehrere Runden bringen sie sich gegenseitig etwas bei.

Die Idee: Die Stärken des einen gleichen die Schwächen des anderen aus. Wenn beide Sichten für sich ausreichend Information tragen, kann Co-Training Self-Training schlagen, weil sich Fehler gegenseitig korrigieren.

Label Propagation

Hierbei wird ein Graph aufgebaut, in dem jeder Datenpunkt ein Knoten ist und Kanten ähnliche Punkte verbinden. Labels „breiten sich“ von gelabelten Knoten zu ihren Nachbarn aus.

Annahme: Ähnliche Datenpunkte teilen sich dasselbe Label. Wenn ein gelabeltes Sample nahe an einem Cluster ungelabelter Samples liegt, gehören diese wahrscheinlich zur gleichen Klasse. Die Labels propagieren durch den Graphen, bis jeder Knoten eines hat.

Das funktioniert gut bei klaren Clusterstrukturen, versagt aber, wenn die Klassen unscharf getrennt sind.

Semi-supervised Neuronale Netze

Im Deep Learning gibt es eigene Semi-supervised-Ansätze. Hier zwei der gängigsten:

  • Consistency Regularization: Das Modell soll für ein Input auch nach kleinen Störungen wie Rauschen oder Augmentierung dieselbe Ausgabe liefern. Die Idee: Ein gutes Modell ändert seine Vorhersage nicht wegen minimaler Änderungen am Input
  • Pseudo-Labeling in Neuronalen Netzen: Funktioniert wie Self-Training, aber auf Batch-Ebene. Das Modell erzeugt während des Trainings Labels für ungelabelte Samples und nutzt sie zusammen mit echten Labels in der Loss-Funktion.

Methoden wie FixMatch und MixMatch kombinieren diese Ideen und zeigen starke Ergebnisse auf Benchmarks mit sehr wenigen gelabelten Beispielen.

Warum Semi-supervised Learning wichtig ist

Der Hauptgrund ist der Kostenfaktor.

Labeln braucht Daten, Fachexpertise, Zeit und Geld. Semi-supervised Learning senkt die Kosten, indem es mit weniger Labels mehr herausholt.

Dann ist da die Performance. Ein Modell, das auf 500 gelabelten und 50.000 ungelabelten Samples trainiert, schlägt oft dasselbe Modell, das nur die 500 gelabelten sieht. Die ungelabelten Daten geben ein vollständigeres Bild der Verteilung – das führt zu besseren Vorhersagen.

Und schließlich die Realität der meisten Datasets: Ungelabelte Daten gibt es überall. Jedes Unternehmen sitzt auf Logs, Bildern, Dokumenten und Aufnahmen, für die niemand Zeit zum Labeln hat. Semi-supervised Learning macht diese Daten nutzbar.

Anwendungsfälle für Semi-supervised Learning

Semi-supervised Learning kommt in Bereichen zum Einsatz, in denen Labels schwer zu bekommen sind.

Bildklassifikation ist einer der häufigsten Fälle. Tausende Bilder zu labeln ist mühsam, ungelabelte Bilder zu sammeln ist leicht. Semi-supervised-Methoden erlauben akkurate Klassifikatoren mit nur ein paar Hundert gelabelten Bildern.

Textklassifikation ist ähnlich. Du hast vielleicht Millionen Rezensionen oder Support-Tickets, aber nur eine kleine manuell gelabelte Teilmenge. Semi-supervised Learning hilft dir, Klassifikatoren zu bauen, die auf das gesamte Dataset generalisieren.

Spracherkennung ist ein weiteres spannendes Feld. Audio von Hand zu transkribieren ist aufwendig, Roh-Audiodaten sind reichlich vorhanden. Die ungelabelten Aufnahmen lehren akustische Muster, die transkribierten Beispiele liefern die korrekten Zuordnungen.

Medizinische Datenanalyse eignet sich besonders. Ärztinnen und Ärzte Scans oder Patientenakten labeln zu lassen ist teuer und langsam, weil anderes Vorrang hat. Krankenhäuser haben jedoch große Mengen ungelabelter klinischer Daten. Semi-supervised-Methoden helfen, Diagnosemodelle ohne vollständig gelabeltes Dataset zu erstellen.

Vorteile von Semi-supervised Learning

Darum passt Semi-supervised Learning zu vielen Projekten:

  • Weniger gelabelte Daten nötig: Gute Ergebnisse mit einem Bruchteil der Labels, die ein vollständig überwachter Ansatz erfordern würde
  • Bessere Generalisierung: Ungelabelte Daten konfrontieren das Modell mit mehr Varianz, wodurch es auf unbekannten Daten besser performt
  • Kosteneffizient: Wenn Labeln teuer oder zeitaufwendig ist – was meist der Fall ist – spart Semi-supervised Learning Zeit und Budget, indem es vorhandene Daten optimal nutzt

Wenn du also mehr Daten als Labels hast, ist es Zeit für Semi-supervised Learning.

Grenzen von Semi-supervised Learning

Semi-supervised Learning bringt ein paar Trade-offs mit, die du kennen solltest.

  • Qualität der ungelabelten Daten zählt: Wenn deine ungelabelten Daten nicht aus derselben Verteilung stammen wie die gelabelten, lernt das Modell falsche Muster
  • Falsche Pseudo-Labels: Bei Self-Training werden sichere, aber falsche Vorhersagen als Wahrheit behandelt. Das Modell trainiert auf dem Fehler, verstärkt ihn und verschlechtert künftige Vorhersagen
  • Komplexer als Supervised Learning: Mehr Hyperparameter, mehr Designentscheidungen, mehr potenzielle Fehlerquellen. Ein rein überwachtes Modell ist einfacher zu bauen und zu erklären. Semi-supervised-Methoden fügen Komplexität hinzu, die sich nicht immer lohnt – vor allem, wenn dein gelabeltes Dataset bereits groß genug ist

Keiner dieser Punkte ist ein K.-o.-Kriterium, aber du solltest sie kennen, bevor du loslegst.

Semi-supervised Learning in der Praxis (Python-Beispiel)

Schauen wir uns Semi-supervised Learning mit einem einfachen Python-Beispiel an – mit scikit-learns LabelSpreading-Algorithmus.

Ich erstelle ein Dataset, label nur einen kleinen Teil und lasse das Modell den Rest erschließen.

Daten vorbereiten

Zuerst generiere ich ein Dataset und maskiere die meisten Labels, um ein Semi-supervised-Szenario zu simulieren:

import numpy as np
from sklearn.datasets import make_moons
from sklearn.semi_supervised import LabelSpreading
from sklearn.metrics import accuracy_score

# Generate a dataset with 500 samples
X, y_true = make_moons(n_samples=500, noise=0.2, random_state=42)

# Keep only 10%, mask the rest as -1
rng = np.random.RandomState(42)
labeled_idx = rng.choice(500, size=50, replace=False)
y_train = np.full(500, -1)  # -1 means unlabeled in scikit-learn
y_train[labeled_idx] = y_true[labeled_idx]

print(f"Labeled samples: {np.sum(y_train != -1)}")
print(f"Unlabeled samples: {np.sum(y_train == -1)}")

Anzahl gelabelter und ungelabelter Datenpunkte

Anzahl gelabelter und ungelabelter Datenpunkte

In scikit-learn markiert -1 ein Sample als ungelabelt. Von 500 Samples haben nur 50 Labels. Das Modell muss die übrigen 450 erschließen.

Training und Vorhersage

Jetzt trainiere ich ein LabelSpreading-Modell und prüfe, wie gut es die ungelabelten Daten labelt:

model = LabelSpreading(kernel="knn", n_neighbors=7)
model.fit(X, y_train)

y_pred = model.transduction_

# Check accuracy on the originally unlabeled samples
unlabeled_mask = y_train == -1
accuracy = accuracy_score(y_true[unlabeled_mask], y_pred[unlabeled_mask])
print(f"Accuracy on unlabeled samples: {accuracy:.2%}")

Genauigkeit auf ungelabelten Samples

Genauigkeit auf ungelabelten Samples

Das Modell hat die meisten ungelabelten Samples korrekt zugeordnet – mit nur 10% gelabelten Daten. Genau darum geht es.

Ergebnisse visualisieren

Die Genauigkeit ist hoch – fast 96% – aber lass uns visuell prüfen, welche Samples falsch klassifiziert wurden:

Wahre und vorhergesagte Labels

Wahre und vorhergesagte Labels

Die vorhergesagten Labels entsprechen nahezu perfekt den wahren Labels, obwohl das Modell nur 50 gelabelte Beispiele von 500 gesehen hat. Die Fehlklassifikationen sind im rechten Diagramm rot markiert.

Häufige Fehler beim Semi-supervised Learning

Du hast gesehen, wie stark Semi-supervised Learning sein kann, aber es passt nicht immer. Hier die häufigsten Fehler – und wie du sie vermeidest.

  • Davon ausgehen, dass ungelabelte Daten immer helfen: Tun sie nicht. Kommen die ungelabelten Daten aus einer anderen Verteilung als die gelabelten, lernt das Modell Muster, die für deine Aufgabe nicht gelten. Stelle sicher, dass beide aus derselben Quelle stammen und dasselbe Problem abbilden
  • Schlechte Modellinitialisierung: Semi-supervised-Methoden bauen auf einem initialen Supervised-Modell auf. Ist dieses schwach – zu wenige Samples, schlechte Hyperparameter –, vererben sich die Probleme. Starte mit der bestmöglichen überwachten Baseline, bevor du ungelabelte Daten hinzunimmst
  • Zu viel Vertrauen in Pseudo-Labels: Pseudo-Labels sind nur so gut wie das Modell, das sie erzeugt. Wenn du alle Pseudo-Labels übernimmst, kumulieren sich Fehler. Setze eine hohe Konfidenzschwelle und nutze nur Pseudo-Labels, bei denen das Modell sicher ist. Verwerfe den Rest
  • Ignorieren der Datenverteilung: Semi-supervised-Methoden nehmen an, dass die Struktur der ungelabelten Daten etwas über die Labels verrät. Wenn deine Daten keine klaren Cluster oder glatten Entscheidungsgrenzen haben, hält diese Annahme nicht

Um diese vier Fehler zu vermeiden, starte mit einer starken überwachten Baseline, füge ungelabelte Daten schrittweise hinzu und prüfe nach jedem Schritt, ob sich die Performance wirklich verbessert.

Wann du Semi-supervised Learning einsetzen solltest

Semi-supervised Learning ist in diesen drei Szenarien sinnvoll:

  • Wenn gelabelte Daten knapp sind: Wenn du nur ein kleines gelabeltes Dataset hast und mehr Labels teuer oder langsam zu bekommen sind, hilft Semi-supervised Learning, noch etwas Genauigkeit herauszuholen
  • Wenn viele ungelabelte Daten vorliegen: Du brauchst dafür eine große Menge ungelabelter Daten. Ist das ungelabelte Set klein, lernt das Modell zu wenig Struktur. Je größer die Lücke zwischen gelabeltem und ungelabeltem Set, desto mehr kann Semi-supervised helfen
  • Wenn deine Daten klare Struktur haben: Semi-supervised funktioniert am besten, wenn ähnliche Punkte dasselbe Label teilen. Bilden deine Daten Cluster oder glatte Grenzen zwischen Klassen, werden diese Muster durch ungelabelte Daten deutlicher. Sind die Klassen stark vermischt, bringt es wenig.

Wenn alle drei Bedingungen zutreffen, lohnt sich ein Test mit Semi-supervised Learning.

Fazit

Einfach gesagt: Semi-supervised Learning ermöglicht bessere Modelle, ohne alles zu labeln. Du kombinierst ein kleines gelabeltes Dataset mit einem großen ungelabelten und lässt das Modell aus beidem lernen.

Die Vorteile liegen auf der Hand: weniger Zeit fürs Labeln, schnellerer Go-to-Market, geringere Kosten und bessere Performance als mit wenigen Labels allein. Und in Feldern wie Medizin, Recht und NLP – wo Labeln Fachexpertise erfordert – ist das ein Gamechanger.

Wenn du große Mengen ungelabelter Daten hast, probiere Semi-supervised Learning. Starte mit einer guten überwachten Baseline, wähle eine Technik, die zur Datenstruktur passt, und messe, ob die ungelabelten Daten wirklich helfen. scikit-learns LabelSpreading ist ein guter erster Versuch – teste aber auch Methoden wie FixMatch und MixMatch.

Wenn du 2026 jobready sein willst, starte mit unserem Machine Learning Engineer track. Er deckt alles ab – von Grundlagen bis MLOps.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Senior Data Scientist mit Sitz in Kroatien. Top Tech Writer mit über 700 veröffentlichten Artikeln, die mehr als 10 Millionen Mal aufgerufen wurden. Buchautor von Machine Learning Automation with TPOT.

FAQs

What is semi-supervised learning?

Semi-supervised Learning ist ein Machine-Learning-Ansatz, bei dem Modelle auf einem kleinen Set gelabelter Daten und einem großen Set ungelabelter Daten trainiert werden. Die gelabelten Daten zeigen dem Modell, worauf es achten soll, während die ungelabelten Daten ihm helfen, die Gesamtstruktur der Daten zu verstehen. So erzielst du bessere Ergebnisse, als wenn du nur auf den gelabelten Daten trainierst.

How is semi-supervised learning different from supervised and unsupervised learning?

Supervised Learning nutzt ausschließlich gelabelte Daten, bei denen jedes Sample einen bekannten Output hat. Unsupervised Learning nutzt ausschließlich ungelabelte Daten und findet Muster selbstständig. Semi-supervised Learning verwendet ein kleines gelabeltes Dataset zur Aufgaben-Definition und ein großes ungelabeltes Dataset, um die Datenstruktur zu lernen.

When should I use semi-supervised learning?

Setze es ein, wenn du wenig gelabelte und viele ungelabelte Daten hast und deine Daten eine klare Struktur aufweisen – etwa natürliche Cluster oder glatte Grenzen zwischen Klassen. Wenn Labeln teuer ist oder Fachexpertise erfordert – z. B. in der medizinischen Bildgebung oder bei juristischen Texten – hilft Semi-supervised Learning, akkurate Modelle zu bauen, ohne alles zu labeln.

What is self-training in semi-supervised learning?

Self-Training ist eine Technik, bei der das Modell zunächst auf gelabelten Daten trainiert und anschließend Labels für ungelabelte Samples vorhersagt. Die sichersten Vorhersagen werden als Pseudo-Labels zum gelabelten Set hinzugefügt, und das Modell wird auf dem erweiterten Dataset neu trainiert. Das Risiko: Frühe Fehlvorhersagen werden später verstärkt. Setze daher eine hohe Konfidenzschwelle.

Themen

Lerne mit DataCamp

Kurs

Unsupervised Learning in Python

4 Std.
176.9K
Nutze scikit-learn und scipy, um unbeschriftete Daten zu clustern, zu transformieren, zu visualisieren und in Erkenntnisse zu überführen.
Details anzeigenRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Blog

Arten von KI-Agenten: Ihre Rollen, Strukturen und Anwendungen verstehen

Lerne die wichtigsten Arten von KI-Agenten kennen, wie sie mit ihrer Umgebung interagieren und wie sie in verschiedenen Branchen eingesetzt werden. Verstehe einfache reflexive, modellbasierte, zielbasierte, nutzenbasierte, lernende Agenten und mehr.

Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Tutorial

Python Switch Case Statement: Ein Leitfaden für Anfänger

Erforsche Pythons match-case: eine Anleitung zu seiner Syntax, Anwendungen in Data Science und ML sowie eine vergleichende Analyse mit dem traditionellen switch-case.
Matt Crabtree's photo

Matt Crabtree

Tutorial

Python-Anweisungen IF, ELIF und ELSE

In diesem Tutorial lernst du ausschließlich Python if else-Anweisungen kennen.
Sejal Jaiswal's photo

Sejal Jaiswal

Tutorial

Wie man Listen in Python aufteilt: Einfache Beispiele und fortgeschrittene Methoden

Lerne, wie du Python-Listen mit Techniken wie Slicing, List Comprehensions und itertools aufteilen kannst. Finde heraus, wann du welche Methode für die beste Datenverarbeitung nutzen solltest.
Allan Ouko's photo

Allan Ouko

Tutorial

Python Datenstrukturen Tutorial

Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Sejal Jaiswal's photo

Sejal Jaiswal

Mehr anzeigenMehr anzeigen