高斯牛顿法

将f(x)进行一阶泰勒展开

$f\left(x+\Delta{x}\right) \thickapprox f\left(x\right) + J\left(x\right)\Delta{x}$

为使$\lVert{f\left(x+\Delta{x}\right)}\rVert^{2}$达到最小。

为求$\Delta{x}$,需解一个线性的最小二乘问题。

$\Delta{x}^{\ast} =\mathop{min}\limits_{\Delta{x}} \frac{1}{2}\lVert{ f\left(x\right) + J\left(x\right)\Delta{x}  }\rVert^{2}$

求极值时,对$\Delta{x}$求导,并令导数为零。

$\frac{1}{2}\lVert{f\left(x+\Delta{x}\right)}\rVert^{2}$

$=\frac{1}{2} \left( f\left(x\right) + J\left(x\right)\Delta{x} \right)^{T} \left( f\left(x\right) + J\left(x\right)\Delta{x} \right)$

$=\frac{1}{2}\left[ f\left(x\right)^{T}f\left(x\right) + \Delta{x}^{T}J\left(x\right)^{T}f\left(x\right) + f\left( x\right)^{T}J\left(x\right)\Delta{x} + \Delta{x}^{T}J\left(x\right)^{T}J\left(x\right)\Delta{x}\right]$

由于$\frac{\partial{x^TA}}{\partial{x}}=A,\frac{\partial{Ax}}{\partial{x}}=A^{T},\frac{\partial{x^TAx}}{\partial{x}}= \left(A^T+A\right)x$

参考:http://xuehy.github.io/blog/2014/04/18/2014-04-18-matrixcalc/

所以对以上式子求$\Delta{x}$偏导,并令其为零可得:

求解的变量是$\Delta{x}$,因此是一个线性方程组,为高斯牛顿方程。

写成$H\Delta{x}=g$($J^{T}J$为牛顿法中二阶Hessian矩阵近似)

从算法步骤中可以看到,增量方程的求解占据着主要地位。

猜你喜欢

转载自www.cnblogs.com/112358nizhipeng/p/9724460.html