Abschätzen von Wahrscheinlichkeiten
Wie funktioniert die logistische Regression? Genauso wie ein lineares RegressionsEin logistisches Regressionsmomodell wird eine gewichtete Summe der Eingabemerkmale (und eines Bias-Terms) berechnet, aber anstatt wie bei der linearen Regression das Ergebnis direkt auszugeben, wird die logistische Funktion des Ergebnisses berechnet (siehe Formel 4-13).
Formel 4-13: Geschätzte Wahrscheinlichkeit bei einem logistischen Regressionsmodell (Vektorschreibweise)
Die logistische Funktion – als σ(·) geschrieben – ist eine sigmoide Funktion (d.h. eine s-förmige), die eine Zahl zwischen 0 und 1 ausgibt. Sie ist in Formel 4-14 definiert und in Abbildung 4-21 dargestellt.
Formel 4-14: Logistische Funktion
Abbildung 4-21: Logistische Funktion
Hat das logistische Regressionsmodell erst einmal die Wahrscheinlichkeit
Formel 4-15: Vorhersage eines logistischen Regressionsmodells
Bei t < 0 gilt σ(t) < 0,5 und bei t
|
Der Score t wird häufig als Logit bezeichnet. Der Name kommt daher, dass es sich bei der Logit-Funktion, definiert als logit(p) = log(p / (1 – p)), um die Inverse der logistischen Funktion handelt. Wenn Sie den Logit der geschätzten Wahrscheinlichkeit p berechnen, werden Sie feststellen, dass das Ergebnis t ist. Der Logit wird auch als Log-Odds bezeichnet, da es sich um den Logarithmus des Verhältnisses zwischen der geschätzten Wahrscheinlichkeit für die positive Kategorie und der für die negative Kategorie handelt. |
Trainieren und Kostenfunktion
Gut, Sie wissen nun, wie ein logistisches Regressionsmodell Wahrscheinlichkeiten abschätzt und Vorhersagen trifft. Aber wie lässt es sich trainieren? Das Trainingsziel ist, den Parametervektor θ so zu setzen, dass das Modell bei positiven Datenpunkten (y = 1) hohe Wahrscheinlichkeiten und bei negativen Datenpunkten (y = 0) geringe Wahrscheinlichkeiten abschätzt. Diese Idee ist in der Kostenfunktion in Formel 4-16 für einen einzelnen Trainingsdatenpunkt x ausgedrückt.
Formel 4-16: Kostenfunktion eines einzelnen Trainingsdatenpunkts
Diese Kostenfunktion ist sinnvoll, weil –log(t) sehr groß wird, sobald t sich 0 nähert. Daher sind die Kosten hoch, wenn das Modell bei einem positiven Datenpunkt eine Wahrscheinlichkeit nahe 0 schätzt, und ebenso, wenn das Modell bei einem negativen Datenpunkt eine Wahrscheinlichkeit nahe 1 schätzt. Andererseits ist –log(t) nahe 0, wenn t nahe 1 ist, sodass die Kosten auf 0 zugehen, wenn die geschätzte Wahrscheinlichkeit bei einem negativen Datenpunkt nahe bei 0 oder bei einem positiven Datenpunkt nahe bei 1 liegt. Genau das benötigen wir.
Die Kostenfunktion über den gesamten Trainingsdatensatz entspricht den durchschnittlichen Kosten über sämtliche Trainingsdatenpunkte. Diese lässt sich wie in Formel 4-17 ausdrücken, die man als Log Loss bezeichnet.
Formel 4-17: Kostenfunktion bei der logistischen Regression (Log Loss)
Die schlechte Nachricht dabei ist, dass es keine bekannte Gleichung mit geschlossener Form gibt, mit der sich ein Wert für θ berechnen ließe, der diese Kostenfunktion minimiert (es gibt kein Äquivalent zur Normalengleichung). Die gute Nachricht ist, dass diese Funktion konvex ist, sodass das Gradientenverfahren (oder ein anderer Optimierungsalgorithmus) garantiert das globale Optimum findet (wenn die Lernrate nicht zu groß ist und Sie lange genug warten). Die partiellen Ableitungen der Kostenfunktion nach dem j. Modellparameter θj sind in Formel 4-18 angegeben.
Formel 4-18: Partielle Ableitungen der logistischen Kostenfunktion
Diese Gleichung ist Formel 4-5 sehr ähnlich: Für jeden Datenpunkt wird der Vorhersagefehler berechnet und mit dem j. Merkmalswert multipliziert. Anschließend wird daraus der Mittelwert aller Trainingsdatenpunkte berechnet. Der Gradientenvektor aus sämtlichen partiellen Ableitungen lässt sich im Batch-Gradientenverfahren verwenden. Das ist alles: Sie wissen nun, wie ein logistisches Regressionsmodell trainiert wird. Für das stochastische Gradientenverfahren würden Sie natürlich nur genau einen Datenpunkt und beim Mini-Batch-Gradientverfahren ebenfalls nur genau einen Mini-Batch verwenden.