L'entropie croisée est couramment utilisée pour quantifier la différence entre deux distributions de probabilité. Habituellement, la distribution «vraie» (celle que votre algorithme d'apprentissage automatique essaie de faire correspondre) est exprimée en termes de distribution unique.
Par exemple, supposons que pour une instance d'apprentissage spécifique, l'étiquette soit B (parmi les étiquettes possibles A, B et C). La distribution one-hot pour cette instance d'entraînement est donc:
Pr(Class A) Pr(Class B) Pr(Class C)
0.0 1.0 0.0
Vous pouvez interpréter la distribution «vraie» ci-dessus comme signifiant que l'instance d'apprentissage 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 automatique prédit la distribution de probabilité suivante:
Pr(Class A) Pr(Class B) Pr(Class C)
0.228 0.619 0.153
À quel point la distribution prévue est-elle proche de la distribution réelle? C'est ce que détermine la perte d'entropie croisée. Utilisez cette formule:
Où p(x)
est la probabilité souhaitée et q(x)
la probabilité réelle. La somme est sur les trois classes A, B et C. Dans ce cas, la perte est de 0,479 :
H = - (0.0*ln(0.228) + 1.0*ln(0.619) + 0.0*ln(0.153)) = 0.479
Voilà donc à quel point votre prédiction est «fausse» ou «éloignée» 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 fonctions de perte sont typiquement écrites comme J (thêta) et peuvent être utilisées dans la descente de gradient, qui est un algorithme itératif pour déplacer les paramètres (ou coefficients) vers les valeurs optimales. Dans l'équation ci-dessous, vous remplaceriez J(theta)
par H(p, q)
. Mais notez que vous devez d'abord calculer la dérivée de H(p, q)
par rapport aux paramètres.
Alors pour répondre directement à vos questions originales:
Est-ce seulement une méthode pour décrire la fonction de perte?
Correct, l'entropie croisée décrit la perte entre deux distributions de probabilité. C'est l'une des nombreuses fonctions de perte possibles.
Ensuite, nous pouvons utiliser, par exemple, un algorithme de descente de gradient pour trouver le minimum.
Oui, la fonction de perte d'entropie croisée peut être utilisée dans le cadre de la descente de gradient.
Lectures complémentaires: l'une de mes autres réponses liées à TensorFlow.