• Aucun résultat trouvé

3 Résolution du problème inverse

3.3 Problèmes inverses non-linéaires

Lorsque le problème inverse est non-linéaire, les choses se compliquent considérablement puisque la solution ˆβ ne peut plus être obtenue de manière explicite et le minimum doit être cherché à l’aide d’un algorithme d’optimisation.

Il est difficilement envisageable de créer une classification unique permettant de « mettre de l’ordre » dans tous les algorithmes existant, tant le sujet est vaste et étant donné les nom-breux critères permettant de classer les algorithmes. Cependant, il existe quelques classifications

communément admises de ces algorithmes. On distingue ainsi :

Les algorithmes de recherche locale et de recherche globale : Les algorithmes de

re-cherche locale convergent vers un minimum local à partir d’un point d’initialisation alors que les algorithmes de recherche globale sont théoriquement capable de trouver le mini-mum global d’une fonction possédant des minimini-mums locaux.

Les algorithmes d’ordre 0, d’ordre 1 (et supérieur) : Les algorithmes d’ordre 1 calculent

le gradient de la fonction pour orienter la recherche vers le minimum. Les algorithmes d’ordre 0 n’utilisent que la valeur de la fonctionnelle.

Les algorithmes stochastiques et les algorithmes déterministes : Les algorithmes

dé-terministes donnent toujours le même résultat lorsque les paramètres d’entrées sont iden-tiques alors que les algorithmes stochasiden-tiques s’appuient sur le hasard pour trouver le minimum de la fonction. D’une exécution à l’autre, le résultat est donc différent.

Les algorithmes à base de population ou à individu unique : Les algorithmes à

indi-vidu unique comme les algorithmes de gradient ou de Simplex [19, 20], ne manipulent qu’une seule solution (on parle aussi de candidat) qu’ils améliorent de manière itérative. Dans les algorithmes à base de populations, comme les Algorithmes Génétiques et les Es-saims Particulaires (voir §3 p238), on manipule un ensemble de candidats simultanément. Les algorithmes dits stochastiques ou globaux, présentés par la suite, sont aussi appelés « métaheuristiques » (voir §3 p238). Cependant, sur les problèmes inverses que nous avons traités, ces algorithmes ne sont pas adaptés. Ils seront présentés plus en détails dans le chapitre traitant de la conception optimale d’expérience, c’est à dire là où leur utilisation est davantage justifiée. D’expérience, ils sont effectivement beaucoup moins performants que des algorithmes de type gradient pour les problèmes d’estimation de paramètres.

3.3.1 Les algorithmes d’ordre 1

En estimation de paramètres, les algorithmes les plus souvent utilisés jusqu’à maintenant sont les algorithmes de type gradient. Il s’agit d’algorithmes de recherche locale, déterministes, itératifs et d’ordre 1. Ils s’appuient sur le gradient de la fonction objectif J(β) pour orienter la recherche vers le minimum. Le gradient d’une fonction donne en effet la direction de plus grande pente. Ainsi, la direction opposée au gradient correspond à la direction où la fonctionnelle diminue (localement) le plus vite. L’algorithme cherche alors dans cette direction le minimum de la fonction puis calcule à nouveau le gradient pour déterminer la nouvelle direction de recherche. Le processus est donc itératif et suit la relation de récurrence suivante :

βk+1 = βk

Avec :

βk Estimation des paramètres β à l’itération k.

µk Pas de déplacement dans la direction opposée au gradient (µk >0) ∇J Gradient de J.

.

Remarque sur l’initialisation de ces algorithmes

L’inconvénient de ces algorithmes est leur sensibilité à l’initialisation β0. En effet, lorsque la fonctionnelle contient plusieurs minimums locaux, l’algorithme peut converger vers un minimum local si l’initialisation l’y conduit. Toutefois, cela est véritablement un problème si on ne peut pas le détecter facilement. Considérons un problème d’estimation de paramètres pour lequel la fonction objectif associée à l’estimateur a plusieurs minimums locaux. Dans la plupart des cas, une convergence prématurée vers une mauvaise solution est immédiatement visible puisque les sorties du modèle ne devraient pas coïncider avec les mesures. Si elles coïncident alors que la solution est visiblement fausse, cela signifie que le problème est mal posé et possède plusieurs solutions. Cependant, on peut anticiper en général ces situations lors de l’analyse des sensibilités (Voir §5 p52).

3.3.2 Les algorithmes d’ordre supérieur

Les algorithmes de gradient d’ordre 1, dits algorithmes de plus grande pente, n’utilisent que le gradient pour minimiser la fonction objectif. Dans de nombreux cas, l’utilisation seule du gradient requiert un nombre important d’itérations pour converger vers un minimum, c’est pourquoi ces algorithmes sont de moins en moins utilisés aujourd’hui.

Les algorithmes d’ordre 2 sont des algorithmes qui utilisent non seulement le gradient mais aussi la dérivée seconde, le Hessien, de J(β). Ainsi, dans le cas d’une fonction quadratique, un algorithme d’ordre 2 est capable de trouver le minimum en une seule itération (voir exemple). Les fonctions que l’on traite ne sont pas quadratiques mais elles tendent à le devenir en s’appro-chant de plus en plus du minimum. Alors que les algorithmes d’ordre 1 sont lents au voisinage de la solution, les algorithmes d’ordre supérieur convergent très rapidement puisque le parabo-loïde osculateur « colle » de mieux en mieux à la solution. Les algorithmes d’ordre 2 sont en effet capables de déterminer le minimum d’une fonction quadratique en une seule itération. La relation de récurrence entre les paramètres β à l’itération k et à l’itération k + 1 est de la forme suivante : βk+1= βk − µkAkdk (1.76) Avec

βk Estimation des paramètres β à l’itération k.

µk Pas de déplacement dans la direction opposée au gradient. Ak Matrice déterminée par l’algorithme.

dk Direction de descente déterminée par l’algorithme.

.

De plus, au voisinage de la solution, l’algorithme ne calcule pas le Hessien, puisque cela serait trop coûteux en temps de calcul, mais il utilise une approximation. Ces algorithmes sont ainsi

qualifiés de « pseudo-ordre 2 ». Il existe plusieurs méthodes pour effectuer cette approximation. L’algorithme de « Levenberg-Marquardt » exploite les sensibilités du modèle par rapport à β pour l’estimer. L’algorithme de Levenberg-Marquardt est ainsi dédié aux problèmes de type moindres-carrés, où l’on compare des sorties d’un modèle et des mesures. Il n’est pas applicable dans le cas général à une fonction J(β) car il s’appuie sur les sensibilités du modèle pour ap-proximer le Hessien. Les sensibilités du modèle n’ont un sens que si on peut définir les sorties du modèle. On peut également citer les méthodes BFGS et DFP [21] qui utilisent une approxi-mation du Hessien, basées elles, sur les évaluations du gradient des itérations précédentes.

Exemple

Soit β0la position actuelle. Si J(β) est quadratique, la connaissance de ∂J

∂β0)et de 2 J

∂β20)suffit pour identifier directement la position du minimum ˆβ. Soit A la matrice nβ× nβassociée et C une constante, on a : J(β0) = ( ˆβ − β0)TA( ˆβ − β0) + C ∂J ∂β0) = −2AT( ˆβ − β0) = −2A( ˆβ − β0) 2J ∂β20) = 2A

Les deux dernières relations permettent d’exprimer ˆβ − β :

ˆ β − β0= −  2J ∂β2 −1 ∂J ∂β =⇒ β = βˆ 0−  2J ∂β2 −1 ∂J ∂β

On obtient donc la solution ˆβ en fonction de la position actuelle, du Hessien et du gradient.