Algoritme de Levenberg-Marquardt
En matemàtiques i computació, el algoritme de Levenberg-Marquardt (LMA o simplement LM), també conegut com el método de mínims quadrats amortiguados (DLS), s'utilisa per a resoldre problemes de mínims quadrats no llineals. Estos problemes de minimisació sorgixen especialment en l'ajust de curves de mínims quadrats.
El LMA s'usa en moltes aplicacions de software per a resoldre problemes genèrics d'ajust de curves. No obstant, com ocorre en molts algoritmes d'ajust, el LMA solament troba un mínim local, que no és necessàriament el mínim global. El LMA interpola entre l'algoritme de Gauss-Newton (GNA) i el método de descens de gradient. El LMA és més robust que el GNA, lo que significa que en molts casos troba una solució inclús si comença molt llunt del mínim final. Per a funcions de bon comportament i paràmetros d'inici raonables, el LMA tendix a ser una miqueta més llent que el GNA. El LMA també es pot vore com Gauss-Newton utilisant un enfocament de regió de confiança.
L'algoritme va ser publicat per primera volta en 1944 per Kenneth Levenberg,[1] mentres treballava en l'Atarassana de l'Eixèrcit de Frankford. Va ser redescubierto en 1963 per Donald Marquardt,[2] qui va treballar com estadístic en DuPont, i independentment per Girard[3] Wynne[4] i Morrison.[5]
El problema
[editar | editar còdic]L'aplicació principal de l'algoritme de Levenberg-Marquardt es troba en el problema d'ajust de curves de mínims quadrats: donat un conjunt de parells de senyes empíriques ( x i , i i ) de variables independents i dependents, trobe els paràmetros β de la curva del modele f ( x , β ) de modo que la suma dels quadrats de les desviacions S ( β ) es minimise:
- que se supon que no està buit.
La solució
[editar | editar còdic]De la mateixa manera que atres algoritmes de minimisació numèrica, l'algoritme de Levenberg-Marquardt és un procediment iterativo. Per a iniciar una minimisació, l'usuari deu proporcionar una estimació inicial del vector de paràmetros β. En els casos en solament un mínim, una conjectura estàndar no informada com β T = (1, 1, ..., 1) funcionarà be; en els casos en múltiples mínims, l'algoritme convergix al mínim global solament si l'estimació inicial ya és alguna cosa propenca a la solució final.
En cada pas de iteración, el vector paràmetro β es reemplaça per una nova estimació β + δ. Per a determinar δ , la funció s'aproxima per la seua linealización:
a on
és el gradient (fila-vector en este cas) de f sobre β .
La suma de desviacions quadrades té el seu mínim en un gradient de zero sobre β . L'anterior aproximació de primer orde de dona
o en notació vectorial,
Prenent la derivada de sobre δ i establir el resultat a zero dona
a on és la matriu jacobiana, la fila de la qual i és igual a , i a on i són vectores en i-component i respectivament. Est és un conjunt d'equacions llineals, que es poden resoldre para δ .
La contribució de Levenberg és reemplaçar esta equació per una "versió amortiguada":
a on I és la matriu d'identitat, donant com a increment δ al vector de paràmetros estimat β.
El factor de amortiguamiento (no negatiu) λ s'ajusta en cada iteración. Si la reducció de S és ràpida, es pot usar un valor més menut, acostant l'algoritme a l'algoritme de Gauss-Newton, mentres que si una iteración produïx una reducció insuficient del residual, λ pot aumentar-se, donant un pas més prop del descens del gradient direcció. Tinga en conte que el gradient de S sobre β és igual a . Per lo tant, per a valors grans de λ, el pas es prendrà aproximadament en la direcció del gradient. Si la llongitut del pas calculat δ o la reducció de la suma de quadrats de l'últim vector de paràmetros β + δ cau per baix dels llímits predefinits, la iteración es deté, i l'últim vector de paràmetros β es considera la solució.
Si el valor del factor de amortiguamiento λ és gran en relació en la norma de JTJ, no és necessari resoldre el sistema en matriu JTJ + λI , ya que esta matriu es pot aproximar per mig de λI. En este cas l'algoritme realisa una actualisació en la direcció del gradient, en un pas menut:
R. Fletcher va proporcionar l'idea de que podem escalar cada component del gradient segons la curvatura, de modo que hi haja un moviment més gran a lo llarc de les direccions a on el gradient és més menut. Açò evita la convergència llenta en la direcció del gradient menut. Per lo tant, Fletcher en el seu artícul de 1971 "Una subrutina de Marquardt modificada per a mínims quadrats no llineals", va reemplaçar la matriu d'identitat I en la matriu diagonal que consistix en els elements diagonals de JTJ, lo que fa que l'escala de la solució siga invariante:
Un factor de amortiguación similar apareix en la regularisació de Tikhonov, que s'utilisa per a resoldre problemes llineals mal plantejats, aixina com en la regressió de crestes, una tècnica d'estimació en estadística.
Elecció del paràmetro de amortiguación
[editar | editar còdic]S'han presentat varis arguments més o menys heurístics per a la millor opció per al paràmetro de amortiguación λ. Existixen arguments teòrics que mostren per qué algunes d'estes opcions garantisen la convergència local de l'algoritme; no obstant, estes eleccions poden fer que la convergència global de l'algoritme sofrixca de les propietats indesijables del descens més pronunciat, en particular, una convergència molt llenta prop de l'òptim.
Els valors absoluts de qualsevol elecció depenen de quina tan escalada estiga el problema inicial. Marquardt va recomanar començar en un valor λ 0 i un factor ν>1. Configurant inicialment λ = λ0 i calculant la suma residual de quadrats S (β) despuix d'un pas des del punt d'inici en el factor de amortiguamiento de λ = λ0 i en segon lloc en λ0/ν. Si abdós d'estos són pijors que el punt inicial, llavors la amortiguación s'incrementa per multiplicació successiva per ν fins que es troba un punt millor en un nou factor de amortiguación de λ0νk per a alguns k .
Si l'us del factor de amortiguación λ / ν dona com resultat una reducció en el residu al quadrat, açò es pren com el nou valor de λ (i la nova ubicació òptima es pren com l'obtinguda en este factor de amortiguación) i el procés continua; si l'us de λ/ν va resultar en un pijor residu, pero l'us de λ va resultar en un millor residual, llavors λ es manté sense canvis i el nou òptim es pren com el valor obtingut en λ com a factor de amortiguamiento.
Vore també
[editar | editar còdic]- Regió de confiança
- Método Nelder – Pixeu (també conegut com simplex)
- Les variants de l'algoritme de Levenberg-Marquardt també s'han utilisat per a resoldre sistemes d'equacions no llineals.[6]
Referències
[editar | editar còdic]- ↑ Quarterly of Applied Mathematics.2(2)
- 164–168.ISSN 0033-569X.doi:10.1090/qam/10666.
- ↑ Journal of the Society for Industrial and Applied Mathematics.11(2)
- 431–441.ISSN 0368-4245.doi:10.1137/0111030.
- ↑ Revue d'optique théorique et instrumentale.37
- 225–241, 397–424.
- ↑ Proceedings of the Physical Society.73(5)
- 777–787.ISSN 0370-1328.doi:10.1088/0370-1328/73/5/310.
- ↑ Proceedings of the Jet Propulsion Laboratory Seminar on Tracking Programs and Orbit Determination.
- 1-9.
- ↑ Christian Kanzow, Nobuo Yamashita, Masao Fukushima "Levenberg-Marquardt methods with strong local convergence properties for solving nonlinear equations with convex constraints," JCAM, 172(2):375-97, Dec. 2004, doi:10.1016/j.cam.2004.02.013.
- Este artícul conté una traducció derivada de «Algoritmo de Levenberg-Marquardt» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.