Aller au contenu principal

Perte logarithmique en apprentissage automatique

L’apprentissage automatique implique souvent des problèmes d’optimisation qui visent à minimiser ou maximiser une fonction particulière, appelée fonction de perte. Deux des fonctions de perte les plus courantes sont la perte quadratique et la perte logarithmique. Dans cette note, nous allons explorer la perte logarithmique à travers un exemple probabiliste et fournir les fondements mathématiques permettant de mieux la comprendre.

Étude mathématique d’un scénario de lancers de pièce

Description du scénario

Considérons l’exercice consistant à lancer une pièce 10 fois, en visant un résultat précis de sept faces et trois piles. Étant donné trois pièces distinctes ayant des probabilités variables d’obtenir face (pp) par rapport à pile (1p1-p), nous analysons quelle pièce optimise nos chances d’obtenir le résultat souhaité.

Analyse des probabilités

Pour une suite ordonnée particulière contenant sept faces et trois piles, la probabilité est

p7(1p)3.p^7(1-p)^3.

Si seul le décompte importe et que tout ordre est autorisé, la probabilité est

P(H=7)=(107)p7(1p)3.P(H=7)=\binom{10}{7}p^7(1-p)^3.

Le coefficient binomial ne dépend pas de pp, donc les deux expressions sont maximisées par la même valeur. Parmi les pièces ayant des probabilités d’obtenir face de 0.7, 0.5 et 0.3, la pièce avec p=0.7p=0.7 donne la plus grande probabilité.

Optimisation par le calcul différentiel

Formulation de la fonction objectif

Pour généraliser, nous considérons une pièce avec une probabilité variable pp d’obtenir face. L’objectif devient de trouver la valeur de pp qui maximise la fonction de vraisemblance :

g(p)=p7(1p)3g(p) = p^7(1-p)^3

Technique d’optimisation

La maximisation implique de calculer la dérivée de g(p)g(p) par rapport à pp, de l’égaler à zéro et de résoudre pour pp. Ce processus donne :

dgdp=7p6(1p)33p7(1p)2=0\frac{dg}{dp} = 7p^6(1-p)^3 - 3p^7(1-p)^2 = 0

La résolution de l’équation ci-dessus révèle que p=0.7p=0.7 est la solution optimale, en accord avec notre analyse initiale.

Transformation logarithmique et simplification

Avantage logarithmique

Le passage à une échelle logarithmique, log(g(p))\log(g(p)), simplifie le processus de dérivation grâce aux propriétés des logarithmes, en transformant les produits en sommes et en facilitant ainsi les calculs.

Dérivation et optimisation

En optimisant le logarithme de g(p)g(p), noté G(p)G(p), nous trouvons :

G(p)=log(g(p))=7log(p)+3log(1p)G(p) = \log(g(p)) = 7\log(p) + 3\log(1-p)

Dériver et égaler à zéro donne :

dGdp=7p31p=0\frac{dG}{dp} = \frac{7}{p} - \frac{3}{1-p} = 0

Résoudre pour pp confirme que la probabilité optimale est p=0.7p=0.7.

Application de la perte logarithmique en apprentissage automatique

Dans les tâches de classification en apprentissage automatique, la perte logarithmique est définie de manière inverse à G(p)G(p) :

Log Loss=G(p)\text{Log Loss} = -G(p)

Cette perte évalue les probabilités prédites, pas la proportion de classes correctes. L’entraînement la minimise pour ajuster ces probabilités.

Pourquoi utiliser des logarithmes dans la perte logarithmique ?

Simplicité de calcul

  1. Dérivées de sommes vs produits : Calculer la dérivée d’une somme est plus simple du point de vue calculatoire que celle d’un produit. La règle du produit pour les dérivées devient de plus en plus complexe à mesure que le nombre de termes augmente. En prenant le logarithme du produit, nous pouvons le transformer en une somme, ce qui le rend plus facile à dériver.

    Difficult: ddx(uv)=uv+uv\text{Difficult: } \frac{d}{dx}(uv) = u'v + uv' Easier: ddx(log(u)+log(v))=uu+vv\text{Easier: } \frac{d}{dx}(\log (u) + \log (v)) = \frac{u'}{u} + \frac{v'}{v}
  2. Éviter les petits nombres : Le produit de probabilités peut donner des nombres extrêmement petits qui peuvent ne pas être stables numériquement. Additionner les logarithmes des probabilités individuelles évite de former ce produit minuscule.

Formules mathématiques

  • Dérivée complexe sans logarithme : La dérivée du produit devient de plus en plus difficile à calculer à mesure que des termes sont ajoutés.

    For example: ddx(uvw)=uvw+uvw+uvw\text{For example: } \frac{d}{dx}(uvw) = u'vw + uv'w + uvw'
  • Dérivée plus simple avec logarithme : La dérivation logarithmique simplifie ce processus.

    For example: ddx(log(u)+log(v)+log(w))=uu+vv+ww\text{For example: } \frac{d}{dx}(\log (u) + \log (v) + \log (w)) = \frac{u'}{u} + \frac{v'}{v} + \frac{w'}{w}

Perspectives finales

La perte logarithmique joue un rôle central en apprentissage automatique pour évaluer les modèles de classification. Son importance est mise en lumière à travers le prisme de scénarios probabilistes comme les lancers de pièce, où les transformations logarithmiques offrent des commodités calculatoires et mathématiques. La stabilité numérique dépend encore de l’évaluation de ces logarithmes, surtout aux extrémités du domaine des probabilités.

De la vraisemblance à une perte binaire utilisable

Supposons des essais de Bernoulli indépendants, de même paramètre pp. Après l’observation de sept faces et trois piles, la formule devient une vraisemblance pour pp, pas la probabilité que pp soit vrai. Sur 0<p<10<p<1, le logarithme naturel est strictement croissant et conserve donc le maximiseur. La log-vraisemblance négative J=GJ=-G vérifie

J(p)=7p+31p,J(p)=7p2+3(1p)2>0.J'(p)=-\frac7p+\frac3{1-p},\qquad J''(p)=\frac7{p^2}+\frac3{(1-p)^2}>0.

Elle diverge aux deux extrémités : p=0.7p=0.7 est donc l’unique minimum global. Sa valeur est environ 6.1086436.108643, soit 0.6108640.610864 par lancer. Avec seulement des faces, l’optimum sur [0,1][0,1] serait plutôt le bord p=1p=1 ; une recherche de dérivée nulle à l’intérieur le manquerait.

Pour des étiquettes yi{0,1}y_i\in\{0,1\} et des probabilités prédites pip_i éventuellement différentes, l’entropie croisée binaire est

Lˉ=1ni=1n[yilogpi+(1yi)log(1pi)].\bar L=-\frac1n\sum_{i=1}^n\left[y_i\log p_i+(1-y_i)\log(1-p_i)\right].

Pour y=1y=1, les prédictions 0.90.9 et 0.60.6 donnent toutes deux la bonne classe au seuil 0.50.5, mais leurs pertes valent environ 0.1053610.105361 et 0.5108260.510826. La perte logarithmique évalue la qualité des probabilités, pas la proportion de classes correctes. Une prédiction fausse et confiante de 0.010.01 coûte 4.6051704.605170.

La convention 0log0=00\log0=0 est une convention de limite, pas une multiplication flottante valide. Attribuer une probabilité nulle à la classe observée entraîne une perte infinie. Calculer directement la somme des logarithmes : prendre le logarithme après le sous-dépassement d’un produit ne restaure pas l’information. Pour pp strictement dans (0,1)(0,1), log1p(-p) calcule précisément log(1p)\log(1-p) près de zéro. Borner artificiellement les probabilités évite les infinis mais change l’objectif.

Pour des étiquettes binaires et des logits finis zz, employer la forme stable, algébriquement équivalente :

L(z,y)=max(z,0)yz+log(1+ez).L(z,y)=\max(z,0)-yz+\log(1+e^{-|z|}).

En Python : max(z, 0.0) - y*z + log1p(exp(-abs(z))). Elle renvoie environ 10001000 pour (z,y)=(1000,1)(z,y)=(-1000,1) sans débordement. Les logarithmes améliorent donc la stabilité avec une implémentation adaptée ; ni un logarithme quelconque, ni la soustraction à un d’une probabilité sigmoïde arrondie ne sont automatiquement sûrs. La dérivation pour l’unité logistique explique pourquoi le gradient du logit se réduit à σ(z)y\sigma(z)-y.

Explorer les liensOuvrir le réseau