Quelle est la différence entre l'entropie croisée et la divergence KL?


25

L'entropie croisée et la divergence KL sont des outils pour mesurer la distance entre deux distributions de probabilité. Quelle est la différence? De plus, la minimisation de KL est équivalente à la minimisation de l'entropie croisée.

H(P,Q)=xP(x)logQ(x)
KL(P|Q)=xP(x)logP(x)Q(x)

Je veux les connaître instinctivement.

Merci beaucoup d'avance.

Réponses:


24

Vous aurez besoin de certaines conditions pour revendiquer l'équivalence entre la minimisation de l'entropie croisée et la minimisation de la divergence KL. Je placerai votre question dans le contexte des problèmes de classification utilisant l'entropie croisée comme fonctions de perte.

Rappelons d'abord que l'entropie est utilisée pour mesurer l'incertitude d'un système, qui est défini comme pour comme les probabilités des différents états du système. Du point de vue de la théorie de l'information, est la quantité d'informations nécessaires pour éliminer l'incertitude.

S(v)=ip(vi)logp(vi),
p(vi)viS(v)

Par exemple, l'événement A I will die eventuallyest presque certain (peut-être pouvons-nous résoudre le problème de vieillissement pour le mot almost), il a donc une faible entropie qui ne nécessite que les informations de the aging problem cannot be solvedpour le rendre certain. Cependant, l'événement B The president will die in 50 yearsest beaucoup plus incertain que A, il a donc besoin de plus d'informations pour lever les incertitudes.

Regardons maintenant la définition de la divergence KL entre les événements A et B où le premier terme du côté droit est l'entropie de l'événement A, le deuxième terme peut être interprété comme l'attente de l'événement B en termes d'événement A. Et le décrit à quel point B est différent de A du point de vue de A.

DKL(AB)=ipA(vi)logpA(vi)pA(vi)logpB(vi),
DKL

Pour relier l'entropie croisée à l'entropie et la divergence KL, nous formalisons l'entropie croisée en termes d'événements A et B comme D'après les définitions, nous pouvons facilement voir Si est une constante, alors minimiser équivaut à minimiser .

H(A,B)=ipA(vi)logpB(vi).
H(A,B)=DKL(AB)+SA.
SAH(A,B)DKL(AB)

Une autre question suit naturellement: comment l'entropie peut être une constante. Dans une tâche d'apprentissage automatique, nous commençons avec un ensemble de données (noté ) qui représente le problème à résoudre, et l'objectif d'apprentissage est de rendre la distribution estimée du modèle (notée ) aussi proche que possible. que possible à la vraie distribution du problème (noté ). est inconnu et représenté par . Par conséquent, dans un monde idéal, nous attendons et minimisons . Et heureusement, dans la pratiqueP(D)P(model)P(truth)P(truth)P(D)

P(model)P(D)P(truth)
DKL(P(D)P(model))Dest donnée, ce qui signifie que son entropie est fixée comme une constante.S(D)


Merci pour votre réponse. Cela a approfondi ma compréhension. Donc, quand nous avons un ensemble de données, il est plus efficace de minimiser l'entropie croisée plutôt que KL, non? Cependant, je ne peux pas comprendre leur bonne utilisation. En d'autres termes, quand dois-je minimiser la KL ou l'entropie croisée?
Jourd

1
Après avoir lu votre réponse, je pense qu'il ne sert à rien de minimiser KL car nous avons toujours un ensemble de données, P (D).
Jourd

Idéalement, on choisirait la divergence KL pour mesurer la distance entre deux distributions. Dans le contexte de la classification, la perte d'entropie croisée provient généralement de la probabilité de log négatif, par exemple, lorsque vous choisissez la distribution de Bernoulli pour modéliser vos données.
doubllle

Vous voudrez peut-être regarder cet excellent article . La symétrie n'est pas un problème de classification car le but des modèles d'apprentissage automatique est de rendre la distribution prédite aussi proche que possible du P (D) fixe, bien que des régularisations soient généralement ajoutées pour éviter le sur-ajustement.
doubllle

J'ai compris l'asymétrie de KL. Cependant, je n'ai pas encore compris comment utiliser la minimisation de KL ou Cross-Entropy différemment. Cela signifie que quand dois-je minimiser KL et quand dois-je minimiser l'entropie croisée. Je pense que est toujours une constante, n'est-ce pas? SA
Jourd

7

Je suppose que c'est parce que les modèles fonctionnent généralement avec les échantillons emballés en mini-lots. Pour la divergence KL et l'entropie croisée, leur relation peut être écrite comme D'après l'équation, nous pourrait voir que la divergence KL peut s'écarter dans une entropie croisée de p et q (la première partie), et une entropie globale de la vérité fondamentale p (la deuxième partie).

H(q,p)=DKL(p,q)+H(p)=ipilog(qi)

Dans de nombreux projets d'apprentissage automatique, le mini-lot est impliqué pour accélérer la formation, où le d'un mini-lot peut être différent du global . Dans un tel cas, Cross-Entropy est relativement plus robuste dans la pratique tandis que la divergence KL a besoin d'un H (p) plus stable pour terminer son travail.pp


1
Cette réponse est ce que je cherchais. D'après ma propre expérience actuelle, qui implique l'apprentissage d'une probabilité cible, BCE est bien plus robuste que KL. Fondamentalement, KL était inutilisable. KL et BCE ne sont pas des fonctions de perte "équivalentes".
Nicholas Leonard

Quand vous avez dit "la première partie" et "la deuxième partie", laquelle était laquelle?
Josh

La «première partie» désigne (p, q) et la «deuxième partie» signifie H (p). DKL
zewen liu il y a

1

Voici comment j'y pense:

(1)DKL(p(yi|xi)||q(yi|xi,θ))=H(p(yi|xi,θ),q(yi|xi,θ))H(p(yi|xi,θ))

où et sont deux distributions de probabilité. En apprentissage automatique, nous connaissons généralement , qui est la distribution de la cible. Par exemple, dans un problème de classification binaire, , donc si , et , et vice versa. Étant donné chaque , où est le nombre total de points dans l'ensemble de données, nous voulons généralement minimiser la divergence KL entre la distribution de la cible et notre distribution préditepqpY={0,1}yi=1p(yi=1|x)=1p(yi=0|x)=0yii=1,2,,NNDKL(p,q)p(yi|x)q(yi|x,θ), moyenne sur tout . (Nous le faisons en ajustant nos paramètres de modèle . Ainsi, pour chaque exemple d'apprentissage, le modèle crache une distribution sur les étiquettes de classe et ) Pour chaque exemple, puisque la cible est fixe, sa distribution ne change jamais. Ainsi, est constant pour chaque , quels que soient nos paramètres de modèle actuels . Ainsi, le minimiseur de est égal au minimiseur de .iθ01H(p(yi|xi))iθDKL(p,q)H(p,q)

Si vous aviez une situation où et étaient tous deux variables (par exemple, dans lesquels et étaient deux variables latentes) et que vous vouliez faire correspondre les deux distributions, alors vous devriez choisir entre minimiser et minimisant . En effet, minimiser implique maximiser tandis que minimiser implique minimiser . Pour voir ce dernier, nous pouvons résoudre l'équation ( ) pour : pqx1px2qDKLH(p,q)DKLH(p)H(p,q)H(p)1H(p,q)

(2)H(p,q)=DKL(p,q)+H(p)
Le premier donnerait une distribution large pour tandis que le second en produirait une qui est concentrée dans un ou quelques modes. Notez que c'est votre choix en tant que praticien ML que vous souhaitiez minimiser ou . Une petite discussion de ceci est donnée dans le contexte de l'inférence variationnelle (VI) ci-dessous.pDKL(p,q)DKL(q,p)

Dans VI, vous devez choisir entre minimiser et , qui ne sont pas égaux car la divergence KL n'est pas symétrique. Si nous traitons à nouveau comme connu, alors minimiser entraînerait une distribution qui est nette et focalisée sur une ou quelques zones tout en minimisant résulterait dans une distribution qui est large et couvre une large gamme du domaine de . Encore une fois, ce dernier est parce que minimiser implique de maximiser l'entropie de .DKL(p,q)DKL(q,p)pDKL(p,q)qDKL(q,p)qqDKL(q,p)q


Dans l'équation (1) sur le côté gauche, vous n'avez pas dans , tandis que sur le côté droit vous avez . Pourquoi? Toujours dans la 5ème ligne, vous devez utiliser au lieu de . θp(yi|xi)p(yi|xi,θ)xix
Rodvi

De plus, l'entropie sera-t-elle généralement constante dans le cas des classificateurs génératifs , dans le cas des modèles de régression et dans le cas des modèles non paramétriques (ne supposant pas de cas variable latent )? H(p)q(y,x|θ)
Rodvi
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.