Skip to content

Modèle linéaire, moindres carrés, régularisation

La page précédente a montré que le MLE, sous bruit Gaussien blanc, minimise une erreur quadratique, sans jamais expliciter sa solution quand le modèle est linéaire en θ. Cette page ferme ce cas en quatre temps : le modèle linéaire et sa solution analytique, la généralisation aux fonctions de base, la facilité trompeuse des modèles trop riches, et la régularisation qui les dompte.

1. Le modèle linéaire

Reprenons la situation qui ouvre le chapitre : un voltmètre bruité mesure N=10 fois une tension continue inconnue θ0. La n-ième mesure s'écrit xn=θ0+wn, où wn est le bruit de mesure. Si l'alimentation dérive lentement au fil du temps, le modèle s'enrichit d'une pente : xn=θ0+θ1n+wn, la sortie glisse linéairement avec l'instant de mesure n. Ce second modèle est la régression linéaire : une droite ajustée à des points bruités. Ces deux modèles partagent une propriété commune : la sortie dépend linéairement des paramètres θl.

Forme scalaire, puis forme matricielle

Sous forme scalaire, le modèle linéaire général s'écrit :

xn=l=0p1θlhl[n]+wn,n=1,,N,

où :

  • xn est la n-ième sortie mesurée,
  • h0[n],,hp1[n] sont les composantes du modèle : des séquences connues, hl[n] désignant la n-ième valeur de la composante l,
  • θ0,,θp1 sont les paramètres inconnus à estimer,
  • wn est le bruit de mesure.

Ce modèle marque le passage au multidimensionnel : non plus un θ scalaire comme dans les pages précédentes, mais p paramètres θl, chacun pondérant une composante connue de la sortie. La tension continue en est le cas p=1 avec h0[n]=1 ; la dérive, le cas p=2 avec h0[n]=1 et h1[n]=n.

Empiler les N équations scalaires permet d'obtenir une écriture compacte.

Modèle linéaire

x=Hθ+w,wN(0,σ2I),

où :

  • x=(x1,,xN)T est le vecteur des sorties,
  • H (dimension N×p, connue, de rang plein, N>p) porte le modèle : sa colonne l empile les N valeurs de la composante l, (hl[1],,hl[N])T,
  • θRp est le vecteur des paramètres.

Exemples

Le modèle linéaire est fréquemment rencontré en ingénierie. Les exemples suivants montrent la polyvalence de ce modèle.

Estimation d'une composante continue

  • Forme scalaire :
xn=θ0+wn
  • Forme matricielle :
(x1x2xN)=(111)θ0+w

Régression linéaire

  • Forme scalaire :
xn=θ0+θ1n+wn
  • Forme matricielle :
(x1x2x3xN)=(1112131N)(θ0θ1)+w

Régression polynomiale d'ordre L

  • Forme scalaire :
xn=l=0Lθlnl+wn
  • Forme matricielle, illustrée pour L=4 (p=5 colonnes, une par puissance de l'instant, de n0 à n4) ; le passage à un L quelconque ne fait qu'ajouter des colonnes nl de la même manière :
(x1x2x3xN)=(1111112222324133233341NN2N3N4)(θ0θ1θ2θ3θ4)+w

Cette matrice, dont chaque colonne élève les instants à une puissance croissante, se nomme matrice de Vandermonde (np.vander en NumPy). La régression polynomiale est l'illustration principale de cette page : elle reviendra à chaque section.

Estimation des coefficients d'un filtre FIR

  • Forme scalaire, avec s un signal d'entrée connu et la convention sk=0 pour k0 :
xn=l=0Lθlsnl+wn
  • Forme matricielle :
(x1x2xN)=(s100s2s10sNsN1sNL)(θ0θ1θL)+w

Cette matrice H est construite à partir du signal connu s (l'entrée du filtre).

2. Estimation des paramètres

Hypothèses

Pour estimer θ, nous allons considérer que le signal peut être décrit par le modèle suivant :

x=Hθ+w

Nous retenons l'estimateur des moindres carrés qui, lorsque le bruit est Gaussien i.i.d., est équivalent à l'estimateur MLE.

Expression

Proposition, Solution des moindres carrés

θ^=H+x=(HTH)1HTx,

où :

  • H+=(HTH)1HT est la pseudo-inverse de H.
Démonstration

Rappel de dérivation matricielle. Pour aRp constant et A symétrique constante,

θ(aTθ)=a,θ(θTAθ)=2Aθ.

La solution. En développant J(θ)=xHθ2 :

J(θ)=xTx2θTHTx+θTHTHθ.

Annuler le gradient donne

J(θ)=2HTx+2HTHθ=0,

soit les équations normales HTHθ=HTx, d'où la solution θ^=(HTH)1HTx.

HTH est inversible car H est de rang plein et N>p : le système comporte davantage d'équations que d'inconnues.

Notons qu'en pratique l'inverse (HTH)1 ne doit pas être calculée explicitement : l'inversion est coûteuse et potentiellement instable numériquement. Il est préférable d'utiliser les fonctions optimisées np.linalg.lstsq(H, x) ou np.linalg.solve(H.T H, H.T x).

Propriétés

Propriétés

θ^ est sans biais, de covariance σ2(HTH)1. Cette covariance atteint la borne CRLB : θ^ est efficace.

Démonstration

1. Sans biais, covariance σ2(HTH)1. En substituant x=Hθ+w :

θ^=(HTH)1HT(Hθ+w)=θ+(HTH)1HTw.

E[θ^]=θ (le second terme est d'espérance nulle), pour tout θ : l'estimateur est sans biais. Sa covariance vaut

cov(θ^)=(HTH)1HTcov(w)H(HTH)1=σ2(HTH)1.

2. Atteint la CRLB. La log-vraisemblance est (θ)=N2ln(2πσ2)12σ2xHθ2, de hessienne θ2=1σ2HTH. La matrice d'information de Fisher (page Fondations) est donc I(θ)=HTH/σ2, constante : la CRLB correspondante, I(θ)1=σ2(HTH)1, est exactement la covariance établie au point 1. θ^ atteint la borne : c'est un estimateur efficace, de variance minimale parmi les estimateurs sans biais.

3. C'est la solution des moindres carrés. Un ingénieur cherchant, sans formuler aucune hypothèse Gaussienne, le θ qui minimise xHθ2 obtiendrait par calcul direct exactement la même expression (HTH)1HTx.

Interprétation géométrique

Le produit Hθ^ admet une interprétation géométrique : il correspond à la projection orthogonale de x sur le sous-espace engendré par les colonnes de H (span(H)).

Hθ^=Px,

où :

  • P=H(HTH)1HT est le projecteur orthogonal sur span(H) (P2=P, PT=P).

Géométriquement, le résidu xHθ^=(IP)x est orthogonal à span(H) : HT(xHθ^)=HTxHTHθ^=0. Si cette lecture est juste, le vecteur des sorties, sa projection et le résidu doivent former un triangle rectangle, l'angle droit posé sur le sous-espace.

Schéma géométrique : une droite représente span(H), le vecteur x pointe hors de la droite,
            sa projection H theta-hat tombe sur la droite, et le résidu relie les deux à angle droit.

Figure 2.6, Géométrie des moindres carrés : x, sa projection Hθ^ sur span(H), et le résidu xHθ^ (script figures/ch2/03-projection-geometrie.py).

Exemple : régression polynomiale d'ordre 4

Reprenons la régression polynomiale du §1, avec L=4. Une sortie xn suit un polynôme d'ordre 4 de l'instant n, noyé dans un bruit additif Gaussien (σ=1) ; un polynôme du même ordre est ajusté par moindres carrés sur N=25 mesures.

Nuage de points bruités, signal polynomial vrai en pointillés, et courbe de régression
            polynomiale d'ordre 4 ajustée, presque confondue avec le signal vrai.

Figure 2.7, Régression polynomiale d'ordre 4 ajustée par moindres carrés sur N=25 mesures, bruit Gaussien σ=1 (script figures/ch2/03-regression-polynomiale-exemple.py).

Malgré un bruit d'écart-type 1, la régression retrouve fidèlement l'allure du signal : les coefficients estimés, θ^(3,05, 0,33, 0,054, 0,001, 0,0002), restent proches des coefficients vrais θ=(3, 0,4, 0,05, 0, 0,0002).

python
import numpy as np
rng = np.random.default_rng(2026)

N, L = 25, 4
n = np.arange(N) - (N - 1) / 2   # instants centrés : conditionnement de H bien meilleur
H = np.column_stack([n**l for l in range(L + 1)])

theta_star = np.array([3.0, 0.4, -0.05, 0.0, 0.0002])
x = H  theta_star + rng.normal(0.0, 1.0, N)

theta_hat, *_ = np.linalg.lstsq(H, x, rcond=None)
theta_hat
# >>> array([ 3.0479,  0.3298, -0.0543,  0.0008,  0.0002])
python
H = np.vander(n, L + 1, increasing=True)   # équivalent à la boucle ci-dessus, plus concis
theta_hat, *_ = np.linalg.lstsq(H, x, rcond=None)

3. Le modèle sur fonctions de base

En dehors de quelques cas simples, une sortie réelle s'écrit rarement directement sous forme linéaire. Une solution consiste à projeter d'abord l'entrée par une fonction non linéaire connue, puis à rester linéaire dans cet espace projeté. Cette technique augmente la capacité du modèle sans quitter le cadre des moindres carrés.

Notons tn la grandeur en laquelle les composantes sont évaluées et écrivons la composante hl[n] sous la forme hl[n]=φl(tn)φl est une fonction connue et tn l'entrée associée à la n-ième mesure. Pour les signaux du §1, l'entrée est l'instant, tn=n ; mais rien n'impose ni que l'entrée soit le temps, ni que les fonctions soient des puissances. L'entrée peut même être multidimensionnelle, tnRd, notée en gras lorsqu'elle est vectorielle. Les données forment alors des couples (tn,xn), une entrée et la sortie mesurée correspondante, exactement la structure des jeux de données du machine learning.

Hypothèses

Les échantillons reçus peuvent se décomposer sous la forme :

xn=j=0M1θjφj(tn)+wn.

Sous forme matricielle, le modèle reste linéaire :

x=Hθ+w,

où :

  • φ0,,φM1 sont M fonctions connues de l'entrée, les fonctions de base (linear basis functions),
  • H=[φ0    φM1], avec φj=(φj(t1),,φj(tN))T la colonne j.

Chaque φj projette l'entrée sur un axe d'un nouvel espace de représentation, et c'est dans cet espace projeté, non dans l'espace d'origine, que la régression redevient linéaire. En rassemblant les projections dans un vecteur, φ(t)=(φ0(t),,φM1(t))T, le modèle s'écrit d'un trait, xn=φ(tn)Tθ+wn, et la chaîne complète se résume en un schéma.

Schéma en blocs : l'entrée t_n traverse un bloc phi qui la projette en dimension M, le vecteur
            obtenu est multiplié scalairement par le vecteur des paramètres theta, le bruit w_n s'ajoute et
            la sortie x_n en résulte.

Figure 2.8, Chaîne du modèle sur fonctions de base : l'entrée tn est projetée en dimension M par φ, le produit scalaire avec θ pondère et somme ces projections, et l'ajout du bruit wn produit la sortie xn (source figures/ch2/03-schema-fonctions-base.tex).

Exemples : trois familles de bases

À titre d'exemple, les modèles suivants montrent différents choix de fonctions de base.

Base polynomiale
φ(tn)=(1tntnM1)
  • la composante continue, la droite et la régression polynomiale du §1 en sont des cas particuliers (avec tn=n).
Base de Fourier

Les fonctions trigonométriques forment la deuxième famille classique. Le cas le plus simple est l'estimation des amplitudes d'une somme de sinusoïdes de pulsations ωk connues :

φ(tn)=(cos(ω1tn)cos(ωM/2tn)sin(ω1tn)sin(ωM/2tn))
Base gaussienne
φj(t)=exp((tcj)222),

où :

  • cj est le centre de la j-ième fonction de base,
  • est leur largeur, commune.

Par exemple, M=9 centres régulièrement espacés sur [1,1] (cj=1+0,25j) et une largeur =0,25 pavent l'intervalle : chaque φj ne « voit » que les entrées proches de son centre. Contrairement aux bases polynomiale et de Fourier, dont chaque fonction agit sur tout l'axe, la base gaussienne est locale : un coefficient θj ne façonne la courbe qu'au voisinage de cj. Trois représentants de chaque famille, tracés côte à côte, rendent cette différence visible.

Trois panneaux : puissances x, x², x³ ; fonctions trigonométriques cos(πx), sin(πx), cos(2πx) ;
            trois bosses gaussiennes centrées en -0,75, 0 et 0,75. Chaque panneau montre trois courbes
            distinguées par leur style de trait.

Figure 2.9, Trois représentants de chaque famille de fonctions de base sur [1,1] : polynomiale (x, x2, x3), Fourier (cosπx, sinπx, cos2πx), gaussienne (centres 0,75, 0, 0,75, largeur =0,25) (script figures/ch2/03-fonctions-de-base.py).

Expression

Proposition, Solution des moindres carrés

θ^=H+x=G1HTx,

où :

  • G=HTH est la matrice de Gram des fonctions de base, de dimension M×M. Son terme (j,j) est le produit scalaire de deux fonctions de base échantillonnées sur les entrées :
Gj,j=φjTφj=n=1Nφj(tn)φj(tn).

La matrice de Gram est symétrique et positive. Elle n'est inversible que si les fonctions de base sont linéairement indépendantes une fois échantillonnées sur les N entrées, c'est-à-dire si aucune colonne de H n'est combinaison des autres. Deux fonctions de base presque identiques sur l'échantillon rendent deux colonnes de H presque colinéaires, G presque singulière, et son inversion instable. C'est exactement ce qui s'observe ci-dessous, lorsque le nombre de fonctions de base devient trop grand.

Surapprentissage

Les fonctions de base rendent l'enrichissement du modèle trivial : une fonction de base de plus est une colonne de plus dans H, une ligne de code avec np.vander. Prenons N=18 mesures d'un cosinus bruité, xn=cos(2π0,6tn)+wn avec σ=0,3 et des entrées tn régulièrement espacées dans [1,1], et ajustons des polynômes d'ordre L croissant. Plus de fonctions de base, est-ce toujours mieux ?

Quatre panneaux montrant le même nuage de 18 points bruités autour d'un cosinus, ajusté par un
            polynôme d'ordre 1, 4, 8 puis 12 : la droite passe à côté, l'ordre 4 suit le cosinus, l'ordre 12
            oscille violemment entre les points.

Figure 2.10, Régression polynomiale d'ordre L{1,4,8,12} sur N=18 mesures d'un cosinus bruité (σ=0,3), avec l'écart RMSE au signal vrai de chaque ajustement (script figures/ch2/03-surapprentissage-ordre.py).

Lorsque nous augmentons l'ordre, la covariance σ2(HTH)1 du §2 augmente à mesure que les colonnes de H se multiplient et se ressemblent : le conditionnement de H passe de 1,7 à L=1 à 4104 à L=12. Les coefficients estimés explosent en conséquence : maxl|θ^l|3000 à L=12, contre 6 à L=4. L'estimateur reste sans biais mais sa variance est devenue telle que chaque tirage de bruit produit un polynôme entièrement différent.

Confusion classique

« Plus de paramètres, donc un meilleur modèle. » Non : plus de paramètres améliore toujours l'ajustement aux données observées, jamais nécessairement l'écart au signal vrai. Le premier se mesure sur les points déjà acquis, le second sur ce que le modèle prétend prédire ; la figure 2.10 les montre évoluer en sens contraires dès L>4. Juger un modèle sur son erreur d'ajustement seule revient à noter un étudiant sur des annales qu'il a apprises par cœur.

4. La régularisation

Principe

Le polynôme de degré 12 du §3 pose un problème : p=13 paramètres pour N=18 points, des coefficients à 3000 et une courbe qui oscille entre les mesures. Comment retenir les coefficients sans revenir à la main à un ordre plus faible ? La solution est l'estimateur du maximum a posteriori : munir θ d'un prior p(θ) qui pénalise les coefficients invraisemblables, et minimiser JMAP.

Expression

Pour le modèle linéaire à bruit Gaussien blanc, le terme d'attache aux données de JMAP est la loss des moindres carrés du §2, et l'estimateur prend une forme spécifique.

Régularisation

L'estimateur MAP minimise la loss des données augmentée d'un terme de régularisation :

θ^MAP=argminθ JMAP(θ),

JMAP(θ)=xHθ2+R(θ),

et où R(θ)=lnp(θ) est le terme de régularisation, imposé par le prior.

Exemple de prior

Le choix du prior est un choix de régularisation, exactement comme le choix du bruit était un choix de loss (§3 de la page précédente). Trois priors classiques, i.i.d. sur les composantes de θ, donnent trois régularisations très utilisées :

Prior sur θiJMAP(θ)NomEffet
Gaussien N(0,σ02)xHθ2+λθ22Ridge (L2)rétrécit tous les coefficients, solution analytique
Laplace(0,b)xHθ2+λθ1LASSO (L1)annule certains coefficients, parcimonie, pas de solution analytique
aucune loi propre (heuristique)xHθ2+λθ0Sélection de sous-ensemble (L0)parcimonie exacte, mais combinatoire (2p sous-ensembles à tester)

Le cas Gaussien admet une solution fermée : c'est la régression ridge.

Proposition, Solution de la régression ridge

θ^ridge=(HTH+λI)1HTx,

où :

  • λ>0 est le poids de régularisation, hérité du prior (λ=σ2/σ02).
Démonstration

En annulant le gradient de JMAP(θ)=xHθ2+λθ22 avec les règles de dérivation matricielle du §2 :

JMAP(θ)=2HTx+2HTHθ+2λθ=0,

d'où la solution θ^ridge=(HTH+λI)1HTx.

La matrice HTH+λI est toujours inversible pour λ>0, même quand HTH est singulière ou mal conditionnée : la régularisation stabilise aussi le calcul numérique. ∎

Le prior Laplace produit le même rétrécissement, mais annule exactement certains coefficients plutôt que de les réduire : c'est la parcimonie, exploitée par le LASSO pour sélectionner des variables. Le prix en est la perte de la solution analytique : la minimisation devient numérique, comme au §6 de la page précédente. Le critère idéal, pénaliser θ0, le nombre de coefficients non nuls, est combinatoire : il faudrait essayer les 2p sous-ensembles de coefficients possibles.

Exemple : régression polynomiale

Reprenons exactement le polynôme de degré 12 du §3 (p=13 paramètres, N=18 points du cosinus bruité) et faisons varier λ, en partant de λ=0, l'absence de régularisation. Si le prior Gaussien joue son rôle, un λ bien choisi doit retenir les coefficients sans écraser le signal.

Quatre panneaux : le polynôme de degré 12 ajusté sur le cosinus bruité pour lambda = 0
            (oscillations violentes), 10 puissance -4 (cosinus retrouvé), 10 puissance -2 (courbe lissée)
            et 1 (courbe presque plate).

Figure 2.11, Régression ridge de degré 12 sur les N=18 mesures de la figure 2.10, pour λ{0, 104, 102, 1} (script figures/ch2/03-ridge-lambda.py).

À λ=0, les coefficients à 3000 du §3 sont présents et la courbe oscille entre les mesures : c'est le panneau L=12 de la figure 2.10. Un λ petit (104) suffit à ramener ces coefficients à une échelle raisonnable (9) et retrouve le cosinus sous-jacent. Un λ trop grand (1) écrase le signal vers une courbe quasi plate : le biais domine, c'est le sous-apprentissage.

Le compromis se lit numériquement, pas seulement visuellement : l'écart au signal vrai (RMSE) vaut 0,43 à λ=0, descend à 0,09 à λ=104, avant de remonter à 0,12 (λ=102) puis 0,41 (λ=1), la même courbe en U que celle du compromis biais-variance de la MSE (page Fondations), ici visible directement sur l'allure de la courbe ajustée.