krydsentropi
Krydsentropi er et mål for forskellen mellem to sandsynlighedsfordelinger, ofte brugt som tabsfunktion i klassifikationsmodeller.
Kort fortalt
Krydsentropi måler, hvor godt en models forudsagte sandsynligheder matcher de faktiske mærker i et klassifikationsproblem.
- Kategori
- metrik
- Niveau
- øvet
Betydninger
1- 1
Mål for den gennemsnitlige mængde information der går tabt, når man bruger en forudsagt fordeling q til at approksimere den sande fordeling p. I maskinlæring anvendes det som tabsfunktion, der sammenligner modellens forudsagte sandsynligheder med de faktiske mærker.
- Under træning af et neuralt netværk til billedklassifikation minimeres krydsentropien mellem softmax-output og one-hot-kodede mærker. — Deep Learning, Goodfellow et al., 2016
- Krydsentropi er tæt forbundet med Kullback-Leibler-divergens, men er ikke symmetrisk. — Information Theory, Cover & Thomas, 2006
Hvornår bruges det
Krydsentropi anvendes primært som tabsfunktion til træning af neurale netværk til klassifikation, især når outputlaget bruger softmax-aktivering. Det straffer modellen for at være usikker eller forkert, og jo lavere krydsentropi, desto bedre passer modellen til data.
Formel
H(p,q) = -∑_{i=1}^{C} p_i log(q_i), hvor p er den sande sandsynlighedsfordeling (typisk one-hot), og q er den forudsagte fordeling.Kodeeksempel
import numpy as np
def binary_cross_entropy(y_true, y_pred):
y_pred = np.clip(y_pred, 1e-12, 1 - 1e-12) # avoid log(0)
return -np.mean(y_true * np.log(y_pred) + (1 - y_true) * np.log(1 - y_pred))Eksempel på beregning af binær krydsentropi i Python.
Oprindelse
Fra 'kryds' (cross) og 'entropi' (entropy), en kombination af to sandsynlighedsfordelinger. Begrebet stammer fra informationsteori, introduceret af Claude Shannon.
Afledte ord
2Kilder
2- Deep Learning (Goodfellow et al., 2016)
- Information Theory (Cover & Thomas, 2006)