4.7 Logistische Regression
Die logistische Regression (logistic regression) ist der probabilistische Weg zur linearen Klassifikation. Statt nur „Klasse oder “ wie das Perceptron liefert sie eine Wahrscheinlichkeit für die Klasse, und ihre Verlustfunktion folgt direkt aus dem Maximum-Likelihood-Prinzip (4.6).
Motivation: Die Challenger-Katastrophe
📄 04_linear_methods_ws26.pdf, Folie 59 Die Raumfähre Challenger explodierte 1986 kurz nach dem Start, weil die Dichtungsringe (O-rings) an den Feststoffboostern nicht dicht hielten. In der Untersuchungskommission (Rogers Commission) demonstrierte der Physiker Richard Feynman, dass das Material bei niedrigen Temperaturen seine Elastizität verliert. Die Frage der Folie: Wie konnte man das übersehen?
📄 04_linear_methods_ws26.pdf, Folie 60:
- Am Starttag war es kalt: 31 °F (etwa °C).
- Bei 7 von 23 vorherigen Flügen gab es Probleme mit den Dichtungsringen.
- Die Tabelle zeigt nur diese 7 Flüge, mit Temperaturen von 53 °F bis 75 °F und 1 bis 2 beschädigten Ringen. Darin ist kein klarer Zusammenhang zu sehen. Ein NASA-Ingenieur: Er könne keine Korrelation zwischen Erosion, Durchblasen der Ringe und Temperatur finden.
Der Fehler: Auch die erfolgreichen Flüge enthalten Information 📄 04_linear_methods_ws26.pdf, Folie 61. Alle 16 Flüge ohne Zwischenfall fanden bei 66 °F bis 81 °F statt, also warm. Nimmt man sie dazu, ist das Muster deutlich: Probleme häufen sich bei Kälte. Ein Start bei 31 °F lag weit unterhalb aller bisherigen Erfahrungen.
Modellierung
📄 04_linear_methods_ws26.pdf, Folie 62 Man binarisiert die Zielgröße: , wenn ein Dichtungsring beschädigt war, sonst . Gesucht ist
die Wahrscheinlichkeit für einen Defekt bei Temperatur .
Notation: Statistikbücher, R und statsmodels schreiben und .
Warum nicht lineare Regression?
Die Folie fragt: Warum ist falsch?
- Eine Gerade nimmt beliebige reelle Werte an. Für sehr kalte oder sehr warme Temperaturen kommen Werte kleiner als 0 oder größer als 1 heraus, das sind keine Wahrscheinlichkeiten. Gerade die interessante Extrapolation auf 31 °F wäre unsinnig.
- Der Verlauf ist nicht linear: Bei sehr warmen Temperaturen ist das Risiko praktisch 0, bei sehr kalten praktisch 1, dazwischen gibt es einen Übergang. Das ist eine S-Kurve.
- Die Daten sind 0/1, die Annahme normalverteilter Fehler mit konstanter Varianz passt überhaupt nicht.
Die Sigmoidfunktion
📄 04_linear_methods_ws26.pdf, Folie 63 und 📄 04_linear_methods_ws26.pdf, Folie 64: Man berechnet wie gewohnt den linearen Teil und schickt ihn durch die logistische Funktion (Sigmoid, ):
bildet auf ab:
| 0,018 | 0,119 | 0,5 | 0,881 | 0,982 |
Für das Challenger-Beispiel liefert das angepasste Modell eine fallende S-Kurve. Bei 31 °F ergibt sich eine Ausfallwahrscheinlichkeit von 0,9997.
Ergänzung: Nützliche Eigenschaften: und . Die zweite braucht man gleich für den Gradienten.
Verbleibende Frage der Folie: Wie bestimmt man die Parameter ? Antwort: mit Maximum Likelihood.
Likelihood
Wahrscheinlichkeit einer einzelnen Beobachtung
📄 04_linear_methods_ws26.pdf, Folie 65 Für gegebene Parameter liefert die Kurve bei einer bestimmten Temperatur (etwa 75 °F) . Bei dieser Temperatur gibt es zwei Datenpunkte:
- einen mit (Defekt): Das Modell gibt ihm die Wahrscheinlichkeit .
- einen mit (in Ordnung): Das Modell gibt ihm die Wahrscheinlichkeit .
Das Modell ist eine Bernoulli-Verteilung mit Parameter .
Wahrscheinlichkeit des Trainingsdatensatzes
📄 04_linear_methods_ws26.pdf, Folie 66 Mit Trainingsdaten , :
Bei iid-Daten ist die Likelihood das Produkt über alle Punkte:
Diese Wahrscheinlichkeit will man maximieren.
Logarithmieren: die Kreuzentropie
📄 04_linear_methods_ws26.pdf, Folie 67 Logarithmieren (das Maximum bleibt an derselben Stelle):
Der Trick mit und : Für bleibt nur übrig, für nur . So kann man beide Summen in einer einzigen schreiben.
Mit Minus und ergibt sich die Verlustfunktion, die negative Log-Likelihood oder Kreuzentropie (cross-entropy, auch binary cross-entropy, log loss):
ist die Wahrscheinlichkeit, die das Modell der wahren Klasse des Trainingsbeispiels gibt (Sprechblase auf der Folie).
Auf Folie 66 steht für die Likelihood, auf Folie 67 wird derselbe Buchstabe für die Log-Likelihood verwendet („“), wobei wohl der gemittelte Verlust ist. Gemeint ist: .
Zahlenbeispiel: Was die Kreuzentropie bestraft
Ergänzung: Beitrag eines einzelnen Punktes, :
| wahre Klasse | vorhergesagtes | Beitrag |
|---|---|---|
| 0,9 | ||
| 0,5 | ||
| 0,1 | ||
| 0,001 | ||
| 0,1 |
Sicher und richtig kostet fast nichts, unsicher kostet , sicher und falsch wird sehr teuer (gegen für ). Genau das will man von einem Klassifikator, der Wahrscheinlichkeiten ausgibt.
Gradient der Kreuzentropie
Ergänzung, nicht auf den Folien (Standardherleitung, prüfungsrelevant). Pro Datenpunkt:
Schritt 1: Ableitung nach .
Schritt 2: Ableitung der Sigmoidfunktion. Mit :
Schritt 3: Kettenregel nach .
Die Brüche kürzen sich vollständig weg.
Schritt 4: Kettenregel nach den Gewichten. Wegen und :
Über alle Datenpunkte gemittelt, in Matrixform:
Beim MSE war , hier ist es : jeweils „Vorhersage minus Wahrheit, gewichtet mit den Eingaben“. Das ist kein Zufall, sondern eine Eigenschaft aller Modelle aus 4.8, bei denen der Adapter zur Verteilung passt.
Anders als bei der linearen Regression lässt sich nicht geschlossen nach auflösen, weil nichtlinear von abhängt. Man optimiert numerisch, z. B. mit Gradientenabstieg (4.2). Die NLL ist konvex in , es gibt also keine schlechten lokalen Minima.
Ein Gradientenschritt von Hand
Ergänzung: Vier Punkte in 1D: , , , (Paare ). Start , , Lernrate .
- Alle , also alle . .
- .
- .
- .
- Update: , .
Neue Wahrscheinlichkeiten , neue . Der Verlust ist gesunken. Weitere Schritte verschieben vor allem ins Negative, bis die Grenze zwischen und liegt.
Ergänzung: Das Beispiel oben ist linear trennbar. Dann kann man die NLL beliebig nahe an 0 bringen, indem man immer größer macht (die S-Kurve wird zur Treppe). Ohne Regularisierung wachsen die Gewichte über alle Grenzen, das Optimum existiert nicht. Deshalb verwendet z. B. LogisticRegression in scikit-learn standardmäßig eine L2-Strafe wie bei Ridge (Parameter C ).
Logistische Regression als neuronales Netz
📄 04_linear_methods_ws26.pdf, Folie 68 „Die Mutter aller neuronalen Netze“: ein Neuron mit Eingängen , Gewichten , der Summe und der Sigmoid-Aktivierung.
(Die zweite Form erhält man durch Erweitern mit .)
Geometrie in 2D
📄 04_linear_methods_ws26.pdf, Folie 69 Die Demo zeigt dieselben Daten wie die Perceptron-Demo:
- Die Entscheidungsgrenze entspricht . Sie ist eine Gerade, die logistische Regression ist also ein linearer Klassifikator.
- Die Linien , , , sind dazu parallel. Je weiter ein Punkt von der Grenze entfernt ist, desto sicherer ist das Modell.
- Die Länge von bestimmt, wie schnell senkrecht zur Grenze von 0 nach 1 wechselt (wie steil die S-Kurve ist).
Interpretation mit Odds
📄 04_linear_methods_ws26.pdf, Folie 70 Aus der Modellgleichung
folgt für die Odds (Chancen, Wettquote):
Rechnung (Ergänzung): , also .
Fakten:
- Die logistische Regression modelliert die Log-Odds (auch Logit) als lineare Regression.
- Die Entscheidungsgrenze ist linear.
- Odds liegen zwischen und , Log-Odds zwischen und . Deshalb passt ein linearer Ausdruck zu den Log-Odds, nicht zur Wahrscheinlichkeit selbst.
Interpretation: Odds sind „Wahrscheinlichkeit für das Ereignis“ durch „Wahrscheinlichkeit dagegen“.
- Federer gegen Nadal 2:1: Es ist doppelt so wahrscheinlich, dass Federer gewinnt, wie dass er verliert. Das entspricht .
- Pferd Clever Hans gewinnt 3:1: dreimal wahrscheinlicher, dass Hans gewinnt, als dass er nicht gewinnt, .
- Odds für einen defekten gegenüber einem intakten Dichtungsring: 8:1, also . (Die Folie nennt nur die Zahl, ohne zu sagen, auf welche Temperatur sie sich bezieht.)
Ergänzung: Umrechnung . Odds 1:1 entsprechen und Log-Odds 0, das ist genau die Entscheidungsgrenze.
Odds Ratios
📄 04_linear_methods_ws26.pdf, Folie 71 Wie ändern sich die Odds mit ? Tennisbeispiel mit einer binären Variable (1 = Rasen):
| Odds | |
|---|---|
| (kein Rasen) | |
| (Rasen) |
Odds Ratio:
Mit den Zahlen (Ergänzung): , also und . In Wahrscheinlichkeiten: , .
- Das funktioniert auch für stetiges , wichtig ist nur die Differenz : Erhöht man um , multiplizieren sich die Odds mit , egal bei welchem man startet.
- Bei mehreren Variablen gilt die Interpretation nur, wenn alle anderen konstant gehalten werden.
Ein Odds Ratio von 1,67 heißt nicht, dass die Wahrscheinlichkeit um den Faktor 1,67 steigt (hier steigt sie von 0,55 auf 0,67, Faktor 1,22). Nur bei kleinen Wahrscheinlichkeiten sind Odds und Wahrscheinlichkeit ungefähr gleich.
Frage der Folie: Welches Vorzeichen hat im Challenger-Beispiel ( = Temperatur in °F)? Die Ausfallwahrscheinlichkeit sinkt mit steigender Temperatur, die S-Kurve fällt. Also ist : Jedes Grad wärmer multipliziert die Odds für einen Defekt mit , einem Faktor kleiner als 1.
Vergleich: logistische Regression vs. Perceptron
📄 04_linear_methods_ws26.pdf, Folie 72 zeigt beide auf denselben trennbaren Daten:
| Perceptron | Logistische Regression | |
|---|---|---|
| Ausgabe | nur Klasse | Wahrscheinlichkeit (Farbverlauf im Bild) |
| Verlust | Rosenblatt, 0 für jede trennende Gerade | Kreuzentropie, aus Maximum Likelihood |
| Lösung | irgendeine trennende Gerade, oft knapp an Punkten (Loss 0) | eine Gerade, die alle Punkte möglichst sicher richtig hat, liegt typischerweise mittiger zwischen den Klassen |
| Nicht trennbare Daten | keine Konvergenz | funktioniert, liefert Wahrscheinlichkeiten |
In scikit-learn (Notebook perceptron/perceptron.ipynb):
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
logreg.fit(X, y)
logreg.predict_proba(X_new)[:, 1] # Ergänzung: P(Y=1 | x)
logreg.coef_, logreg.intercept_ # Ergänzung: w und b