Qu'est-ce que le cross-entropie?

je sais qu'il y a beaucoup d'explications de ce que cross-entropy est, mais je suis encore confus.

Est-ce seulement une méthode pour décrire la perte de fonction? Ensuite, nous pouvons utiliser, par exemple, l'algorithme de descente en pente pour trouver le minimum. Ou c'est tout le processus qui implique aussi de trouver l'algorithme minimum?

44
demandé sur nbro 2017-02-02 00:38:07

1 réponses

l'entropie croisée est couramment utilisée pour quantifier la différence entre deux distributions de probabilité. Habituellement, la distribution" true " (celle que votre algorithme d'apprentissage machine essaie de faire correspondre) est exprimée en termes de distribution à une seule hot.

par exemple, supposons que pour une instance de formation spécifique, L'étiquette soit B (sur les étiquettes possibles A, B, et C). La distribution one-hot pour cette instance de formation est donc:

Pr(Class A)  Pr(Class B)  Pr(Class C)
        0.0          1.0          0.0

vous pouvez interpréter au-dessus de la distribution "vraie", cela signifie que l'instance de formation a 0% de probabilité d'être de classe A, 100% de probabilité d'être de classe B et 0% de probabilité D'être de classe C.

maintenant, supposons que votre algorithme d'apprentissage machine prédit la distribution de probabilité suivante:

Pr(Class A)  Pr(Class B)  Pr(Class C)
      0.228        0.619        0.153

Quelle est la distribution prévue de la vraie distribution? C'est ce que l'entropie croisée détermine. L'utilisation de ce formule:

Cross entropy loss formula

p(x) est la probabilité, et q(x) la probabilité réelle. La somme est sur les trois classes A, B, et C. Dans ce cas la perte est 0.479:

H = - (0.0*ln(0.228) + 1.0*ln(0.619) + 0.0*ln(0.153)) = 0.479

c'est comme "mauvais" ou "loin" de votre prédiction est de la vraie distribution.

L'entropie croisée est l'une des nombreuses fonctions de perte possibles (une autre populaire est la perte de charnière SVM). Ces pertes les fonctions sont typiquement écrites en J (thêta) et peuvent être utilisées dans le gradient de descente, qui est un cadre itératif de déplacement des paramètres (ou coefficients) vers les valeurs optimales. Dans l'équation ci-dessous, vous devez remplacer J(theta)H(p, q). Mais notez que vous devez calculer la dérivée de H(p, q) en ce qui concerne les paramètres d'abord.

gradient descent

alors pour répondre directement à vos questions originales:

Est-ce seulement une méthode pour décrire la perte de fonction?

correcte, l'entropie croisée décrit la perte entre deux distributions de probabilité. C'est l'une des nombreuses fonctions de perte possibles.

alors nous pouvons utiliser, par exemple, l'algorithme de descente en pente pour trouver minimum.

Oui, l'entropie croisée fonction peut être utilisée dans le cadre de la descente de gradient.

Lire la suite: l'un de mes autres réponses liée à TensorFlow.

112
répondu stackoverflowuser2010 2018-01-29 21:28:31