Algorithme de Gauss-Newton - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Remarques

L'hypothèse mn est nécessaire, car dans le cas contraire la matrice \mathbf{J_r^T  J_r} serait non inversible et les équations normales ne pourraient être résolues.

L'algorithme de Gauss–Newton peut être dérivé par approximation linéaire du vecteur de fonctions ri. En utilisant le Théorème de Taylor, on peut écrire qu'à chaque itération

\mathbf{r}(\boldsymbol \beta_0)\approx \mathbf{r}(\boldsymbol \beta^s)+\mathbf{J_r}(\boldsymbol \beta^s)\delta\boldsymbol\beta

avec \delta\boldsymbol \beta=\boldsymbol \beta_0-\boldsymbol \beta^s ; notons que \boldsymbol\beta_0 représente la vraie valeur des paramètres pour laquelle les résidus \mathbf{r}(\boldsymbol \beta_0) s'annulent. Trouver l'incrément \delta\boldsymbol \beta revient à résoudre

-\mathbf{r}(\boldsymbol \beta^s) \approx \mathbf{J_r}(\boldsymbol \beta^s)\delta\boldsymbol\beta

ce qui peut se faire par la technique classique de régression linéaire et qui fournit exactement les équations normales.

Les équations normales sont un système de m équations linéaires d'inconnu  \delta \boldsymbol\beta . Ce système peut se résoudre en une étape, en utilisant la factorisation de Cholesky ou, encore mieux, la décomposition QR de Jr. Pour de grands systèmes, une méthode itérative telle que la méthode du gradient conjugué peut être plus efficace. S'il existe une dépendance linéaire entre les colonnes Jr, la méthode échouera car \mathbf{J_r^T  J_r} deviendra singulier.

Dérivation à partir de la méthode de Newton

Dans ce qui suit, l'algorithme de Gauss–Newton sera tiré de l'algorithme d'optimisation de Newton; par conséquent, la vitesse de convergence sera au plus quadratique.

La relation de récurrence de la méthode de Newton pour minimiser une fonction S de paramètres \boldsymbol\beta , est

 \boldsymbol\beta^{s+1} = \boldsymbol\beta^s - \mathbf H^{-1} \mathbf g \,

g représente le gradient de S et H sa matrice hessienne. Puisque  S = \sum_{i=1}^m r_i^2 , le gradient est

g_j=2\sum_{i=1}^m r_i\frac{\partial r_i}{\partial \beta_j}.

Les éléments de la Hessienne sont calculés en dérivant les éléments du gradient, gj, par rapport à βk

H_{jk}=2\sum_{i=1}^m \left(\frac{\partial r_i}{\partial \beta_j}\frac{\partial r_i}{\partial \beta_k}+r_i\frac{\partial^2 r_i}{\partial \beta_j \partial \beta_k} \right).

La méthode de Gauss–Newton est obtenue en ignorant les dérivées d'ordre supérieur à deux. La Hessienne est approchée par

H_{jk}\approx 2\sum_{i=1}^m J_{ij}J_{ik}

J_{ij}=\frac{\partial r_i}{\partial \beta_j} est l'élément (i,j) de la jacobienne \mathbf{J_r} . Le gradient et la hessienne approchée sont alors

\mathbf g=2\mathbf{J_r^Tr, \quad H \approx 2J_r^TJ_r}.\,

Ces expressions sont replacées dans la relation de récurrence initiale afin d'obtenir la relation récursive

 \boldsymbol{\beta}^{s+1} = \boldsymbol\beta^s+\delta\boldsymbol\beta;\ \delta\boldsymbol\beta= - \mathbf{\left( J_r^T J_r \right)^{-1} J_r^T r}.

La convergence de la méthode n'est pas toujours garantie. L'approximation

\left|r_i\frac{\partial^2 r_i}{\partial \beta_j \partial \beta_k}\right| \ll \left|\frac{\partial r_i}{\partial \beta_j}\frac{\partial r_i}{\partial \beta_k}\right|

doit être vraie pour pouvoir ignorer les dérivées du second ordre. Cette approximation peut être valide dans deux cas, pour lesquels on peut s'attendre à obtenir la convergence:

  1. Les valeurs de la fonction ri sont petites en magnitude, au moins près du minimum;
  2. Les fonctions sont seulement faiblement non-linéaires, si bien que \frac{\partial^2 r_i}{\partial \beta_j \partial \beta_k} est relativement petit en magnitude.

Propriété de convergence

On peut démontrer que l'incrément δβ est une direction de descente pour S, et que si l'algorithme converge, alors la limite est un point stationnaire pour la somme des carrés S. Toutefois, la convergence n'est pas garantie, pas plus qu'une convergence locale contrairement à la méthode de Newton.

La vitesse de convergence de l'algorithme de Gauss–Newton peut approcher la vitesse quadratique. L'algorithme peut converger lentement voire ne pas converger du tout si le point de départ de l'algorithme est trop loin du minimum ou si la matrice \mathbf{J_r^T  J_r} est mal conditionnée.

L'algorithme peut donc échouer à converger. Par exemple, le problème avec m = 2 équations et n = 1 variable, donné par

 \begin{align} r_1(\beta) &= \beta + 1 \\ r_2(\beta) &= \lambda \beta^2 + \beta - 1. \end{align}

L'optimum se situe en β = 0. Si λ = 0 alors le problème est en fait linéaire et la méthode trouve la solution en une seule itération. Si |λ| < 1, alors la méthode converge linéairement et les erreurs décroissent avec un facteur |λ| à chaque itération. Cependant, si |λ| > 1, alors la méthode ne converge même pas localement.

Page générée en 0.435 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise