Logistische Regression: Verlust und Regularisierung

Logistische Regressionsmodelle werden mit demselben Verfahren wie lineare Regressionsmodelle trainiert, mit zwei wichtigen Unterschieden:

In den folgenden Abschnitten werden diese beiden Aspekte näher erläutert.

Log Loss

Im Modul Lineare Regression, haben Sie quadratischen Verlust (auch L2-Verlust genannt) als Verlustfunktion verwendet. Quadratischer Verlust eignet sich gut für ein lineares Modell, bei dem die Änderungsrate der Ausgabewerte konstant ist. Wenn Sie beispielsweise das lineare Modell $y' = b + 3x_1$ verwenden, erhöht sich der Ausgabewert $y'$ um 3, wenn Sie den Eingabewert $x_1$ um 1 erhöhen.

Die Änderungsrate eines logistischen Regressionsmodells ist jedoch nicht konstant. Wie Sie unter Wahrscheinlichkeit berechnen gesehen haben, ist die sigmoid s-förmig und nicht linear. Wenn der Wert für den Log-Odds ($z$) näher an 0 liegt, führen kleine Erhöhungen von $z$ zu viel größeren Änderungen von $y$ als wenn $z$ eine große positive oder negative Zahl ist. In der folgenden Tabelle wird die Ausgabe der Sigmoidfunktion für Eingabewerte von 5 bis 10 sowie die entsprechende Genauigkeit angezeigt, die erforderlich ist, um die Unterschiede in den Ergebnissen zu erfassen.

Eingabe Logistische Ausgabe Erforderliche Anzahl von Stellen für die Genauigkeit
5 0,993 3
6 0,997 3
7 0,999 3
8 0,9997 4
9 0,9999 4
10 0,99998 5

Wenn Sie quadratischen Verlust verwenden, um Fehler für die Sigmoidfunktion zu berechnen, benötigen Sie mehr Arbeitsspeicher, um die Genauigkeit beizubehalten, die zum Erfassen dieser Werte erforderlich ist, da sich die Ausgabe immer mehr an 0 und 1 annähert.

Stattdessen ist die Verlustfunktion für die logistische Regression Log Loss. Die Log-Loss-Gleichung gibt den Logarithmus der Größe der Änderung zurück und nicht nur den Abstand zwischen Daten und Vorhersage. Log Loss wird so berechnet:

$\text{Log Loss} = -\frac{1}{N}\sum_{i=1}^{N} [y_i\log(y_i') + (1 - y_i)\log(1 - y_i')]$

Dabei gilt:

  • \(N\) ist die Anzahl der gelabelten Beispiele im Dataset.
  • \(i\) ist der Index eines Beispiels im Dataset. (z. B. \((x_3, y_3)\) ist das dritte Beispiel im Dataset)
  • \(y_i\) ist das Label für das \(i\)te Beispiel. Da es sich um eine logistische Regression, \(y_i\) mussentweder 0 oder 1 sein.
  • \(y_i'\) ist die Vorhersage Ihres Modells für das \(i\)te Beispiel (zwischen 0 und 1), gegeben die Menge der Features in \(x_i\).

Regularisierung in der logistischen Regression

Die **Regularisierung**, ein Mechanismus zur Bestrafung der Modellkomplexität während des Trainings, ist bei der logistischen Regression äußerst wichtig. Ohne Regularisierung würde die asymptotische Natur der logistischen Regression den Verlust immer weiter in Richtung 0 treiben, wenn das Modell eine große Anzahl von Features hat. Daher verwenden die meisten logistischen Regressionsmodelle eine der folgenden beiden Strategien, um die Modellkomplexität zu verringern: