Está en la página 1de 6

Trabajo Optimización No

Lineal
Método de Levenberg-Marquardt (LM)

Autores:
Bryan Inche Condor
Erick Uriarte Quiroz
1. Ecuación
Técnica iterativa que localiza el mínimo de una función multivariada que se expresa como la suma de cuadrados de
funciones no lineales de valor real.
LM puede considerarse como una combinación del descenso del gradiente y el método de Gauss-Newton. Cuando la solución
actual está lejos de la correcta, el algoritmo se comporta como un método de descenso más empinado: lento, pero garantizado
para converger. Cuando la solución actual se acerca a la solución correcta, se convierte en un método de Gauss-Newton.

Se usa la aproximación de la matriz Hessiana de una función que aplicada a los Métodos de Mínimos Cuadrados No Lineales
es:
∇ , ≈ , ∗ ,

Se realiza un ajuste y se obtiene

∇ , ≈ , ∗ , +

donde , es el Jacobiano de la función, tal que,


= ⋮ ⋱ ⋮ , !"# $ $ !"% $ & !'" $ ( !!(! '() ! & ' ( & !á !(

Y la constante determina la tendencia del algoritmo: cuando se incrementa se asemeja al descenso del gradiente y cuando
disminuye al Gauss-Newton.
2. Funcionamiento - Algoritmo
1) + $ ) % (! ")"'" ,, ) ( ! )'" -.

2) / ")"'" "# 0 = 0. / ' ' 2! $" ) ∇ 3

3) 4 & "!

4) 5&!( " '"ó) $ 7 " )( Η3 , (∇ , ).

5) / "2) ) % (! ;<

6) 73∗ = 73 + ; < .

7) 4 ( % ! " 73∗ ∗ &3 = −∇ 3.

8) > ) ! ?3 ('() '()$"'"() $ @( A )

9) Actualizar 3K = 3 + ?3 &3 .

10) L ' ( $ M! $" ) ∇ 3

11) 5' "# ! 0 = 0 + 1

12) 7 ‖∇ , ‖ ≤ -.

13) 4 2! !
3. Ventajas-desventajas

Ventajas:
• Este método es más rápido en comparación con los demás métodos de optimización (Newton, Gradiente
conjugado, Quasi-newton, Gradiente descendiente estocástico).
• En la mayoría de los casos este método encuentra una solución incluso si se inicializa lejos del mínimo.
• Puede funcionar sin calcular la matriz Hessiana exacta, ya que en su lugar utiliza el vector de gradiente y
la matriz Jacobiana.
• El calculo analitico del jacobiano no es muy dificil.

Desventajas:
• Este algoritmo con conjuntos de datos muy grandes hace que la matriz Jacobiana se haga enorme, y esto
requiere mucha memoria.
• El cálculo del Jacobiano es necesario en cada iteración para poder calcular el mínimo local. Esto demanda
mucha carga computacional.
• La mayoría de las implementaciones con este método no son sólidas o no manejan una justificación
teórica sólida.
Código
Se adjunta un código implementado en Python.

Adicionalmente, con fines de análisis y referencia, se adjunta una


implementación del algoritmo hecho por Henri P. Gavin en Matlab
Bibliografia
• Moré, J. J. (2006). The Levenberg-Marquardt algorithm: Implementation and theory. Numerical Analysis,
1978.

• Gavin, H (2019). The Levenberg-Marquardt algorithm for nonlinear least squares curve-fitting problems

• Puig D, (2010). “Implementación del algoritmo de mínimos cuadrados aplicado al diseño de dispositivos
de microondas”.

También podría gustarte