Je sais qu'il y a beaucoup d'explications sur ce qu'est l'entropie croisée, mais je suis toujours confus.
Est-ce seulement une méthode pour décrire la fonction de perte? Pouvons-nous utiliser l'algorithme de descente de gradient pour trouver le minimum en utilisant la fonction de perte?
machine-learning
cross-entropy
théatre
la source
la source
Réponses:
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:
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:
À 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 etq(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 :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)
parH(p, q)
. Mais notez que vous devez d'abord calculer la dérivée deH(p, q)
par rapport aux paramètres.Alors pour répondre directement à vos questions originales:
Correct, l'entropie croisée décrit la perte entre deux distributions de probabilité. C'est l'une des nombreuses fonctions de perte possibles.
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.
la source
cosine (dis)similarity
pour décrire l'erreur à travers l'angle et ensuite essayer de minimiser l'angle.p(x)
serait la liste des probabilités de vérité terrain pour chacune des classes, ce qui serait[0.0, 1.0, 0.0
. De même,q(x)
la liste des probabilités prévue pour chacune des classes,[0.228, 0.619, 0.153]
.H(p, q)
est alors- (0 * log(2.28) + 1.0 * log(0.619) + 0 * log(0.153))
, qui est de 0,479. Notez qu'il est courant d'utiliser lanp.log()
fonction de Python , qui est en fait le journal naturel; ça n'a pas d'importance.En bref, l'entropie croisée (CE) est la mesure de la distance entre votre valeur prédite et la vraie étiquette.
La croix fait ici référence au calcul de l'entropie entre deux ou plusieurs caractéristiques / étiquettes vraies (comme 0, 1).
Et le terme entropie lui-même fait référence au hasard, donc une grande valeur signifie que votre prédiction est loin des vraies étiquettes.
Ainsi, les poids sont modifiés pour réduire CE et conduit donc finalement à une différence réduite entre la prédiction et les étiquettes vraies et donc une meilleure précision.
la source
En plus des messages ci-dessus, la forme la plus simple de perte d'entropie croisée est connue sous le nom d' entropie croisée binaire (utilisée comme fonction de perte pour la classification binaire, par exemple avec régression logistique), alors que la version généralisée est l' entropie croisée catégorique (utilisée comme fonction de perte pour les problèmes de classification multi-classes, par exemple avec les réseaux de neurones).
L'idée reste la même:
lorsque la probabilité de classe calculée par modèle (softmax) devient proche de 1 pour l'étiquette cible pour une instance d'apprentissage (représentée avec un codage à chaud, par exemple), la perte CCE correspondante diminue à zéro
sinon, il augmente à mesure que la probabilité prédite correspondant à la classe cible diminue.
La figure suivante illustre le concept (remarquez sur la figure que BCE devient faible lorsque y et p sont tous deux élevés ou les deux sont bas simultanément, c'est-à-dire qu'il y a un accord):
L'entropie croisée est étroitement liée à l'entropie relative ou à la divergence KL qui calcule la distance entre deux distributions de probabilité. Par exemple, entre deux pmfs discrets, la relation entre eux est illustrée dans la figure suivante:
la source