Verlustfunktionen
Die Verlustfunktion legt fest, was ein Fehler ist. Sie zu wählen ist die folgenreichste Entscheidung im ganzen Training, und sie wird meistens beiläufig getroffen.
Die Idee
Bevor ein Modell lernen kann, muss jemand festlegen, was „daneben" heißt. Ist eine Schätzung von 90 statt 100 gleich schlimm wie eine von 110 statt 100? Ist ein übersehener Betrugsfall so teuer wie ein Fehlalarm?
Die Verlustfunktion ist die Antwort auf diese Fragen, in Zahlen gegossen.
Wozu es gut ist
Sie ist der Ort, an dem fachliche Prioritäten in das Modell gelangen. Wer sie nicht bewusst wählt, überlässt diese Entscheidung dem Standardwert der Bibliothek.
Die Auswahl
| Aufgabe | Verlust | Eigenschaft |
|---|---|---|
| Regression, saubere Daten | MSE | Bevorzugt den Mittelwert, empfindlich gegen Ausreißer |
| Regression, Ausreißer | MAE oder Huber | Bevorzugt den Median, robust |
| Binäre Klassifikation | Binäre Kreuzentropie | Liefert kalibrierbare Wahrscheinlichkeiten |
| Sehr seltene Klasse | Focal Loss | Dämpft leichte Fälle, betont schwere |
| Mehrklassen | Kreuzentropie | Standard, mit Label Smoothing stabiler |
| Ähnlichkeit lernen | Triplet, InfoNCE | Grundlage der meisten Embeddings |
| Rangordnung | Paarweiser Logistikverlust | Optimiert Reihenfolge statt Werte |
import numpy as np
y = np.array([100.0, 100.0, 100.0])
p1 = np.array([ 90.0, 100.0, 110.0]) # gleichmaessig daneben
p2 = np.array([100.0, 100.0, 70.0]) # ein grober Ausreisser
for name, p in [("gleichmaessig", p1), ("ein Ausreisser", p2)]:
mse = float(((y - p) ** 2).mean())
mae = float(np.abs(y - p).mean())
print(f"{name:16s} MSE {mse:8.1f} MAE {mae:6.1f}")
# MSE bestraft den einen groben Fehler haerter als zwei mittlere.Die Formeln
Warum MSE den Mittelwert schätzt
Setzt man die Ableitung von Σ(yᵢ − c)² nach c gleich null, folgt
c = (1/n)Σyᵢ, also der Mittelwert. Für Σ|yᵢ − c| ist die Ableitung die
Anzahl der Werte oberhalb minus der unterhalb; null wird sie beim Median.
Das hat eine praktische Folge, die oft übersehen wird: Wer Bearbeitungszeiten mit MSE modelliert, sagt die mittlere Dauer voraus. Bearbeitungszeiten sind immer rechtsschief verteilt, und dort liegt dieser Wert deutlich über dem typischen Fall. Für eine Kapazitätsplanung ist das richtig, für eine Kundenzusage falsch.
Klassengewichte, durchgerechnet
Bei 2 Prozent positiven Fällen und ungewichteter Kreuzentropie stammen 98
Prozent des Gradientensignals aus der Mehrheitsklasse. Ein Gewicht von
w₊ = n/(2·n₊) = 25 gleicht das aus. Praktisch führt das oft dazu, dass die
Wahrscheinlichkeiten nicht mehr kalibriert sind: der Schwellwert muss danach
neu bestimmt werden, siehe Metriken richtig lesen.
Passende Kurse und Quellen
MIT 6.036 Einführung in Machine Learning
Formaler als die meisten Onlinekurse, mit Herleitungen statt Rezepten. Passt gut nach einem praktischen Kurs, wenn die Frage nach dem Warum offen bleibt.
Für alle, denen nach einem Praxiskurs die Frage nach dem Warum offen geblieben ist.