Aller au contenu principal

Descente de gradient pour les moindres carrés

La régression linéaire est une méthode statistique utilisée pour modéliser la relation entre une variable dépendante et une ou plusieurs variables indépendantes en ajustant une équation linéaire aux données observées. La forme la plus simple de l'équation linéaire avec une variable dépendante et une variable indépendante est représentée par y=mx+by = mx + b, où mm est la pente de la droite et bb est l'ordonnée à l'origine. Cette méthode est largement utilisée en modélisation prédictive et en prévision quantitative.

Descente de gradient pour la régression linéaire

La descente de gradient est un algorithme d'optimisation utilisé pour minimiser une fonction en se déplaçant de manière itérative dans la direction de la plus grande pente, définie par l'opposé du gradient. Dans le contexte de la régression linéaire, la descente de gradient est utilisée pour trouver les valeurs de mm et bb qui minimisent la fonction de coût, qui est généralement la somme des différences au carré entre les valeurs observées et les valeurs prédites par le modèle.

Fonction de coût

La fonction de coût de régression linéaire, ici l’erreur quadratique moyenne, quantifie la différence entre les valeurs observées et les valeurs prédites par le modèle linéaire. Elle est donnée par :

E(m,b)=1ni=1n(yi(mxi+b))2E(m, b) = \frac{1}{n} \sum_{i=1}^{n} (y_i - (mx_i + b))^2

où :

  • nn est le nombre d'observations,
  • yiy_i est la valeur observée,
  • xix_i est la variable indépendante,
  • mm est la pente, et
  • bb est l'ordonnée à l'origine.

Algorithme de descente de gradient

L'algorithme de descente de gradient met à jour les paramètres mm et bb de manière itérative pour minimiser la fonction de coût E(m,b)E(m, b). Les règles de mise à jour de mm et bb à chaque itération sont :

mk+1=mkαEmm_{k+1} = m_k - \alpha \frac{\partial E}{\partial m} bk+1=bkαEbb_{k+1} = b_k - \alpha \frac{\partial E}{\partial b}

α\alpha est le taux d'apprentissage, un hyperparamètre qui contrôle la taille des pas effectués vers le minimum de la fonction de coût.

Dérivées partielles de la fonction de coût

Les dérivées partielles de E(m,b)E(m, b) par rapport à mm et bb sont :

Em=2ni=1nxi(yi(mxi+b))\frac{\partial E}{\partial m} = -\frac{2}{n} \sum_{i=1}^{n} x_i(y_i - (mx_i + b)) Eb=2ni=1n(yi(mxi+b))\frac{\partial E}{\partial b} = -\frac{2}{n} \sum_{i=1}^{n} (y_i - (mx_i + b))

Ces gradients sont utilisés pour mettre à jour les valeurs de mm et bb de manière itérative dans la direction qui fait décroître la fonction de coût.

Étapes de mise en œuvre

  1. Initialisation : commencer par des estimations initiales pour les valeurs de mm et bb.
  2. Calcul du gradient : calculer les gradients de la fonction de coût par rapport à mm et bb.
  3. Mise à jour des paramètres : mettre à jour les valeurs de mm et bb à l'aide des règles de mise à jour de la descente de gradient.
  4. Itération : répéter les étapes 2 et 3 jusqu’à atteindre la tolérance sur le gradient ou épuiser le budget d’itérations, en indiquant le motif d’arrêt.

Solution exacte et mise à jour reproductible

Cette note traite du calcul d’optimisation ; les hypothèses et l’interprétation du modèle relèvent de Régression linéaire. Avec ri=mxi+byir_i=mx_i+b-y_i, la règle de la chaîne donne ri2/m=2rixi\partial r_i^2/\partial m=2r_ix_i et ri2/b=2ri\partial r_i^2/\partial b=2r_i, ce qui explique les signes et le facteur 22. À cause de 1/n1/n, EE est une erreur quadratique moyenne, pas une somme de carrés. Redimensionner la perte conserve son minimiseur mais modifie le gradient et le taux d’apprentissage approprié.

Prenons trois observations (1,2),(2,5),(3,3)(1,2),(2,5),(3,3). Leur somme des carrés des résidus est exactement la quadratique de la note sur le gradient :

S=3E=14m2+12mb+3b242m20b+38.S=3E=14m^2+12mb+3b^2-42m-20b+38.

Ici xi=6\sum x_i=6, yi=10\sum y_i=10, xi2=14\sum x_i^2=14 et xiyi=21\sum x_iy_i=21. Résoudre 28m+12b42=028m+12b-42=0 et 12m+6b20=012m+6b-20=0 donne m=1/2m=1/2, b=7/3b=7/3. Les résidus yi(mxi+b)y_i-(mx_i+b) valent 5/6,5/3,5/6-5/6,5/3,-5/6, d’où S=25/6S=25/6 et E=25/18E=25/18.

En (m,b)=(0,0)(m,b)=(0,0), E=(14,20/3)\nabla E=(-14,-20/3). Une mise à jour simultanée avec α=0.05\alpha=0.05 donne (7/10,1/3)(7/10,1/3) et diminue EE de 38/338/3 à 1789/4503.9755561789/450\approx3.975556. À chaque itération, calculer les deux sommes du gradient avant de modifier un paramètre.

Regroupons les paramètres dans θ=(m,b)T\theta=(m,b)^T et les observations dans y=(y1,,yn)Ty=(y_1,\ldots,y_n)^T. La ligne ii de la matrice de conception XX est (xi,1)(x_i,1) : la composante ii de XθX\theta est donc la prédiction mxi+bmx_i+b. Ainsi, E=Xθy22/nE=\|X\theta-y\|_2^2/n, où le carré de la norme euclidienne additionne les carrés des résidus, et la matrice hessienne vaut H=2XTX/nH=2X^TX/n. Pour tout vv, vTHv=2Xv22/n0v^THv=2\|Xv\|_2^2/n\ge0, ce qui prouve la convexité. La solution n’est unique que si les colonnes de XX sont linéairement indépendantes, autrement dit si son rang égale le nombre de colonnes ; pour pente et intercept, il faut au moins deux xix_i distincts. Si tous les xi=cx_i=c, seul mc+bmc+b est identifiable et plusieurs couples de paramètres s’ajustent aussi bien.

La borne du pas découle de la dynamique de l’erreur. Ici HH est symétrique définie positive et θ\theta_* est l’unique minimiseur. Pour ek=θkθe_k=\theta_k-\theta_*, le gradient quadratique vaut HekHe_k, donc

ek+1=(IαH)ek.e_{k+1}=(I-\alpha H)e_k.

Selon un vecteur propre de HH associé à λ>0\lambda>0, l’erreur est multipliée par 1αλ1-\alpha\lambda. Converger depuis tout point initial exige 1αλ<1|1-\alpha\lambda|<1 pour chaque valeur propre, soit 0<α<2/λmax(H)0<\alpha<2/\lambda_{\max}(H). À la borne supérieure, la composante associée à la plus grande valeur propre oscille sans diminuer. La convexité caractérise les minima globaux ; elle ne garantit pas la convergence pour n’importe quel pas.

Pour ces données, λmax(H)=(17+265)/311.092940\lambda_{\max}(H)=(17+\sqrt{265})/3\approx11.092940 ; la descente à pas fixe converge donc pour 0<α<2/λmax0.1802950<\alpha<2/\lambda_{\max}\approx0.180295. L’échelle des caractéristiques modifie cette borne. Utiliser une tolérance sur la norme du gradient et une limite d’itérations, puis comparer à la solution exacte ; une perte inchangée peut traduire une stagnation numérique. Pour de petits problèmes denses, les solveurs par QR ou SVD sont souvent préférables aux itérations manuelles ou à l’inversion explicite de XTXX^TX.

Explorer les liensOuvrir le réseau