Régression logistique: perte et régularisation

Les modèles de régression logistique sont entraînés à l'aide du même processus que les modèles de régression linéaire, avec deux différences clés :

Les sections suivantes abordent ces deux considérations plus en détail.

Perte logistique

Dans le module de régression linéaire, vous avez utilisé la perte quadratique (également appelée perte L2) comme fonction de perte. La perte quadratique fonctionne bien pour un modèle linéaire où le taux de variation des valeurs de sortie est constant. Par exemple, étant donné le modèle linéaire $y' = b + 3x_1$, chaque fois que vous augmentez la valeur d'entrée $x_1$ de 1, la valeur de sortie $y'$ augmente de 3.

Toutefois, le taux de variation d'un modèle de régression logistique n'est pas constant. Comme vous l'avez vu dans Calculer une probabilité, la courbe sigmoid est en forme de S plutôt que linéaire. Lorsque la valeur du log-odds ($z$) est proche de 0, de petites augmentations de $z$ entraînent des changements beaucoup plus importants de $y$ que lorsque $z$ est un grand nombre positif ou négatif. Le tableau suivant montre la sortie de la fonction sigmoïde pour les valeurs d'entrée de 5 à 10, ainsi que la précision correspondante requise pour capturer les différences dans les résultats.

entrée Sortie logistique le nombre de chiffres de précision requis.
5 0.993 3
6 0.997 3
7 0.999 3
8 0.9997 4
9 0.9999 4
10 0.99998 5

Si vous avez utilisé la perte quadratique pour calculer les erreurs de la fonction sigmoïde, à mesure que la sortie se rapprochait de plus en plus de 0 et de 1, vous auriez besoin de plus de mémoire pour préserver la précision nécessaire au suivi de ces valeurs.

La fonction de perte pour la régression logistique est plutôt la perte logistique. L'équation de perte logarithmique renvoie le logarithme de l'ampleur de la variation, plutôt que la simple distance entre les données et la prédiction. La perte logistique est calculée comme suit :

$\text{Perte logistique} = -\frac{1}{N}\sum_{i=1}^{N} y_i\log(y_i') + (1 - y_i)\log(1 - y_i')$

où :

  • \(N\) correspond au nombre d'exemples étiquetés dans l'ensemble de données.
  • \(i\) est l'index d'un exemple dans l'ensemble de données (par exemple, \((x_3, y_3)\) est le troisième exemple de l'ensemble de données)
  • \(y_i\) est le libellé du \(i\)e exemple. Puisqu'il s'agit de régression logistique, \(y_i\) doit être 0 ou 1.
  • \(y_i'\) est la prédiction de votre modèle pour le \(i\)ième exemple (compris entre 0 et 1), étant donné l'ensemble des caractéristiques dans \(x_i\).

Régularisation dans la régression logistique

La régularisation, un mécanisme permettant de pénaliser la complexité du modèle pendant l'entraînement, est extrêmement importante dans la modélisation de la régression logistique. Sans régularisation, la nature asymptotique de la régression logistique continuerait de ramener la perte à zéro dans les cas où le modèle comporte un grand nombre de caractéristiques. Par conséquent, la plupart des modèles de régression logistique utilisent l'une des deux stratégies suivantes pour réduire la complexité du modèle :