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+e−z\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​

fonction sigmoïde

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+e−z\sigma(z) = \frac{1}{1 + e^{-z}}

où z∈Rz \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 z→−∞z \to -\infty et vers 11 lorsque z→∞z \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+e−z)−1\sigma(z) = (1 + e^{-z})^{-1}.
  2. En appliquant la règle de la chaîne, nous obtenons :
σ′(z)=ddz(1+e−z)−1=−(1+e−z)−2⋅(−e−z)\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)=e−z(1+e−z)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+e−z(1−11+e−z)\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^)+(1−y)log⁡(1−y^)]L(y, \hat{y}) = -[y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})]

où 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 ∂L∂wi\frac{\partial L}{\partial w_i} et ∂L∂b\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 :

  • ∂L∂wi=∂L∂y^⋅∂y^∂wi\frac{\partial L}{\partial w_i} = \frac{\partial L}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial w_i}
  • ∂L∂b=∂L∂y^⋅∂y^∂b\frac{\partial L}{\partial b} = \frac{\partial L}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial b}

Le terme ∂L∂y^\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 :

∂L∂y^=−yy^+1−y1−y^\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^(1−y^)xi\frac{\partial \hat{y}}{\partial w_i} = \hat{y}(1 - \hat{y})x_i
  • ∂y^∂b=y^(1−y^)\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 :

  • ∂L∂wi=−(y−y^)xi\frac{\partial L}{\partial w_i} = -(y - \hat{y})x_i
  • ∂L∂b=−(y−y^)\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−α∂L∂wiw_i := w_i - \alpha \frac{\partial L}{\partial w_i}
  • b:=b−α∂L∂bb := 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 log⁡2≈0.693147\log2\approx0.693147 à 0.5543550.554355.

Pour plusieurs exemples, moyenner (y^i−yi)xij(\hat y_i-y_i)x_{ij} et (y^i−yi)(\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=1N∑ipi(1−pi)x~ix~iT⪰0.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 z≥0z\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