Supervised / Unsupervised Learning
Supervised Learning trainiert Modelle anhand gelabelter Daten mit bekannten Soll-Ausgaben, während Unsupervised Learning Muster und Strukturen in ungelabelten Daten eigenständig entdeckt – beide Paradigmen bilden das Fundament des modernen maschinellen Lernens.
Supervised vs. Unsupervised Learning
Die Wahl des Lernparadigmas bestimmt maßgeblich, wie ein Modell trainiert wird und welche Probleme es lösen kann.
Supervised Learning (Überwachtes Lernen)
Beim Supervised Learning besteht der Trainingsdatensatz aus Input-Output-Paaren: Zu jedem Eingabewert x existiert ein bekanntes Label y. Das Modell lernt eine Funktion f(x) → y, indem es die Differenz zwischen seiner Vorhersage und dem echten Label minimiert.
Typische Anwendungsfälle:
- Klassifikation: Spam-Erkennung, Bildklassifikation, Sentiment-Analyse
- Regression: Preisvorhersage, Zeitreihenprognose
- Sequence-to-Sequence: Maschinelle Übersetzung, Named Entity Recognition
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
# Gelabelte Daten: Features + bekannte Zielwerte
X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.2)
model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train) # Lernt aus (Input, Label)-Paaren
accuracy = model.score(X_test, y_test)
print(f"Accuracy: {accuracy:.2%}")
Der Engpass: Gelabelte Daten sind teuer. Manuelles Annotieren ist zeitaufwändig und fehleranfällig – hier liegt die größte praktische Herausforderung.
Unsupervised Learning (Unüberwachtes Lernen)
Ohne Labels muss das Modell selbst Strukturen, Cluster oder Repräsentationen in den Rohdaten finden. Es gibt kein explizites Richtig oder Falsch.
Typische Anwendungsfälle:
- Clustering: Kundensegmentierung (K-Means, DBSCAN)
- Dimensionsreduktion: PCA, t-SNE, UMAP – für Visualisierung und Feature-Engineering
- Anomalieerkennung: Fraud Detection ohne gelabelte Betrugsfälle
- Embedding-Lernen: Word2Vec, Autoencoder lernen kompakte Repräsentationen
from sklearn.cluster import KMeans
import numpy as np
# Keine Labels notwendig – nur rohe Feature-Vektoren
X = np.array([[1.2, 2.3], [1.1, 2.1], [8.7, 9.2], [8.5, 9.4]])
kmeans = KMeans(n_clusters=2, random_state=42)
kmeans.fit(X) # Findet Cluster eigenständig
print("Cluster-Zuordnung:", kmeans.labels_) # [0, 0, 1, 1]
Die Verbindung zu modernen LLMs
Moderne Foundation Models kombinieren beide Paradigmen clever:
| Phase | Paradigma | Beispiel |
|---|---|---|
| Pre-Training | Selbst-überwacht (Sonderform) | Next-Token-Prediction ohne manuelle Labels |
| Fine-Tuning | Supervised | Instruction-Tuning mit kuratierten Beispielen |
| RLHF | Hybrid | Reward-Modell (supervised) + RL-Optimierung |
Self-Supervised Learning ist dabei die entscheidende Innovation: GPT lernt durch Next-Token-Prediction – die Labels erzeugt der Text selbst. Das skaliert auf Billionen von Tokens ohne manuelle Annotation.
Semi-Supervised Learning in der Praxis
In realen Projekten hat man oft wenig gelabelte, viel ungelabelte Daten. Semi-Supervised-Ansätze nutzen beides:
# Typisches Szenario: 1000 gelabelte, 100.000 ungelabelte Dokumente
# 1. Unsupervised: Embeddings auf allen Daten trainieren
# 2. Supervised: Classifier nur auf gelabelten Daten fine-tunen
from sentence_transformers import SentenceTransformer
encoder = SentenceTransformer('all-MiniLM-L6-v2')
# Embeddings für alle Dokumente (labeled + unlabeled)
all_embeddings = encoder.encode(all_documents)
# Dann nur gelabelte Embeddings für Downstream-Task verwenden
labeled_embeddings = all_embeddings[:1000]
Praktische Entscheidungshilfe
- Hast du saubere Labels? → Supervised Learning, direkter Weg zum Ziel
- Keine Labels, aber viele Daten? → Unsupervised für Exploration oder Embedding-Vorverarbeitung
- Wenig Labels, viele Rohdaten? → Semi-Supervised oder Pre-trained Embeddings + Fine-Tuning
- LLM-Anwendung? → Du nutzt bereits beide Paradigmen kombiniert
Verwandte Begriffe
Inhouse statt Nachschlagewerk
Für den Transfer ins Unternehmen sind die Inhouse-Schulungen der passende nächste Schritt.