In unserem früheren Beitrag haben wir uns mit den Gründen für die Verwendung einer Sigmoid-Funktion für die logistische Regression anstelle einer normalen linearen Funktion beschäftigt. In diesem Beitrag werden wir uns weiter mit der Kostenfunktion befassen.
Die Kostenfunktion ist wichtig, weil sie uns die Fehler unserer Vorhersagen liefert und somit für unseren Lernalgorithmus benötigt wird. Konkret möchten wir die Fehler unserer Vorhersagen minimieren, d.h. die Kostenfunktion minimieren. Wenn alle unsere Fehler gleich Null sind, ist das im Idealfall so, als würden wir ein Dartspiel spielen, bei dem alle unsere Darts das Bull’s Eye treffen. Auf der anderen Seite bedeutet ein sehr hoher Fehler, dass unsere vorhergesagten Werte alle wahren beobachteten Werte verfehlen, d.h. unsere Darts treffen im Allgemeinen nicht ins Schwarze.
Während wir gerne null Fehler haben, wenn wir unsere Kostenfunktion mit unseren hypothetischen Werten ausführen (perfekte Vorhersage für jeden Wert), könnte dies kein gutes Szenario sein, da es zu einem Phänomen namens „hohe Varianz“ führen könnte. Wir werden in späteren Beiträgen noch näher darauf eingehen.
Zurück zur Formulierung der Verlustfunktion: Eine typische Verlustfunktion wäre die Minimierung der Summe der quadrierten Fehler, d.h.
Diese Funktion kann jedoch während des Optimierungsprozesses zu mehreren lokalen Optima führen, was bedeutet, dass Ihre optimierte Lösung möglicherweise nicht die optimalste ist (es besteht die Möglichkeit, dass es eine bessere Lösung gibt). Idealerweise sollte die optimierte Lösung das globale Minimum und nicht das lokale Minimum sein.
Wie im obigen Diagramm zu sehen ist, könnten wir die Parameter versehentlich initialisieren und sie auf das lokale Minimum optimieren, ohne das „wahre“ globale Minimum zu erreichen. Daher wäre die oben erwähnte Verlustfunktion nicht ideal für uns.
Was könnte dann unsere Verlustfunktion sein?
Eine Verlustfunktion, die üblicherweise für die logistische Regression verwendet wird, ist die folgende: