Maschinelles Lernen — Muster aus Daten
Lernziele
- Die drei Lernparadigmen (Supervised, Unsupervised, Reinforcement) unterscheiden
- Entscheidungsbaum und k-Nearest-Neighbor als Algorithmen erklären
- Das Problem des Overfittings und Gegenmaßnahmen kennen
- Trainings-/Testdaten-Split und Kreuzvalidierung verstehen
Vorwissen empfohlen
Einführung
Wie erkennt ein Spamfilter Spam, ohne dass jemand explizite Regeln einprogrammiert hat? Wie findet Netflix heraus, welche Serien du mögen könntest? Wie lernt ein Computerprogramm, Schach besser zu spielen als alle Menschen?
In allen drei Fällen ist die Antwort: Maschinelles Lernen — das System lernt aus Daten, statt aus expliziten Regeln. Aber nicht alle Probleme werden gleich gelernt. Es gibt drei grundlegend verschiedene Ansätze — und welcher passt, hängt davon ab, ob man beschriftete Daten hat, was man optimieren will, und ob es Feedback aus der Umgebung gibt.
Grundidee
Maschinelles Lernen bedeutet: Ein Algorithmus bekommt Daten und verbessert seine Leistung bei einer Aufgabe durch diese Daten — ohne explizit für jede Regel programmiert zu werden.
Das Modell lernt eine Funktion: Gegeben Eingabe X, was ist der beste Output Y? Diese Funktion wird nicht formuliert, sondern aus Daten geschätzt.
Erklärung
Die drei Lernparadigmen
1. Supervised Learning (Überwachtes Lernen)
Die Trainingsdaten sind beschriftet (gelabelt): Jede Eingabe hat eine bekannte richtige Ausgabe.
- Eingabe (Features): Eigenschaften des Datenpunkts. Bei E-Mails: Wörter, Absender, Uhrzeit.
- Ausgabe (Label): Die gewünschte Vorhersage. Bei Spam: „Spam” oder „Kein Spam”.
Das Modell lernt die Beziehung zwischen Features und Labels. Dann sagt es Labels für neue, unbekannte Daten vorher.
Anwendungen: Spamfilter, Bilderkennung, Kreditbewilligung, medizinische Diagnose, Spracherkennung.
2. Unsupervised Learning (Unüberwachtes Lernen)
Die Trainingsdaten haben keine Labels. Das Modell soll selbst Struktur in den Daten finden.
Typisches Verfahren: k-Means-Clustering — teile die Daten in k Gruppen (Cluster) ein, sodass Datenpunkte innerhalb eines Clusters ähnlicher zueinander sind als zu Punkten anderer Cluster.
Anwendungen: Kundensegmentierung, Anomalieerkennung, Datenkompression, Empfehlungssysteme (ähnliche Nutzerprofile finden).
3. Reinforcement Learning (Bestärkendes Lernen)
Ein Agent lernt durch Interaktion mit einer Umgebung. Er wählt Aktionen, erhält Belohnung (positiv oder negativ) und lernt, Aktionen zu bevorzugen, die langfristig mehr Belohnung bringen.
Kein Lehrbuch, keine beschrifteten Daten — nur Trial & Error mit Feedback.
Anwendungen: Spiele (AlphaGo, Schach), Robotersteuerung, autonomes Fahren, Empfehlungssysteme mit Echtzeit-Feedback.
Features und Labels
Features sind die Eingaben, auf denen das Modell basiert. Sie bestimmen, was das Modell „sehen” kann. Schlecht gewählte Features → schlechtes Modell.
Bei Wohnungspreisvorhersage: Features könnten sein — Quadratmeter, Zimmeranzahl, Lage, Baujahr. Label: der Preis.
Feature Engineering — das Erstellen guter Features aus Rohdaten — ist oft wichtiger als die Wahl des Algorithmus.
Entscheidungsbaum (Decision Tree)
Ein Entscheidungsbaum ist ein intuitiver Supervised-Learning-Algorithmus.
Er stellt eine Reihe von Ja/Nein-Fragen (Entscheidungen) dar, die zu einer Klassifikation führen.
Beispiel Spamfilter:
Enthält "Lotterie"?
→ Ja: Spam
→ Nein: Enthält unbekannter Absender?
→ Ja: Enthält "dringend"?
→ Ja: Spam
→ Nein: Kein Spam
→ Nein: Kein Spam
Der Algorithmus lernt den Baum aus den Trainingsdaten: Er sucht bei jedem Schritt die Frage (Feature und Schwellenwert), die die Daten am besten aufteilt.
Vorteil: Sehr interpretierbar — man kann erklären, warum eine Entscheidung getroffen wurde.
Nachteil: Neigt zu Overfitting bei tiefen Bäumen.
Random Forest: Viele Entscheidungsbäume auf zufälligen Teilmengen der Daten — ihr Mehrheitsvotum ist robuster als ein einzelner Baum.
k-Nearest-Neighbor (k-NN)
Idee: Um einen neuen Datenpunkt zu klassifizieren, schau dir seine k nächsten Nachbarn in den Trainingsdaten an. Die häufigste Klasse unter ihnen ist die Vorhersage.
Beispiel: Du klassifizierst Obst anhand von Farbe und Größe. Ein neuer Datenpunkt liegt nah bei drei Äpfeln und einem Pfirsich (k=4). Mehrheitsvotum: Apfel.
Hyperparameter k: Kleines k → empfindlich gegenüber Rauschen. Großes k → glattere Entscheidungsgrenzen, aber könnte Strukturen verschmieren. k muss ausprobiert und getestet werden.
Vorteil: Einfach, keine Trainingsphase.
Nachteil: Langsam bei großen Datenmengen (muss alle Abstände berechnen), empfindlich gegenüber irrelevanten Features.
Trainings-/Testdaten-Split
Wie misst man, ob ein Modell gut ist?
Man darf die Leistung nicht auf den Trainingsdaten messen — das Modell kennt diese Daten bereits und kann sie auswendig lernen (Overfitting).
Stattdessen teilt man die Daten auf:
- Trainingsdaten (z. B. 80 %): Das Modell lernt darauf.
- Testdaten (z. B. 20 %): Das Modell wird auf unbekannten Daten evaluiert.
Gute Leistung auf Testdaten signalisiert echte Generalisierung.
Overfitting und Regularisierung
Overfitting: Das Modell hat die Trainingsdaten auswendig gelernt statt allgemeine Muster. Es performt auf Trainingsdaten sehr gut, auf neuen Daten schlecht.
Analogie: Ein Schüler lernt alle Aufgaben aus dem Übungsbuch auswendig, versteht aber das Konzept nicht — und scheitert bei neuen Aufgaben.
Gegenmittel:
- Mehr Trainingsdaten
- Regularisierung (Strafterm für zu komplexe Modelle)
- Früh stoppen (bei neuronalen Netzen)
- Kreuzvalidierung
Kreuzvalidierung (Cross-Validation): Statt einmaligem Train-Test-Split teilt man die Daten in k gleich große Teile. k-fach rotiert man: Jeder Teil dient einmal als Testdatensatz, der Rest als Training. Das Ergebnis ist robuster, weil alle Daten zur Evaluation beitragen.
k-Means-Clustering (Unsupervised)
Idee: Wähle zufällig k Mittelpunkte (Centroids). Weise jedem Datenpunkt den nächsten Centroid zu. Berechne die neuen Centroids als Mittelwert der zugewiesenen Punkte. Wiederhole, bis die Centroids stabil sind.
Beispiel: Du hast Kundendaten (Alter, Kaufhäufigkeit). k-Means findet z. B. drei Gruppen: junge Vielkäufer, ältere Gelegenheitskäufer, mittlere Gelegenheitskäufer — ohne dass jemand diese Gruppen vorab definiert hätte.
Problem: Man muss k vorab wählen. Es gibt Methoden (Elbow-Methode), um k zu schätzen.
Beispiel aus dem Alltag
Spamfilter (Supervised Learning):
Du markierst hundert E-Mails als Spam oder Nicht-Spam. Der Algorithmus lernt: Welche Wörter, Muster, Absender kommen in Spam häufiger vor? Dann klassifiziert er neue Mails.
Mit der Zeit sammelst du mehr Daten — das Modell wird besser. Wenn Spammer neue Tricks verwenden (neue Wörter, neue Strukturen), musst du das Modell neu trainieren. Daten sind nie fertig.
Produktempfehlung (Unsupervised oder Supervised):
Spotify findet Nutzer mit ähnlichem Geschmack (k-NN oder Clustering) und empfiehlt Musik, die ähnliche Nutzer mögen. Kein Label — nur Ähnlichkeit in einem hochdimensionalen Feature-Raum aus Streaming-Verhalten.
AlphaGo (Reinforcement Learning):
DeepMinds AlphaGo lernte Go durch Millionen von Partien gegen sich selbst. Bei jedem Zug: Welcher Zug erhöht die Gewinnwahrscheinlichkeit? Belohnung: Partie gewonnen. Nach genug Selbstspiel übertraf es alle menschlichen Spieler.
Anwendung
Überlege für jede Situation: Welches Lernparadigma passt (Supervised/Unsupervised/Reinforcement)? Warum?
- Du willst Fotos automatisch in „Hund” und „Katze” einteilen und hast 5.000 beschriftete Fotos.
- Du willst Kunden in natürliche Segmente einteilen, ohne vorher zu wissen, wie viele es gibt.
- Ein Roboter soll lernen, einen Ball zu fangen — er bekommt einen Punkt, wenn er trifft.
- Du willst aus Krankenakten vorhersagen, ob ein Patient ein Rezidivrisiko hat.
- Du willst in einem riesigen Datensatz unbekannte Muster und Ausreißer finden.
Typische Fehler
Training- und Testdaten mischen: Das Modell auf denselben Daten testen, mit denen es trainiert wurde, ergibt viel zu optimistische Ergebnisse. Immer sauber trennen.
Features unkritisch übernehmen: Irrelevante Features rauschen das Modell ein. Feature Selection und Feature Engineering sind oft wichtiger als der Algorithmus.
k bei k-NN ohne Test wählen: k ist ein Hyperparameter — er beeinflusst stark die Güte. Immer verschiedene k testen und auf Validierungsdaten evaluieren.
Einen Datensatz als repräsentativ annehmen: Ein Modell, das auf nicht-repräsentativen Daten trainiert wurde, lernt die Verzerrungen der Daten. Das führt zu Bias — wie in der KI-Grundlagen-Lektion beschrieben.
Zusammenfassung
- Supervised Learning braucht beschriftete Daten und lernt eine Funktion von Features auf Labels
- Unsupervised Learning findet Struktur in ungelabelten Daten — z. B. Cluster mit k-Means
- Reinforcement Learning lernt durch Belohnung und Bestrafung in einer Umgebung — kein Lehrbuch nötig
- Entscheidungsbaum: interpretierbare Wenn-Dann-Ketten; anfällig für Overfitting ohne Tiefenbeschränkung
- k-Nearest-Neighbor: klassifiziere nach den k ähnlichsten bekannten Datenpunkten
- Trainings-/Test-Split und Kreuzvalidierung messen echte Generalisierung statt auswendig gelernter Trainingsdaten
Quiz
Frage 1: Was ist der Unterschied zwischen Supervised und Unsupervised Learning?
Frage 2: Was ist Overfitting — und wie erkennt man es?
Frage 3: Erkläre das Prinzip von k-Nearest-Neighbor.
Frage 4: Warum misst man Modellqualität auf Testdaten statt auf Trainingsdaten?