Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow. Aurélien Géron

Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow - Aurélien Géron


Скачать книгу
einsetzen (und umgekehrt). Die logistische Regression (auch Logit Regression genannt) wird häufig zum Abschätzen der Wahrscheinlichkeit eingesetzt, dass ein Datenpunkt einer bestimmten Kategorie angehört (z.B.: Wie hoch ist die Wahrscheinlichkeit, dass diese E-Mail Spam enthält?). Wenn die geschätzte Wahrscheinlichkeit mehr als 50% beträgt, sagt das Modell vorher, dass der Datenpunkt zu dieser Kategorie gehört (der positiven Kategorie mit dem Label »1«), ansonsten wird das Gegenteil vorhergesagt (d.h., der Punkt gehört der negativen Kategorie mit dem Label »0« an). Damit ist dies ein binärer Klassifikator.

       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)

      image = hθ(x) = σ(xT(θ)

      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

image image

       Abbildung 4-21: Logistische Funktion

      Hat das logistische Regressionsmodell erst einmal die Wahrscheinlichkeit image = hθ(x) abgeschätzt, dass ein Datenpunkt x der positiven Kategorie angehört, kann es leicht eine Vorhersage ŷ treffen (siehe Formel 4-15).

       Formel 4-15: Vorhersage eines logistischen Regressionsmodells

image

      Bei t < 0 gilt σ(t) < 0,5 und bei t image 0 gilt σ(t) image 0,5. Ein logistisches Regressionsmodell sagt also 1 vorher, wenn xTθ positiv ist, und 0, falls es negativ ist.

image 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

image

      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)

image

      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

image

      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.

Скачать книгу