以线性回归为例,假设最佳函数为 y = θ T x y=\bold{\theta}^T\mathbf{x} y=θTx, 对于每对观测结果 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)),都有
y ( i ) = θ T x ( i ) + ϵ ( i ) y^{(i)}=\theta^T x^{(i)} + \epsilon^{(i)} y(i)=θTx(i)+ϵ(i)
最后就是从下式求解 θ \bold{\theta} θ。
y = [ x 1 x 2 . . . x m ] θ \mathbf{y} = \begin{bmatrix} \mathbf{x}_1 \\ \mathbf{x}_2 \\ ... \\ \mathbf{x}_m \\ \end{bmatrix} \bold{\theta} y=⎣⎢⎢⎡x1x2...xm⎦⎥⎥⎤θ
1. 高斯牛顿法
高斯-牛顿法是在牛顿法基础上进行修改得到的,用来(仅用于)解决非线性最小二乘问题。高斯-牛顿法相较牛顿法的最大优点是不需要计算二阶导数矩阵(Hessian矩阵),当然,这项好处的代价是其仅适用于最小二乘问题。如下是其推导过程:
-
首先,假设 r ( x i ) r(\mathbf{x_i}) r(xi) 是最小二乘的残差,那么最小二乘的最终目标就是令残差和 f ( θ ) f(\theta) f(θ) 最小。
f ( θ ) = 1 2 ∑ i = 1 m [ r ( x i ) ] 2 f(\theta)=\frac{1}{2} \sum_{i=1}^{m} [r\left(\mathbf{x}_{\mathbf{i}}\right)]^2 f(θ)=21i=1∑m[r(xi)]2 -
利用用牛顿法求解 f ( θ ) f(\theta) f(θ) 的最小值,需要计算其梯度向量与 Hessian 矩阵。
先求梯度向量:
∇ θ f = ∂ f ∂ θ = ∑ i = 1 m r i ∂ r i ∂ θ = [ ∇ θ r ( x 1 ) T ∇ θ r ( x 2 ) T ⋮ ∇ θ r ( x m ) T ] T [ r ( x 1 ) r ( x 2 ) … r ( x m ) ] \nabla_{\theta} f=\frac{\partial f}{\partial \theta}=\sum_{i=1}^{m} r_{i} \frac{\partial r_{i}}{\partial \theta}= \left[\begin{array}{c}{\nabla_{\theta} r\left(x_{1}\right)^{T}} \\ {\nabla_{\theta} r\left(x_{2}\right)^{T}} \\ {\vdots} \\ {\nabla_{\theta} r\left(x_{m}\right)^{T}}\end{array}\right]^T \left[\begin{array}{cccc}{r\left(x_{1}\right)} \\ {r\left(x_{2}\right)} \\ {\dots} \\ {r\left(x_{m}\right)}\end{array}\right] ∇θf=∂θ∂f=i=1∑mri∂θ∂ri=⎣⎢