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. 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

2

Kilder

2
  • Deep Learning (Goodfellow et al., 2016)
  • Information Theory (Cover & Thomas, 2006)