Logistische Regressionsmodelle werden mit demselben Verfahren wie lineare Regressionsmodelle trainiert. Es gibt jedoch zwei wichtige Unterschiede:
- Bei logistischen Regressionsmodellen wird Log Loss als Verlustfunktion verwendet und nicht quadratischer Verlust.
- Die Anwendung von Regularisierung ist entscheidend, um Überanpassung zu verhindern.
In den folgenden Abschnitten werden diese beiden Aspekte näher erläutert.
Logarithmischer Verlust
Im Modul für lineare Regression haben Sie quadratischen Verlust (auch L2-Verlust genannt) als Verlustfunktion verwendet. Der quadratische Verlust eignet sich gut für ein lineares Modell, bei dem die Änderungsrate der Ausgabewerte konstant ist. Bei dem linearen Modell $y' = b + 3x_1$ erhöht sich der Ausgabewert $y'$ jedes Mal 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 Log-Odds-Wert ($z$) näher an 0 liegt, führen kleine Steigerungen von $z$ zu viel größeren Änderungen von $y$ als wenn $z$ eine große positive oder negative Zahl ist. In der folgenden Tabelle sehen Sie die Ausgabe der Sigmoid-Funktion für Eingabewerte von 5 bis 10 sowie die entsprechende Genauigkeit, die erforderlich ist, um die Unterschiede in den Ergebnissen zu erfassen.
Eingabe | Logistische Ausgabe | erforderliche Anzahl von Dezimalstellen |
---|---|---|
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 den quadratischen Verlust zum Berechnen von Fehlern für die Sigmoid-Funktion verwendet haben, benötigen Sie mehr Speicher, um die erforderliche Genauigkeit zum Erfassen dieser Werte beizubehalten, da sich die Ausgabe immer mehr an 0
und 1
annähert.
Stattdessen wird für die logistische Regression die Verlustfunktion Logarithmischer Verlust verwendet. Die Gleichung für den Log-Verlust gibt den Logarithmus der Größe der Änderung zurück und nicht nur den Abstand zwischen Daten und Vorhersage. Der 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\). Beispiel. Da es sich um eine logistische Regression handelt,muss \(y_i\) entweder 0 oder 1 sein.
- \(y_i'\) ist die Vorhersage Ihres Modells für das \(i\)-te Beispiel (zwischen 0 und 1), basierend auf den 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 Regressionsmodellierung ä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 wird bei den meisten logistischen Regressionsmodellen eine der folgenden beiden Strategien verwendet, um die Modellkomplexität zu verringern:
- L2-Regularisierung
- Vorzeitiges Beenden: Die Anzahl der Trainingsschritte wird begrenzt, um das Training zu beenden, während der Verlust noch abnimmt.