Minimieren von Modellfehlern mit Kostenfunktionen

Abgeschlossen

Während des Lernprozesses wird ein Modell so oft geändert, bis es qualitativ hochwertige Schätzungen vornehmen kann. Für die Bestimmung der Leistungsfähigkeit eines Modells wird im Lernprozess Mathematik in Form einer Kostenfunktion angewandt. Die Kostenfunktion wird auch als Zielfunktion bezeichnet. Um Kostenfunktionen besser verstehen zu können, werden sie im Folgenden aufgeschlüsselt.

Fehler, Kosten und Verlust

Beim überwachten Lernen beziehen sich die Begriffe „Fehler“, „Kosten“ und „Verlust“ auf die Anzahl der Fehler, die ein Modell bei der Vorhersage von Bezeichnungen macht.

Diese drei Begriffe werden beim maschinellen Lernen häufig nicht genau voneinander abgegrenzt und können daher verwirrend sein. Der Einfachheit halber verwenden wir sie hier synonym. Die Kosten werden mathematisch berechnet, d. h., es handelt sich dabei nicht um eine qualitative Bewertung. Wenn ein Modell beispielsweise vorhersagt, dass eine Tagestemperatur 4 °C beträgt, der tatsächliche Wert jedoch bei 1,5 °C liegt, kann davon ausgegangen werden, dass ein Fehler von 2,5 °C vorliegt.

Kostenminimierung als Ziel

Da die Kosten angeben, wie schlecht ein Modell funktioniert, besteht unser Ziel darin, null Kosten zu haben. Anders ausgedrückt: Wir möchten das Modell so trainieren, dass es überhaupt keine Fehler macht. Die Umsetzung dieser Idee ist jedoch oft nicht möglich. Stattdessen wird als weniger striktes Ziel beim Trainieren des Modells festgelegt, dass so geringe Kosten wie möglich entstehen sollen.

Aufgrund dieses Ziels wird durch die Berechnung der Kosten auch festgelegt, was das Modell zu lernen versucht. Im vorherigen Beispiel haben wurden Kosten als Fehler bei der Schätzung der Temperatur definiert.

Was ist eine Kostenfunktion?

Beim überwachten Lernen ist eine Kostenfunktion ein kleiner Codeabschnitt, der die Kosten anhand der Vorhersage eines Modells und der erwarteten Bezeichnung – der richtigen Antwort – berechnet. In der vorherigen Übung haben Sie beispielsweise die Kosten berechnet, indem Sie die Vorhersagefehler berechnet, quadriert und dann summiert haben.

Nachdem die Kostenfunktion die Kosten berechnet hat, wissen Sie, ob das Modell gut funktioniert oder nicht. Wenn die Leistung gut ist, können Sie das Training beenden. Andernfalls können Sie die Kosteninformationen an den Optimierer übergeben, der anhand dieser Informationen neue Parameter für das Modell auswählt.

Diagram of the machine-learning lifecycle with labels, but without features.

Während des Trainings können unterschiedliche Kostenfunktionen die Trainingsdauer oder -qualität beeinflussen. Wenn die Kostenfunktion beispielsweise immer nur kleine Fehler zurückgibt, nimmt der Optimierer auch nur geringfügige Änderungen am Modell vor. Ein weiteres Beispiel: Wenn die Kostenfunktion bei bestimmten Fehlern sehr große Werte zurückgibt, nimmt der Optimierer Änderungen am Modell vor, damit diese Art von Fehlern nicht mehr gemacht wird.

Es gibt keine Kostenfunktion, die für jede Situation geeignet ist. Welche am besten geeignet ist, hängt von Ihren Zielen ab. Sie müssen häufig mit Kostenfunktionen experimentieren, um das gewünschte Ergebnis zu erhalten. Um dieses Experiment geht es in der nächsten Übung.