En matemáticas, el algoritmo de Gauss-Newton se utiliza para resolver problemas no lineales de mínimos cuadrados. Es una modificación del método de optimización de Newton que no usa segundas derivadas y se debe a Carl Friedrich Gauss.
El problema
Dadas m funciones f1,..., fm de n parámetros p1,..., pn con m≥n, queremos minimizar la suma
donde p se refiere al vector de parámetros: p=(p1,..., pn).
El algoritmo
El algoritmo de Gauss-Newton es un procedimiento iterativo. Esto significa que debemos proporcionar una estimación inicial del vector de parámetros, que denominaremos p0.
Estimaciones posteriores pk para el vector de parámetros son producidas por la relación recurrente:
donde f=(f1,..., fm), y Jf(p) denota el Jacobiano de f en p (nótese que no es necesario que Jf sea cuadrada).
La matriz inversa, en la práctica, nunca se computa explícitamente. En lugar de ello se utiliza
y se computa la actualización de δk resolviendo el sistema lineal
Una buena implementación del algoritmo de Gauss-Newton utiliza también un algoritmo de búsqueda lineal: en lugar de la fórmula anterior para pk+1, se utiliza
donde el número αk es de algún modo óptimo.
Otros algoritmos
La relación de recurrencia del Método de Newton para minimizar la función S es
donde y denotan el Jacobiano y Hessiano de S respectivamente.
Utilizando el método de Newton para minimizar la función
obtenemos la relación recurrente
Podemos concluir que el método de Gauss-Newton es el mismo que el método de Newton, pero ignorando el término de la matriz Hessiana Σ f H(f).
Otros algoritmos utilizados para resolver el problema de los mínimos cuadrados incluyen el Algoritmo de Levenberg-Marquardt y de descenso de gradiente.