Aller au contenu principal

Classification avec une unité logistique

Régression logistique comme classifieur linéaire

Un score linéaire suivi d'une sigmoïde et entraîné avec une perte logarithmique constitue la régression logistique, parfois décrite comme un neurone logistique unique. Il ne s'agit pas du perceptron classique, qui utilise une règle de décision à seuil et un algorithme de mise à jour différent.

Formulation mathématique

Pour des entrées x1,,xnx_1,\ldots,x_n, des poids w1,,wnw_1,\ldots,w_n et un biais bb, le score linéaire est :

z=i=1nwixi+bz = \sum_{i=1}^{n} w_i x_i + b

Cette équation représente la combinaison linéaire des entrées et de leurs poids respectifs, avec le terme de biais ajouté pour tenir compte des décalages. Pour la classification, la fonction sigmoïde, σ(z)\sigma(z), est utilisée comme fonction d'activation, transformant zz en une probabilité entre 0 et 1 :

σ(z)=11+ez\sigma(z) = \frac{1}{1 + e^{-z}}

Cette fonction produit une valeur dans l'intervalle (0,1)(0, 1), ce qui la rend adaptée aux tâches de classification binaire.

Fonction sigmoïde

sigmoid function

La fonction sigmoïde, notée σ(z)\sigma(z), joue un rôle crucial en apprentissage automatique, en particulier dans la régression logistique et les réseaux de neurones, en raison de sa capacité à transformer tout nombre réel dans l'intervalle (0,1)(0, 1). Cette propriété est particulièrement utile pour modéliser des probabilités.

Définition

La fonction sigmoïde est définie par :

σ(z)=11+ez\sigma(z) = \frac{1}{1 + e^{-z}}

zRz \in \mathbb{R} est l'entrée de la fonction.

Propriétés

  • Domaine et image : la fonction applique le domaine de tous les nombres réels R\mathbb{R} sur l'intervalle (0,1)(0, 1).
  • Asymptotes : elle possède des asymptotes horizontales en y=0y = 0 et y=1y = 1, ce qui implique que σ(z)\sigma(z) tend vers 00 lorsque zz \to -\infty et vers 11 lorsque zz \to \infty.
  • Symétrie : l'identité σ(z)=1σ(z)\sigma(-z)=1-\sigma(z) rend le graphe symétrique par rapport au point (0,12)(0,\tfrac12), et non par rapport à l'origine.
  • Sigmoïde de grandes valeurs positives et négatives : pour de grandes valeurs positives de zz, σ(z)\sigma(z) tend vers 11, et pour de grandes valeurs négatives, σ(z)\sigma(z) tend vers 00.

Dérivée de la fonction sigmoïde

La dérivée de la fonction sigmoïde est importante dans les algorithmes d'apprentissage automatique, en particulier dans le processus d'optimisation. Elle peut être calculée à l'aide de la règle de la chaîne du calcul différentiel et présente une forme simple qui est efficace sur le plan computationnel.

Calcul

Notons la dérivée de σ(z)\sigma(z) par rapport à zz par σ(z)\sigma'(z). Le calcul se déroule comme suit :

  1. Partons de la définition σ(z)=(1+ez)1\sigma(z) = (1 + e^{-z})^{-1}.
  2. En appliquant la règle de la chaîne, nous obtenons :
σ(z)=ddz(1+ez)1=(1+ez)2(ez)\sigma'(z) = \frac{d}{dz}\left(1 + e^{-z}\right)^{-1} = -(1 + e^{-z})^{-2} \cdot \left(-e^{-z}\right)
  1. En simplifiant, nous obtenons :
σ(z)=ez(1+ez)2\sigma'(z) = \frac{e^{-z}}{(1 + e^{-z})^2}
  1. En ajoutant et soustrayant 11 au numérateur et en réarrangeant, nous trouvons :
σ(z)=11+ez(111+ez)\sigma'(z) = \frac{1}{1 + e^{-z}} \left(1 - \frac{1}{1 + e^{-z}}\right)
  1. Enfin, en reconnaissant que les termes entre parenthèses représentent respectivement σ(z)\sigma(z) et 1σ(z)1 - \sigma(z), nous parvenons au résultat élégant :
σ(z)=σ(z)(1σ(z))\sigma'(z) = \sigma(z)(1 - \sigma(z))

Descente de gradient pour la régression logistique

La descente de gradient est employée pour minimiser l'erreur entre les classifications prédites et réelles. Elle ajuste les poids et le biais pour réduire la fonction de perte, calculée à l'aide de la perte logarithmique pour la classification :

L(y,y^)=[ylog(y^)+(1y)log(1y^)]L(y, \hat{y}) = -[y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})]

yy est l'étiquette observée et y^\hat{y} est la probabilité prédite par la sigmoïde. Une étiquette de classe n'est obtenue qu'après avoir choisi un seuil de décision. La fonction de perte L(y,y^)L(y, \hat{y}) mesure l'adéquation entre la probabilité prédite et l'étiquette observée. L'objectif de l'optimisation est de minimiser LL en ajustant les paramètres du modèle, spécifiquement les poids (ww) et le biais (bb).

Pour comprendre comment les modifications de ww et bb affectent LL, nous calculons les dérivées partielles de LL par rapport à ces paramètres. Cela implique de comprendre comment LL est influencée par y^\hat{y} et, à son tour, comment y^\hat{y} dépend de chaque paramètre.

Application de la règle de la chaîne

Le calcul de Lwi\frac{\partial L}{\partial w_i} et Lb\frac{\partial L}{\partial b} implique l'application de la règle de la chaîne du calcul différentiel, exprimée sous la forme :

  • Lwi=Ly^y^wi\frac{\partial L}{\partial w_i} = \frac{\partial L}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial w_i}
  • Lb=Ly^y^b\frac{\partial L}{\partial b} = \frac{\partial L}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial b}

Le terme Ly^\frac{\partial L}{\partial \hat{y}} est commun à ces expressions et est crucial pour comprendre la direction et l'amplitude du gradient.

Calculs des dérivées

Dérivée de LL par rapport à y^\hat{y}

Étant donnée la fonction de perte logarithmique, la dérivée de LL par rapport à y^\hat{y} est calculée comme suit :

Ly^=yy^+1y1y^\frac{\partial L}{\partial \hat{y}} = -\frac{y}{\hat{y}} + \frac{1 - y}{1 - \hat{y}}

Cette expression représente la manière dont le gradient de la fonction de perte dépend de la différence entre les valeurs réelles et prédites.

Dérivée de y^\hat{y} par rapport à ww et bb

La probabilité prédite y^\hat{y} est la sigmoïde du score linéaire. Les dérivées de y^\hat{y} par rapport à wiw_i, et bb s'appuient sur la dérivée de la fonction sigmoïde :

  • y^wi=y^(1y^)xi\frac{\partial \hat{y}}{\partial w_i} = \hat{y}(1 - \hat{y})x_i
  • y^b=y^(1y^)\frac{\partial \hat{y}}{\partial b} = \hat{y}(1 - \hat{y})

Expressions finales des gradients

Les expressions finales des dérivées partielles de la fonction de perte par rapport aux paramètres sont :

  • Lwi=(yy^)xi\frac{\partial L}{\partial w_i} = -(y - \hat{y})x_i
  • Lb=(yy^)\frac{\partial L}{\partial b} = -(y - \hat{y})

Ces gradients guident les étapes de mise à jour dans l'algorithme de descente de gradient, indiquant la direction et l'amplitude selon lesquelles les paramètres doivent être ajustés pour réduire la perte.

Règle de mise à jour par descente de gradient

Les règles de mise à jour par descente de gradient pour les poids et le biais sont les suivantes, où α\alpha est le taux d'apprentissage :

  • wi:=wiαLwiw_i := w_i - \alpha \frac{\partial L}{\partial w_i}
  • b:=bαLbb := b - \alpha \frac{\partial L}{\partial b}

Avec un pas adapté, ces mises à jour cherchent une perte plus faible ; la convergence vers des paramètres finis dépend aussi des données, comme l’illustre le cas séparable ci-dessous.

Conclusion

Un score linéaire, une probabilité sigmoïde et une perte logarithmique forment la régression logistique. La descente de gradient utilise les gradients compacts ci-dessus pour ajuster ses poids. Conserver cette terminologie distincte du perceptron classique évite de confondre deux algorithmes proches mais distincts.

Une mise à jour et le cas sans optimum fini

Pour x=(2,1)x=(2,-1), y=1y=1 et (w1,w2,b)=(0,0,0)(w_1,w_2,b)=(0,0,0), le score est z=0z=0 et la probabilité 1/21/2. Le gradient vaut (1,1/2,1/2)(-1,1/2,-1/2). Avec α=0.1\alpha=0.1, mettre simultanément les paramètres à (0.1,0.05,0.05)(0.1,-0.05,0.05) ; alors z=0.3z=0.3, y^0.574443\hat y\approx0.574443 et la perte passe de log20.693147\log2\approx0.693147 à 0.5543550.554355.

Pour plusieurs exemples, moyenner (y^iyi)xij(\hat y_i-y_i)x_{ij} et (y^iyi)(\hat y_i-y_i) aux paramètres courants avant la mise à jour. En posant pi=y^ip_i=\hat y_i et en incluant la coordonnée d’intercept dans x~i\tilde x_i, la Hessienne de la perte est

H=1Nipi(1pi)x~ix~iT0.H=\frac1N\sum_i p_i(1-p_i)\tilde x_i\tilde x_i^T\succeq0.

La régression logistique à caractéristiques fixes est donc convexe en ses paramètres. La convexité seule ne garantit pas un minimiseur fini : pour des données strictement linéairement séparables, amplifier un score séparateur fait tendre les probabilités des vraies classes vers un et la perte vers zéro, tandis que les poids divergent. Une pénalité quadratique sur tous les paramètres rend l’objectif coercif et strictement convexe ; en pratique, il faut préciser si l’intercept est pénalisé. Une petite variation de perte peut donc accompagner des poids croissants, sans convergence vers des paramètres optimaux finis.

Au seuil 0.50.5, prédire la classe 11 lorsque z0z\ge0 ; la frontière est linéaire dans les caractéristiques d’entrée. Si les coûts de décision l’exigent, changer le seuil plutôt que les formules du gradient. Calculer la perte directement à partir des logits avec la formule stable de Perte logarithmique, sans prendre le logarithme de probabilités arrondies à 00 ou 11.

Explorer les liensOuvrir le réseau