Algorithme de Levenberg-Marquardt
Dans des mathématiques et calcul de , l'algorithme de Levenberg-Marquardt de (ou LMA ) fournit une solution numérique du au problème de réduire au minimum une fonction, généralement non linéaire, au-dessus d'un espace des paramètres de la fonction. Ces problèmes de minimisation surgissent particulièrement dans l'ajustement de courbe des moindres carrés de du et la programmation non linéaire .
Le LMA interpole entre l'algorithme (GNA) de Gauss-Newton de et la méthode de la descente de gradient de . Le LMA est plus robuste que le GNA, ainsi il signifie que dans beaucoup de cas il trouve une solution même si il commence très loin outre du minimum final. D'une part, pour des fonctions polies et des paramètres commençants raisonnables, le LMA tend à être un peu plus lent que le GNA.
Le LMA est un algorithme très populaire de courbe-ajustage de précision ; la plupart de logiciel avec des possibilités génériques de courbe-ajustage de précision fournit une exécution de lui.
Le problème
Son application principale est dans le problème des moindres carrés d'ajustement de courbe : donné un ensemble de paires de données empiriques ( i de de i , de y de de t ), optimiser le p de paramètres du modèle f ( t de courbe | p ) de sorte que la somme des places des déviations devient minimal. (Mot d'A sur la notation : nous évitons le X de lettre parce qu'il est employé parfois au lieu de notre p , parfois au lieu de notre t ). Comme d'autres algorithmes numériques de minimisation, l'algorithme de Levenberg-Marquardt est un procédé itératif du . Pour commencer une minimisation, l'utilisateur doit fournir une première conjecture pour le p de vecteur de paramètre. Dans beaucoup de cas, une conjecture standard non informée comme le p T= (1.1,…, 1) fonctionneront très bien ; dans d'autres cas, l'algorithme converge seulement si la conjecture initiale est déjà légèrement près de la solution finale. Dans chaque étape d'itération, le p de vecteur de paramètre est remplacé par un nouveau   du p d'évaluation ; +  ; q . Pour déterminer le q , le i là où le J est le Jacobian du f au p . À un minimum de la somme de places , le gradient de en ce qui concerne le q est 0. différenciant la place du côté droit de l'équation au-dessus de et l'établissement à zéro mène à : de quel q peut être obtenu en inversant le J du J T. Le cachet principal du LMA est de remplacer cette équation par « une version atténuée » là où le I est la matrice d'identité, donnant comme le q d'incrément au prévu p de vecteur de paramètre Le &lambda (non négatif) de facteur d'atténuation ; est ajusté à chaque itération. Si la réduction de S est rapide une plus petite valeur peut être employée apportant l'algorithme plus près du GNA, tandis que si une itération donne la réduction insuffisante du &lambda résiduel ; peut être augmenté donnant une étape plus près de la direction de descente de gradient. Un facteur d'atténuation semblable apparaît dans la régularisation de Tikhonov de , qui est employée pour résoudre les problèmes Malade-posés par linéaire , aussi bien que dans la régression de Ridge de , une technique de l'évaluation dans les statistiques . Si le calculé q de longueur d'étape, ou la réduction de somme de réduction de places du dernier p de vecteur de paramètre + q , chute au-dessous des limites prédéfinies, l'itération est avorté et le dernier p de vecteur de paramètre est considéré la solution. Les valeurs absolues de n'importe quel choix dépend de à quel point-ont mesuré le problème initial est. Marquardt a recommandé de commencer par un &lambda de valeur ; 0 et un &nu de facteur ; >1. Au commencement établissement du &lambda ; =&lambda ; 0 et calcul de la somme résiduelle de de places S ( p ) après une étape du point de départ avec le facteur d'atténuation de &lambda ; =&lambda ; 0 et deuxièmement avec le &lambda ; /&nu ;. Si les deux sont plus mauvais que le point initial alors l'atténuation est augmenté par multiplication successive par &nu ; jusqu'à un meilleur point est trouvé avec un nouveau facteur d'atténuation de &lambda ; &nu ; k pour un certain k . Si utilisation du &lambda de facteur d'atténuation ; /&nu ; des résultats dans une réduction de résiduel carré alors ceci est pris comme nouvelle valeur de &lambda ; (et le nouvel endroit optimum est pris en tant que cela obtenu avec ce facteur d'atténuation) et le processus continue ; si employant le &lambda ; /&nu ; eu un plus mauvais résiduel, mais en employant le &lambda ; eu comme conséquence un meilleur &lambda de résiduel puis ; est parti sans changement et le nouvel optimum est pris pendant que la valeur obtenue avec le &lambda ; en tant que facteur d'atténuation. La solution
Choix d'atténuer le paramètre
De divers arguments plus ou moins heuristiques ont été avancés pour le meilleur choix pour le &lambda de atténuation de paramètre ;. Les arguments théoriques existent montrant pourquoi certains de ces choix ont garanti la convergence locale de l'algorithme ; cependant ces choix peuvent faire la convergence globale de l'algorithme souffrir des propriétés indésirables de la raide-descente , en particulier convergence très lente de près de l'optimum. Exemple
Dans cet exemple nous essayons d'adapter le using l'algorithme de de Levenberg-Marquardt (Lev-Mars) mis en application dedans Octave de GNU de comme fonction du leasqr de . 3 l'ajustage de précision progressivement meilleur d'exposition de la figue 1.3 de graphiques pour le de paramètres un =100, le b =102 a employé dans la courbe initiale. Seulement quand les paramètres dans la figue 3 sont choisis le plus étroitement à l'original, sont l'ajustement de courbes exactement. Cette équation est un exemple des conditions initiales très sensibles pour l'algorithme de Lev-Mars.
Random links: Mölln, Schleswig-Holstein | Banlieue noire de Grant, comté de maçon, Michigan | Lathrop, Missouri | Comte de Desart | J.C. Stobart | Algoritmo_de_Levenberg-Marquardt