~/teaching · machine learning · sitzung 1, mittwoch, 14. oktober 2026
Den Rahmen abstecken, bevor man modelliert, dann die kleinsten Quadrate: Entscheidung, Data Leakage, Normalgleichungen und Konditionierung
Sitzung 1 des Machine-Learning-Kurses: zuerst die Entscheidung aufschreiben, dann die Regression als Projektion lösen.
Zusammenfassung
Dies ist die erste Arbeitssitzung des Machine-Learning-Kurses an der Centrale Méditerranée (Schwerpunkt DDEFI, 2026-2027). Sie besteht aus zwei Hälften, die nichts miteinander zu tun zu haben scheinen und es doch haben. Die erste Hälfte steckt den Rahmen eines Projekts ab, bevor Code entsteht: welcher Entscheidung das Modell dient, was die Zielspalte tatsächlich erfasst, welche zwei Metriken von wem gelesen werden, welche Grenzen das Modell einhalten muss und wie die Daten die Zukunft ins Training einschleusen können. Die zweite Hälfte nimmt das einfachste Modell überhaupt, die nach der gewöhnlichen Methode der kleinsten Quadrate angepasste Gerade, und liest es auf vier Arten: als Minimierung, als lineares Gleichungssystem, als Orthogonalprojektion und als Berechnung auf einer Maschine, die rundet.
Das durchgehende Beispiel des Kurses ist ein Kreditausfall-Score auf Basis der Daten UCI Default of Credit Card Clients (Taiwan, 2005, Lizenz CC BY 4.0). Der Teil zu den kleinsten Quadraten arbeitet mit fünf veranschaulichenden Kunden, so wenige, dass sich jede Zahl von Hand nachrechnen lässt, und dann in einer Praxisübung mit California Housing.
Nach der Sitzung können Sie die Entscheidung, die Zielvariable, die Metriken und eine Leitplanke eines Projekts in fünf Zeilen aufschreiben, vor dem Öffnen der Datei eine Leakage-Karte zeichnen, die Normalgleichungen herleiten, zeigen, warum das Residuum auf jeder Spalte der Designmatrix senkrecht steht, und erklären, warum seriöse Bibliotheken niemals die Inverse von bilden.
Aufbau des Foliensatzes
- Den Rahmen eines ML-Projekts abstecken. Die Entscheidung, die Frage, die Zielvariable, die beiden Metriken, die Leitplanken, der Arbeitszyklus und die Datenpipeline.
- Teamübung auf Papier. Jedes Dreierteam schreibt fünf unterschriebene Zeilen, die den Rahmen des durchgehenden Projekts abstecken und später das Projekt-Repository eröffnen.
- Das Kriterium und die Normalgleichungen. Von der Summe der quadrierten Abstände zu ihrem Gradienten, dann zu einem linearen -System, geprüft an fünf Kunden.
- Projektion, Hutmatrix und R². Die angepassten Werte sind die Orthogonalprojektion der Beobachtungen; Pythagoras liefert die Varianzzerlegung.
- Gauß-Markow. Warum kleinste Quadrate statt einer anderen erwartungstreuen Geraden, und woher der Standardfehler eines Koeffizienten kommt.
- SVD, Konditionierung und Multikollinearität. Dieselbe Lösung, geschrieben für eine Maschine, die rundet, und was passiert, wenn zwei Spalten fast zusammenfallen.
- Geschichte und Einsatz im Jahr 2026. Von Legendre und Gauß bis Golub und Kahan, und warum die Gerade das erste Modell jedes Projekts bleibt.
- Übung: ols(X, y) auf drei Arten. Normalgleichungen, SVD und scikit-learn müssen übereinstimmen, mit geometrischen Prüfungen und einer festgehaltenen Konditionszahl.
Von der Entscheidung ausgehen, nicht von den Daten
Ein Modell lohnt sich nur, wenn jemand nach dem Lesen seiner Ausgabe anders handeln wird, deshalb wird die Entscheidung vor allem anderen aufgeschrieben.
Kommt eine CSV-Datei an, ist der erste Reflex, sie zu öffnen und nach Mustern zu suchen. Der Foliensatz verlangt die umgekehrte Reihenfolge. Zuerst schreibt man auf, wer entscheidet, zwischen welchen Optionen und was jede Art von Fehler kostet. Im durchgehenden Projekt genehmigt ein Kreditanalyst einen Antrag, lehnt ihn ab oder gibt ihn zur manuellen Prüfung weiter, ein Ausschuss legt die Schwelle fest, und einen Kunden anzunehmen, der dann ausfällt, ist teurer, als einen guten abzuweisen. Diese Asymmetrie bestimmt die Metrik und später im Kurs die Schwelle.
Ein vages Ziel wie Ausfall vorhersagen ist ein Verb und eine Spalte, keine Frage. Eine brauchbare Frage benennt vier Dinge: eine Entscheidung, ein Erfolgsmaß, einen Geltungsbereich (dieses Portfolio, dieser Monat) und eine verantwortliche Person, die auf die Antwort hin handelt. Fehlt eines der vier, optimiert das Projekt am Ende meist eine Zahl, die niemand liest.
Die Zielvariable ist eine datierte Spur
Die Zielvariable (target) ist die Spalte, die das Modell lernt, und sie ist nie das Phänomen selbst. In den Kreditdaten ist es Zahlungsverzug im Folgemonat, erfasst nach der bankeigenen Regel für Oktober 2005. Ein Kunde, der im Oktober zu spät zahlt und im November begleicht, zählt als Ausfall; ein Kunde, der im Dezember mit dem vollen Kreditrahmen verschwindet, nicht. Die Zielvariable ist also weder ein „schlechter Kunde“ noch ein Verlust in Euro. Die erste Frage an ein Fachteam lautet, wie die Spalte gebildet wurde, von wem und an welchem Datum ihr Wert bekannt ist.
Zwei Metriken, die Accuracy-Falle und die Leitplanken
Eine Zahl hilft dem Datenteam, zwischen Modellen zu wählen, eine andere sagt dem Fachbereich, ob das Modell ausgerollt werden soll, und keine von beiden ist die Accuracy.
Der Foliensatz unterscheidet eine Modellmetrik von einer Geschäftsmetrik, weil sie unterschiedliche Leser haben. Die Modellmetrik (Log-Loss, AUC, Brier-Score) wird bei jedem Trainingslauf auf dem Validierungsdatensatz berechnet und muss auf kleine Verbesserungen reagieren. Die Geschäftsmetrik wird in verlorenen Euro oder abgelehnten guten Kunden ausgedrückt und nach dem Deployment vom Kreditausschuss gelesen. Beide werden vor dem ersten Trainingslauf im Entscheidungsprotokoll festgelegt.
| Portfolio | Anteil der Ausfälle | Accuracy des konstanten Modells | Erkannte Ausfälle |
|---|---|---|---|
| Beispiel Privatkundengeschäft | 2 % | 98 % | 0 % |
| Kursprojekt (UCI Default) | 22,1 % | 77,9 % | 0 % |
Sobald eine Klasse selten ist, schmeichelt die Accuracy einem Modell, das nichts gelernt hat. Dieses konstante Modell ist trotzdem nützlich: Es wird das erste Referenzmodell (baseline) des Projekts, und sein Log-Loss, der der Entropie der Zielvariable entspricht, ist die Messlatte, die jedes echte Modell schlagen muss.
Leitplanken (guard-rails), vor dem Training festgelegt
- Was das Modell nie tut. Es lehnt keinen Kunden eigenständig ab, und es verwendet das Geschlecht nicht, weder direkt noch über eine Stellvertretervariable (Proxy). Der Familienstand bleibt als Eingabe erhalten, steht aber unter Prüfung: Er wird nur behalten, wenn er über die Zahlungshistorie hinaus Information liefert und wenn sich die Ungleichbehandlung, die er erzeugt, rechtfertigen lässt.
- Wer unterschreibt. Eine namentlich benannte Person genehmigt die Schwelle und das Deployment.
- Wann man aufhört. Die Abbruchkriterien (AUC unter dem Referenzmodell, Drift der Eingaben, eine begründete Beschwerde) werden aufgeschrieben, bevor das Modell existiert, damit man sie nicht passend zum Ergebnis zurechtbiegen kann.
- Regulierung. Die Bonitätsbewertung natürlicher Personen ist nach Anhang III, Nummer 5 Buchstabe b der KI-Verordnung der EU (AI Act, Verordnung (EU) 2024/1689) eine Hochrisiko-Anwendung, die Pflichten zu Dokumentation, menschlicher Aufsicht und Protokollierung mit sich bringt.
Data Leakage: stichtagsgenaue Verknüpfung, eingefrorene Aufteilung, Leakage-Karte
Ein Modell, das Informationen aus der Zeit nach dem Vorhersagedatum gesehen hat, glänzt in der Entwicklung und scheitert im Betrieb, deshalb werden die Daten in einer strikten Reihenfolge aufbereitet.
Der Foliensatz stellt das Projekt eher als Schleife denn als Pipeline dar: Eine Evaluation kann Data Leakage aufdecken, also Information, die zum Zeitpunkt der Vorhersage noch nicht bekannt wäre; das Leak verändert die Datenkarte, die Karte verändert die Frage. Jede Runde wird in einem Entscheidungsprotokoll festgehalten, mit dem Datum, der verworfenen Alternative, der Begründung und einer Zahl, die ein Befehl reproduziert. Innerhalb einer Runde ist die Reihenfolge der Datenschritte jedoch fest.
Die Datenschritte, der Reihe nach
- Quellen. Jede Tabelle mit ihrer Lizenz und der genauen Definition jeder Spalte auflisten.
- Stichtagsgenaue Verknüpfung. Um zum Datum vorherzusagen, behält die stichtagsgenaue Verknüpfung (point-in-time join) nur die Einträge mit Datum . In den Kreditdaten enden die Merkmale (Features) Ende September 2005, und die Zielvariable betrifft Oktober, also ist alles, was später bekannt ist, verboten.
- Eingefrorene Aufteilung. In Trainings-, Validierungs- und Testdatensatz aufteilen, stratifiziert nach der Zielvariable, damit jeder Teil 22,1 % Ausfälle behält, und die Aufteilung mit einem Zufalls-Seed und dem SHA-256-Hash der Datei fixieren. Der Testdatensatz wird ein einziges Mal geöffnet, beim Meilenstein.
- Leakage-Karte. Die Leakage-Karte (leakage map) hat eine Zeile pro Spalte: wann sie bekannt ist, ob sie verwendet werden darf und warum. Sie entsteht aus den Spaltendefinitionen und kann daher erstellt werden, bevor man die Daten ansieht.
- Modell. Erst jetzt, und das erste Modell ist eine Konstante.
Bemerkung (Das häufigste Leak in der Praxis). Wer mehrere Tabellen naiv verknüpft, nimmt die heutige Version jeder Zeile statt der Version, die zum Vorhersagedatum bekannt war. Das Modell hat dann die Zukunft gesehen, und kein Validierungswert wird das verraten.
Die Methode der kleinsten Quadrate und die Normalgleichungen
Gesucht ist die Gerade, die die Summe der quadrierten vertikalen Abstände so klein wie möglich macht, und setzt man die Steigung dieser Summe auf null, erhält man ein kleines lineares Gleichungssystem.
Schreiben Sie die Beobachtungen als Vektor und die Variablen als Matrix , deren erste Spalte nur Einsen enthält, für den Achsenabschnitt. Das Modell lautet , und die gewöhnliche Kleinste-Quadrate-Schätzung (ordinary least squares, OLS) wählt das , das die quadrierte Norm des Residuums minimiert.
Das Ausmultiplizieren nutzt nur zwei Tatsachen: Die Transponierte eines Produkts kehrt die Reihenfolge um, und ein Skalar ist gleich seiner eigenen Transponierten, sodass sich die beiden gemischten Terme zusammenfassen lassen. Das Ableiten nutzt zwei Regeln: Der Gradient von ist , und der Gradient von ist , wenn symmetrisch ist.
Diese Normalgleichungen (normal equations) entstehen, wenn man den Gradienten null setzt, und ein verschwindender Gradient genügt, weil konvex ist: Seine Hesse-Matrix ist positiv semidefinit (der Beweis folgt mit der konvexen Optimierung). ist genau dann invertierbar, wenn sich keine Spalte von aus den anderen Spalten zusammensetzen lässt, was zum Beispiel denselben Betrag in Euro und in Tausend Euro ausschließt.
Durchgerechnetes Beispiel: fünf Kunden
Der Foliensatz verwendet fünf veranschaulichende Kunden: Dauer der Kundenbeziehung Jahre und durchschnittlicher Saldo in Tausend Euro. Eine von Hand gezogene Gerade hinterlässt eine Quadratsumme von 2,0. Geht es mit einer anderen Geraden besser?
Schritt für Schritt
- Vier Summen. , , , , , also hat die Zeilen und , und .
- Zwei Gleichungen. und . Zieht man das Dreifache der ersten von der zweiten ab, bleibt .
- Lösung. , dann . Die Gerade hinterlässt 1,9, weniger als 2,0.
- Probe. Bei ist der Gradient , nicht null: Die von Hand gezogene Gerade war nicht das Minimum.
Die angepassten Werte sind eine Projektion: Hutmatrix, Xᵀe = 0, R²
Die beste Gerade ist der Punkt der von den Spalten aufgespannten Ebene, der den Daten am nächsten liegt, deshalb steht der verbleibende Fehler im rechten Winkel zu dieser Ebene.
Setzt man in ein, erscheint vor eine Matrix, die Hutmatrix (hat matrix), so genannt, weil sie in verwandelt, also den Hut aufsetzt. Sie hat die Größe , während nur ist.
Die beiden Identitäten rechts besagen, dass eine Orthogonalprojektion (orthogonal projection) ist: Zweimal projizieren ändert nichts, und die Projektion ist nicht schief. Jedes liegt im Spaltenraum von , das beobachtete dagegen nicht. Der nächstgelegene Punkt dieses Raums ist der Fußpunkt des Lots, , und das Residuum steht senkrecht auf jeder Spalte. Das ist die Bedingung des verschwindenden Gradienten, geometrisch gelesen.
Die zweite Formel liefert einen Beweis für die Kleinste-Quadrate-Lösung ohne Ableitungen: Der Abstand zu jeder anderen Geraden ist das Residuum plus ein Stück innerhalb der Ebene, und Pythagoras lässt den gemischten Term verschwinden.
| Kunde | x | y | ŷ | e | x · e |
|---|---|---|---|---|---|
| 1 | 1 | 2 | 2,2 | −0,2 | −0,2 |
| 2 | 2 | 3 | 3,1 | −0,1 | −0,2 |
| 3 | 3 | 5 | 4,0 | 1,0 | 3,0 |
| 4 | 4 | 4 | 4,9 | −0,9 | −3,6 |
| 5 | 5 | 6 | 5,8 | 0,2 | 1,0 |
| Summe | 15 | 20 | 20,0 | 0,0 | 0,0 |
Mit denselben Zahlen geht Pythagoras auf die Dezimalstelle genau auf: , und für die von Hand gezogene Gerade . Die Spur von ist gleich , eine schnelle Plausibilitätsprüfung.
R² braucht den Achsenabschnitt
Bei den fünf Kunden hinterlässt die Vorhersage des Mittelwerts 4 für alle , die Gerade hinterlässt , also beträgt das Bestimmtheitsmaß (coefficient of determination, R²) . Die Zerlegung der Gesamtvarianz beruht darauf, dass sich die Residuen zu null summieren, was nur garantiert ist, wenn die Einsenspalte im Modell ist. Ohne sie kann die übliche Formel negativ werden: Der Foliensatz zeigt eine Anpassung an zwei Punkte durch den Ursprung, die ergibt. Ein negatives R² in einem Bericht bedeutet meist einen vergessenen Achsenabschnitt oder einen Testwert, der nach einem Leak berechnet wurde.
Bemerkung (Gauß-Markow in Kürze). Ist das Rauschen zentriert mit Kovarianz (eine Normalverteilung ist nicht nötig), dann ist erwartungstreu mit , und kein anderer linearer erwartungstreuer Schätzer hat eine kleinere Varianz. Bei den fünf Kunden hat die Kleinste-Quadrate-Steigung die Varianz , gegenüber für die Steigung, die den ersten und den letzten Kunden verbindet. Mit ergibt das einen Standardfehler von 0,252 gegenüber 0,281.
Konditionszahl und SVD: warum man XᵀX nie invertiert
Computer runden jede Zahl, und die Bildung von XᵀX quadriert, wie stark diese Rundungsfehler anwachsen können, deshalb lösen Bibliotheken das Kleinste-Quadrate-Problem auf anderem Weg.
Die Singulärwertzerlegung (singular value decomposition, SVD) schreibt , wobei orthonormale Spalten hat, die dieselbe Ebene aufspannen wie , die Singulärwerte enthält und eine Drehung der Koeffizienten ist. In dieser Basis braucht die Lösung keine Matrixinverse, nur Divisionen, und die Hutmatrix wird zu .
Jede Komponente von entlang wird durch geteilt, also verstärkt ein kleiner Singulärwert alles, was in seine Richtung fällt, Rauschen eingeschlossen. Die Konditionszahl (condition number) begrenzt diese Verstärkung: Ein relativer Fehler in den Daten kann auf den Koeffizienten um bis zu einem Faktor anwachsen. Die Bildung von quadriert sie. Bei arbeitet die Maschine mit , was bereits die Hälfte der signifikanten Stellen einer Gleitkommazahl doppelter Genauigkeit verbraucht. Deshalb geht np.linalg.lstsq über die SVD und andere Löser über QR, nie über .
| Einheit der Beziehungsdauer | κ(X) | κ(XᵀX) |
|---|---|---|
| Jahre (1 bis 5) | 8,4 | 70 |
| Monate (12 bis 60) | 93 | 8.721 |
Die praktische Antwort lautet: die Spalten standardisieren und np.linalg.cond(X) festhalten, bevor man ein Modell abgibt. In der Übung liegt auf dem rohen California-Housing-Datensatz bei etwa , nach der Standardisierung fällt es auf etwa 7, und die drei Implementierungen stimmen bis auf überein.
Multikollinearität
Sind zwei Spalten fast parallel, liegt Multikollinearität (multicollinearity) vor: Die Richtung, die sie trennt, ist in den Daten kaum vorhanden, ihr Singulärwert ist winzig, und die Varianz entlang dieser Richtung explodiert. Der Foliensatz ergänzt die fünf Kunden um ein zweites, leicht verrauschtes Maß der Beziehungsdauer, das mit dem ersten zu 0,998 korreliert. Die Koeffizienten springen auf und , mit Standardfehlern nahe 5, und steigt von 8,4 auf 85. Ihre Summe, 0,97, bleibt nahe an der ursprünglichen Steigung 0,9, und die Vorhersage für Kunde 3 bewegt sich nur von 4,00 auf 4,23: Die Daten legen den Gesamteffekt fest, nicht seine Aufteilung. Abhilfe schaffen das Entfernen einer Spalte oder die Ridge-Regularisierung, die zu jedem ein addiert.
import numpy as np x = np.array([1, 2, 3, 4, 5.]) y = np.array([2, 3, 5, 4, 6.]) X = np.column_stack([np.ones(5), x]) # Weg über die SVD: Divisionen durch Singulärwerte, keine Inverse U, s, Vt = np.linalg.svd(X, full_matrices=False) beta = Vt.T @ ((U.T @ y) / s) # [1.3, 0.9] e = y - X @ beta print(X.T @ e) # ~[0, 0]: Residuum orthogonal print(s[0] / s[-1]) # Konditionszahl, etwa 8,4
Das Wichtigste in Kürze
- Schreiben Sie die Entscheidung, die verantwortliche Person und die Kosten jedes Fehlers auf, bevor Sie die Daten anfassen; Zielvariable, Metrik und Schwelle ergeben sich daraus.
- Die Zielvariable ist ein datierter Eintrag, den eine Regel erzeugt, nicht das Phänomen selbst, und die Accuracy führt in die Irre, sobald eine Klasse selten ist.
- Schützen Sie die Evaluation in fester Reihenfolge: stichtagsgenaue Verknüpfung, per Seed und Datei-Hash eingefrorene Aufteilung, Leakage-Karte, dann ein konstantes Referenzmodell.
- Die Methode der kleinsten Quadrate löst die Normalgleichungen , und geometrisch ist eine Orthogonalprojektion mit .
- R² zerlegt die Varianz nur dann sauber, wenn das Modell den Achsenabschnitt enthält; ein negatives R² deutet meist auf eine fehlende Konstante oder ein Leak hin.
- Prüfen Sie vor der Abgabe, standardisieren Sie die Spalten und lösen Sie über SVD oder QR, nie über .
Glossar
- gewöhnliche Kleinste-Quadrate-Schätzung (ordinary least squares, OLS)
- Schätzung eines linearen Modells durch Minimierung der Summe der quadrierten Residuen.
- Normalgleichungen (normal equations)
- Das -System , das die Kleinste-Quadrate-Lösung erfüllt.
- Hutmatrix (hat matrix)
- , die die Beobachtungen auf die angepassten Werte abbildet.
- Orthogonalprojektion (orthogonal projection)
- Eine lineare Abbildung mit , die einen Vektor auf den nächstgelegenen Punkt eines Unterraums abbildet.
- Residuum
- Der Abstand zwischen beobachteten und angepassten Werten; bei der Kleinste-Quadrate-Schätzung ist er orthogonal zu den Spalten von .
- Bestimmtheitsmaß (coefficient of determination, R²)
- Anteil der Varianz um den Mittelwert, den das Modell erklärt, .
- Singulärwertzerlegung (singular value decomposition, SVD)
- Faktorisierung in orthonormale Spalten, Singulärwerte und eine Drehung.
- Konditionszahl (condition number)
- Verhältnis des größten zum kleinsten Singulärwert; sie begrenzt, wie stark relative Fehler verstärkt werden können.
- Multikollinearität (multicollinearity)
- Nahezu lineare Abhängigkeit zwischen Spalten, die die Varianz einzelner Koeffizienten aufbläht.
- Data Leakage
- Information, die zum Zeitpunkt der Vorhersage nicht verfügbar ist, aber in die Trainingsdaten gelangt und die Werte aufbläht.
- stichtagsgenaue Verknüpfung (point-in-time join)
- Ein Join, der für eine Vorhersage zum Datum nur Einträge behält, die zu oder früher bekannt waren.
- Leakage-Karte (leakage map)
- Eine Tabelle mit einer Zeile pro Spalte, die angibt, wann sie bekannt ist, ob sie verwendet werden darf und warum.
- Referenzmodell (baseline)
- Das einfachste Vergleichsmodell, hier eine konstante Vorhersage, das jedes nützliche Modell schlagen muss.
- Leitplanken (guard-rails)
- Grenzen dessen, was das Modell tun darf, vor dem Training festgelegt: ausgeschlossene Variablen, unterschreibende Person, Abbruchkriterien.
Die anderen Notizen des Kurses
Eine öffentliche Zusammenfassung pro Foliensatz, in der Reihenfolge des Kurses.
Zurück: Kaggle, GitHub, Python: die WerkzeugeWeiter: Maximum Likelihood und logistische Regression
- EinführungKI-Winter, Arbeitsmarkt und Methode
- WerkzeugeKaggle, GitHub, Python: die Werkzeuge
- Sitzung 1Projektrahmen und kleinste Quadrate
- Sitzung 2Maximum Likelihood und logistische Regression
- Sitzung 3Gradientenabstieg, Ridge und Lasso
- Sitzung 4Entscheidungsschwelle und reproduzierbares ML
- HausaufgabeML-Projekt abstecken: der Projektsteckbrief
- Sitzung 5Kernel, SVM und Entscheidungsbäume
- Sitzung 6Random Forests, Boosting, ehrlicher Vergleich
- Sitzung 7SHAP, Fairness, PCA und Clustering
- HausaufgabeEin einfaches Modell mit vollständiger Methode
- Sitzung 8Neuronale Netze, Drift, konforme Vorhersage
- HausaufgabeEin ausgeliefertes Machine-Learning-Projekt
- Sitzung 9Ein Machine-Learning-Projekt verteidigen
- ReferenzProjekt zum Kreditausfallscore
- ReferenzAktienrenditen: XGBoost und Sentiment
- ReferenzPython-Code für jedes ML-Modell
- ReferenzDeep Learning, das Wesentliche
- ReferenzML-Projekte mit offenen Daten nach Branche
- ReferenzHandbuch für Daten- und KI-Fachleute
- ReferenzData Engineering, SRE und Cloud
- ReferenzPanorama der Machine-Learning-Modelle
Über diese Notizen
Vom Dozenten auf Grundlage der Folien verfasst, als öffentliche Zusammenfassung: die Kernideen, die Formeln und ein durchgerechnetes Beispiel. Die Übungen, ihre Lösungen, die Tests und die Bewertung bleiben im Foliensatz, für die Studierenden des Kurses.
Stand: .