非线性最小二乘问题


[toc]

前置知识

最小二乘问题

定义:$min\ f(x)=\large\frac{1}{2}\normalsize\sum_{i=1}^mr_i^2(x)=\large\frac{1}{2}\normalsize r(x)^Tr(x)=\large{\frac{1}{2}}\normalsize{||r(x)||_2^2}$

其中,$r(x)$称为剩余函数,如果$r(x)$有一个不是线性函数,那么就是非线性最小二乘问题

f(x)的导数

设$J(x)$是$r(x)$的Jacobi矩阵,$J(x)=[\nabla{r_1(x),…,\nabla{r_m(x)}}]^T=\nabla{r(x)}$

梯度

Hesse矩阵

其中$S(x)=r(x)\nabla^2r(x)$

Gauss-Newton方法

对$f(x)$,进行一阶Taylor展开,得到$f(x+\Delta{x})\approx f(x)+f’(x)\Delta{x}=f(x)+J(x)\Delta{x}$

代入$\Delta x=arg\ min\ \frac{1}{2}||f(x+\Delta x)||^2_2$,得到

对$\Delta x$求导,得到

其中,如果令$g(x)=J(x)\Delta{x}$,则$(J(x)\Delta{x})^T(J(x)\Delta{x})=g(x)^Tg(x)$,则

所以令$f(x)^TJ(x)+2J(x)^TJ(x)\Delta{x}=0$

得到$J(x)^TJ(x)\Delta{x}=-f(x)^TJ(x)$

因为$f(x_{k+1})-f(x_k)=G_{k+1}(x_{k+1}-x_k)$,即牛顿方程$G_{k}d_k=g_k$

又$G(x)=J(x)^TJ(x)+S(x)$,所以$(J_k^TJ_k+S_k)d_k=-J_k^Tf_k$

忽略$S_k$后,即是$J(x)^TJ(x)\Delta{x}=-f(x)^TJ(x)$

所以Guass-Newton方程就是Newton方程中忽略$S_k$得到的

LM方法

对$f(x)$,进行一阶Taylor展开,得到$f(x+\Delta{x})\approx f(x)+f’(x)\Delta{x}=f(x)+J(x)\Delta{x}$

所以$\Delta{x^*}=arg\ min_{\Delta{x}}(\frac{1}{2}||f(x)+J(x)\Delta{x}||^2_2)$

加入阻尼项,$\Delta{x^*}=arg\ min_{\Delta{x}}(\frac{1}{2}||f(x)+J(x)\Delta{x}||^2_2+\frac{1}{2}\mu{\Delta{x}^T\Delta{x}})=M(\Delta{x})$

求导,得到

令其等于0,也就是$(J(x)^TJ(x)+\mu{I})\Delta{x}=-f(x)^TJ(x)$

所以$\Delta{x^*}=-(J(x)^TJ(x)+\mu{I})^{-1}f(x)^TJ(x)$