Kreuzvalidierung
Kreuzvalidierung ist eine statistische Methode zur Bewertung und zum Vergleich von Machine-Learning-Modellen, bei der Daten mehrfach in Trainings- und Validieru...
Die Kreuzentropie misst die Divergenz zwischen vorhergesagten und tatsächlichen Wahrscheinlichkeitsverteilungen und wird als Verlustfunktion im maschinellen Lernen häufig verwendet, um die Genauigkeit von Klassifikationsmodellen zu optimieren.
Kreuzentropie ist ein zentrales Konzept sowohl in der Informationstheorie als auch im maschinellen Lernen und dient als Maß zur Bestimmung der Divergenz zwischen zwei Wahrscheinlichkeitsverteilungen über derselben Ereignismenge. Im maschinellen Lernen ist dieses Maß insbesondere als Verlustfunktion entscheidend, um Abweichungen zwischen den vom Modell vorhergesagten Ausgaben und den tatsächlichen Labels innerhalb der Daten zu quantifizieren. Diese Quantifizierung ist für das Training von Modellen, insbesondere bei Klassifikationsaufgaben, essenziell, da sie hilft, Modellgewichte so anzupassen, dass Vorhersagefehler minimiert und letztlich die Modellleistung verbessert werden.
Das Konzept der Kreuzentropie, bezeichnet als H(p, q), beinhaltet die Berechnung der Divergenz zwischen zwei Wahrscheinlichkeitsverteilungen: p (die wahre Verteilung) und q (die vom Modell geschätzte Verteilung). Für diskrete Verteilungen wird die Kreuzentropie mathematisch wie folgt ausgedrückt:
$$ H(p, q) = -\sum_{x} p(x) \log q(x) $$
Dabei gilt:
Kreuzentropie berechnet im Wesentlichen die durchschnittliche Anzahl an Bits, die erforderlich sind, um ein Ereignis aus einer Menge von Möglichkeiten zu identifizieren, indem ein für die geschätzte Verteilung (q) optimiertes Codierungsschema verwendet wird, anstelle der tatsächlichen Verteilung (p).
Die Kreuzentropie ist eng mit der Kullback-Leibler-(KL)-Divergenz verknüpft, die misst, wie sehr eine Wahrscheinlichkeitsverteilung von einer erwarteten Wahrscheinlichkeitsverteilung abweicht. Die Kreuzentropie H(p, q) kann in Bezug auf die Entropie der wahren Verteilung H(p) und die KL-Divergenz D_{KL}(p || q) wie folgt ausgedrückt werden:
$$ H(p, q) = H(p) + D_{KL}(p \parallel q) $$
Diese Beziehung unterstreicht die grundlegende Rolle der Kreuzentropie bei der Quantifizierung von Vorhersagefehlern und schlägt eine Brücke zwischen statistischer Theorie und praktischen Anwendungen im maschinellen Lernen.
Im maschinellen Lernen, insbesondere bei Klassifikationsproblemen, dient die Kreuzentropie als Verlustfunktion, mit der bewertet wird, wie gut die vorhergesagte Wahrscheinlichkeitsverteilung mit der tatsächlichen Verteilung der Labels übereinstimmt. Sie erweist sich als besonders effektiv bei Mehrklassenaufgaben, bei denen das Ziel darin besteht, der korrekten Klasse die höchste Wahrscheinlichkeit zuzuweisen und so den Optimierungsprozess während des Modelltrainings zu steuern.
Diese Funktion wird bei binären Klassifikationsaufgaben mit zwei möglichen Klassen (z. B. wahr/falsch, positiv/negativ) verwendet. Die binäre Kreuzentropie-Verlustfunktion wird wie folgt beschrieben:
$$ L = -\frac{1}{N} \sum_{i=1}^N [y_i \log(p_i) + (1-y_i) \log(1-p_i)] $$
Dabei gilt:
Wird bei Mehrklassenklassifikationsaufgaben mit mehr als zwei Klassen eingesetzt. Die kategoriale Kreuzentropie wird berechnet als:
$$ L = -\frac{1}{N} \sum_{i=1}^{N} \sum_{j=1}^{C} y_{ij} \log(p_{ij}) $$
Dabei gilt:
Betrachten Sie ein Klassifikationsszenario mit drei Klassen: Katzen, Hunde und Pferde. Wenn das wahre Label für ein Bild ein Hund ist, dargestellt durch den One-Hot-Vektor [0, 1, 0], und das Modell [0.4, 0.4, 0.2] vorhersagt, wird die Kreuzentropie wie folgt berechnet:
$$ L(y, \hat{y}) = – (0 \times \log(0.4) + 1 \times \log(0.4) + 0 \times \log(0.2)) = 0.92 $$
Eine geringere Kreuzentropie zeigt eine stärkere Übereinstimmung der vorhergesagten Wahrscheinlichkeiten des Modells mit den tatsächlichen Labels an und spiegelt eine bessere Modellleistung wider.
Kreuzentropie ist ein integraler Bestandteil beim Training von KI-Modellen, insbesondere im überwachten Lernrahmen. Sie wird häufig angewendet bei:
import numpy as np
def cross_entropy(y_true, y_pred):
y_true = np.float_(y_true)
y_pred = np.float_(y_pred)
return -np.sum(y_true * np.log(y_pred + 1e-15))
# Beispielanwendung
y_true = np.array([0, 1, 0]) # Tatsächliches Label (One-Hot-codiert)
y_pred = np.array([0.4, 0.4, 0.2]) # Vorhergesagte Wahrscheinlichkeiten
loss = cross_entropy(y_true, y_pred)
print(f"Kreuzentropie-Verlust: {loss}")
In diesem Python-Beispiel berechnet die Funktion cross_entropy
den Verlust zwischen den tatsächlichen Labels und den vorhergesagten Wahrscheinlichkeiten und unterstützt so die Bewertung und Optimierung von Modellen.
Kreuzentropie ist ein Maß, das die Divergenz zwischen zwei Wahrscheinlichkeitsverteilungen bestimmt und häufig als Verlustfunktion verwendet wird, um zu bewerten, wie gut die Vorhersagen eines Modells mit den tatsächlichen Labels übereinstimmen.
Im maschinellen Lernen quantifiziert die Kreuzentropie den Fehler zwischen den vorhergesagten Wahrscheinlichkeiten und den tatsächlichen Labels und steuert so den Optimierungsprozess zur Verbesserung der Modellgenauigkeit, insbesondere bei Klassifikationsaufgaben.
Die binäre Kreuzentropie wird für binäre Klassifikationen (zwei Klassen) verwendet, während die kategoriale Kreuzentropie für Mehrklassenklassifikationen eingesetzt wird. Beide berechnen den Verlust zwischen echten und vorhergesagten Wahrscheinlichkeiten, angepasst an die Anzahl der Klassen.
Kreuzentropie steht in Beziehung zur Kullback-Leibler-(KL)-Divergenz, da sie als Summe der Entropie der tatsächlichen Verteilung und der KL-Divergenz zwischen der tatsächlichen und der vorhergesagten Verteilung ausgedrückt werden kann.
Ja. Beispiel: import numpy as np def cross_entropy(y_true, y_pred): y_true = np.float_(y_true) y_pred = np.float_(y_pred) return -np.sum(y_true * np.log(y_pred + 1e-15))
Beginnen Sie mit dem Aufbau eigener KI-Lösungen auf der intuitiven Plattform von FlowHunt. Optimieren Sie Ihre Modelle und automatisieren Sie Ihre Workflows effizient.
Kreuzvalidierung ist eine statistische Methode zur Bewertung und zum Vergleich von Machine-Learning-Modellen, bei der Daten mehrfach in Trainings- und Validieru...
Eine Konfusionsmatrix ist ein Werkzeug im maschinellen Lernen zur Bewertung der Leistung von Klassifikationsmodellen. Sie stellt wahre/falsche Positive und Nega...
Log Loss, oder logarithmischer/Cross-Entropy-Loss, ist eine wichtige Kennzahl zur Bewertung der Leistung von Machine-Learning-Modellen – insbesondere für binäre...