Algorisme de Levenberg-Marquardt

mètode per resoldre problemes de mínims quadrats no lineals

En matemàtiques i informàtica, l'algorisme de Levenberg-Marquardt (LMA o simplement LM), també conegut com a mètode de mínims quadrats amortits (DLS), s'utilitza per resoldre problemes de mínims quadrats no lineals. Aquests problemes de minimització sorgeixen especialment en l'ajustament de corbes de mínims quadrats. El LMA interpola entre l'algorisme de Gauss-Newton (GNA) i el mètode de descens del gradient. El LMA és més robust que el GNA, la qual cosa vol dir que en molts casos troba una solució encara que comenci molt lluny del mínim final. Per a funcions ben educades i paràmetres inicials raonables, el LMA tendeix a ser més lent que el GNA. LMA també es pot veure com Gauss-Newton mitjançant un enfocament de regió de confiança.[1]

L'algoritme va ser publicat per primera vegada el 1944 per Kenneth Levenberg, mentre treballava a l'Arsenal de l'exèrcit de Frankford. Va ser redescoberta el 1963 per Donald Marquardt, que va treballar com a estadístic a DuPont, i independentment per Girard, Wynne i Morrison.

El LMA s'utilitza en moltes aplicacions de programari per resoldre problemes genèrics d'ajust de corbes. Mitjançant l'ús de l'algorisme de Gauss-Newton, sovint convergeix més ràpidament que els mètodes de primer ordre.[2] No obstant això, com altres algorismes d'optimització iterativa, el LMA només troba un mínim local, que no és necessàriament el mínim global.[3]

El problema

modifica

L'aplicació principal de l'algorisme de Levenberg-Marquardt és en el problema d'ajustament de corbes de mínims quadrats: donat un conjunt de   parelles empíriques   de variables independents i dependents, troba els paràmetres β de la corba del model   de manera que la suma dels quadrats de les desviacions   es minimitza: [4]

  que se suposa que no és buit.

La solució

modifica

Com altres algorismes de minimització numèrica, l'algoritme de Levenberg-Marquardt és un procediment iteratiu. Per iniciar una minimització, l'usuari ha de proporcionar una estimació inicial del vector de paràmetre β. En casos amb només un mínim, un estàndard no informat endevina com   funcionarà bé; en els casos amb mínims múltiples, l'algoritme convergeix al mínim global només si la conjectura inicial ja és una mica propera a la solució final.

 
Poor fit
 
Encaix millor

Exemple

modifica

En aquest exemple intentem ajustar la funció   utilitzant l'algoritme Levenberg-Marquardt implementat a GNU Octave com a funció leasqr. Els gràfics mostren progressivament un millor ajust dels paràmetres  ,   utilitzat en la corba inicial. Només quan es trien els paràmetres de l'últim gràfic més propers a l'original, les corbes s'ajusten exactament. Aquesta equació és un exemple de condicions inicials molt sensibles per a l'algorisme de Levenberg-Marquardt. Una de les raons d'aquesta sensibilitat és l'existència de múltiples mínims: la funció   té mínims al valor del paràmetre   i  .

 
El millor ajust

Referències

modifica
  1. «The Levenberg-Marquardt Algorithm» (en anglès). [Consulta: 12 maig 2024].
  2. Wiliamowski, Bogdan; Yu, Hao IEEE Transactions on Neural Networks and Learning Systems, 21, 6, 6-2010.
  3. «Levenberg-Marquardt Algorithm» (en anglès). [Consulta: 12 maig 2024].
  4. «Solve nonlinear curve-fitting (data-fitting) problems in least-squares sense - MATLAB lsqcurvefit» (en anglès). [Consulta: 12 maig 2024].