负梯度方法和Newton型方法


[toc]

最速下降法

最速下降法即下降方向是梯度的负方向,步长由精确线搜索得到

一般步骤如下:

  1. 给出$x_0,k:=0$
  2. 若终止条件满足,迭代停止
  3. 计算$d_k=-g_k$
  4. 精确线搜索得到$\alpha_k$
  5. $x_{k+1}:=x_k-\alpha_kg_k,k:=k+1$,转步2

对目的函数$min_x\ f(x)=\frac{1}{2}x^TAx+b^Tx+c$

一阶导数$g_k= \nabla{f(x_k)} =Ax+b$

又更新公式为$x_{k+1}=x_k-\alpha_kg_k$

求$\alpha$,由$g_{k+1}^Tg_k=0$,带入

所以

所以$\alpha_k=\Large\frac{g_k^Tg_k}{g_k^TAg_k}$

所以$x_{k+1}=x_k-\Large{\frac{g_k^Tg_k}{g_k^TAg_k}}\normalsize g_k$

Newton 方法

对于要优化的目标函数$f(x)$,当前迭代点为$x_k$,则$f(x)$在$x_k$处的Taylor展开式为

当$x_k$固定时,$d$取多少使得$f(x_k+d)$最小?当$f(x_k+d)$最小,则$f(x_k+d)$对$d$的偏导为0

拟Newton方法

Newton方法的缺点:每步迭代都需要计算Hesse矩阵,为此需要计算二阶偏导;若该方法产生的迭代点不能充分接近极小点,$G_k$的正定性不能保证

Newton方法的优点:具有二阶收敛速度

所以我们构造一种不需要计算二阶偏导,又具有较快的收敛速度,我们采用了拟Newton方法

对目标函数$f(x)$在$x_{k+1}$处进行Taylor展开,得到

令$x=x_k$,有$f(x_k)=f(x_{k+1})+G_{k+1}(x_k-x_{k+1})$

令$f(x_{k+1})-f(x_k)=y_k,x_{k+1}-x_k=s_k$,则有

因为$B_{k+1}$是$G_{k+1}$的近似矩阵,所以同样的也有:

若记$H_{k+1}=B_{k+1}^{-1}$,则

拟牛顿方法是确定迭代方向d的最优化方法

每次迭代中,我们还要修正$H_{k+1}$,即是$H_{k+1}=H_k+\Delta{H_k}$中确定$\Delta H_k$

拟Newton法修正公式

对称秩1公式(Symmetric Rank 1,SR1)

令$B_{k+1}=arg\ min_{B^T=B}||B-B_k||$

考虑更新$B_{k+1}=B_k + \frac{1}{a}vv^T$,代入$B_{k+1}s_k=y_k$,得到

所以$v$与$y_k-B_ks_k$同向,令$v=\tilde{a}(y_k-B_ks_k)$,则

设$b=\Large\frac{\tilde a^2}{a}$,两边同乘于$s_k$,得

由$b=\Large\frac{\tilde a^2}{a}$,令$\tilde a=1$,得到$a=(y_k-B_ks_k)^Ts_k$

将$\tilde a=1$代入$v=\tilde{a}(y_k-B_ks_k)$,得到$v=y_k-B_ks_k$

将$v=y_k-B_ks_k,a=(y_k-B_ks_k)^Ts_k$代入$B_{k+1}=B_k+\Large\frac{1}{a}\normalsize vv^T$,得到

DFP公式

对秩2公式$H_{k+1}=H_k + \alpha u_ku_k^T+ \beta v_kv_k^T$

令$E_k = \alpha u_ku_k^T+ \beta v_kv_k^T$则$H_{k+1}=H_k+E_k$,代入拟牛顿方程$H_{k+1}y_k=s_k$,得到

其中$v_k^Ty_k=\begin{bmatrix}v_1\...\\v_n\end{bmatrix}^T\begin{bmatrix}y_1\...\\y_n\end{bmatrix}=v_1y_1+…+v_ny_n$是一个常数,$u_k^Ty_k$同理

即是

假设$u_k=rH_ky_k,v_k=\theta s_k$,则

代入$\alpha(u_k^Ty_k)u_k+\beta(v_k^Ty_k)v_k=s_k-H_ky_k$,得

令$[\alpha r^2(y_k^TH_ky_k)+1]=0,[\beta\theta^2(s_k^Ty_k)-1]=0$.得到

所以

为什么$H_k^T=H_k$?

因为Hesse矩阵是对称矩阵,而$H_k=B_k^{-1}\approx G_k^{-1}$

BFGS公式

考虑$B_{k+1}=B_k+\alpha{vv^T}+\beta{uu^T}$

代入拟牛顿方程$B_{k+1}s_k=y_k$,得

观察式子,可令$v=ry_k,u=\theta B_ks_k$,代入上式得

则,可令

将$\alpha r^2$和$\beta\theta^2$代入,得