凸优化(二):无约束和等式约束优化算法(牛顿法)

连续可微和强凸条件

考虑满足如下条件的函数ff:

  • 梯度单调性(一阶性质):(∇f(x)−∇f(y))T(x−y)≥0(\nabla f(x)-\nabla f(y))^T(x-y)\geq 0,∀x,y∈dom⁡f\forall x,y\in\operatorname{dom} f;

  • 梯度Lipschitz连续:∥∇f(x)−∇f(y)∥≤L∥x−y∥\|\nabla f(x)-\nabla f(y) \|\leq L\|x-y\|,∀x,y∈dom⁡f\forall x,y\in\operatorname{dom} f。

由第二条知,如下式子等价:

1L∥∇f(x)−∇f(y)∥2≤(∇f(x)−∇f(y))T(x−y)≤L∥x−y∥2f(y)≤f(x)+∇f(x)T(y−x)+L2∥x−y∥2\begin{aligned} \frac{1}{L}\|\nabla f(x)-\nabla f(y)\|^2&\leq (\nabla f(x)-\nabla f(y))^T(x-y)\leq L\|x-y\|^2\\ f(y)&\leq f(x)+\nabla f(x)^T(y-x)+\frac{L}{2}\|x-y\|^2\\ \end{aligned}

函数f(y)f(y)的上界由二次曲线f(x)+∇fT(x)(y−x)+L2∥x−y∥2f(x)+\nabla f^T(x)(y-x)+\frac{L}{2}\|x-y\|^2确定,称为quadratic upper bound。

满足如下性质的函数称为m-强凸(m-strongly convex)

f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)−m2θ(1−θ)∥x−y∥2,f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta) f(y)-\frac{m}{2}\theta(1-\theta)\|x-y\|^2,

即存在一个m>0m>0使得∇2f(x)≥mI\nabla^2 f(x)\geq mI。有如下式子等价:

(∇f(x)−∇f(y))T(x−y)≥m∥x−y∥2f(y)≥f(x)+∇f(x)T(y−x)+m2∥x−y∥2\begin{aligned} &(\nabla f(x)-\nabla f(y))^T(x-y)\geq m\|x-y\|^2\\ &f(y)\geq f(x)+\nabla f(x)^T(y-x)+\frac{m}{2}\|x-y\|^2\\ \end{aligned}

函数f(y)f(y)的下界由二次曲线f(x)+∇fT(x)(y−x)+m2∥x−y∥2f(x)+\nabla f^T(x)(y-x)+\frac{m}{2}\|x-y\|^2确定,称为quadratic lower bound。

如果将前面定义中的m2∥x−y∥2\frac{m}{2}\|x-y\|^2换成ϕ(x−y)\phi(x-y),满足ϕ\phi非负且仅在原点取值为0,则对应的函数ff为一致凸(uniformly convex)函数[1]。

无约束优化问题

考虑无约束优化问题min⁡ f(x)\min \, f(x)。常用的方法是梯度下降法:

x˙=−∇f(x).\dot x=-\nabla f(x).

令Lyapunov函数为V=12∥f(x)−f(x∗)∥2V = \frac{1}{2}\|f(x)-f(x^*)\|^2。易证

V˙=−(f(x)−f(x∗))T∇f(x)≤0.\dot V=-(f(x)-f(x^*))^T\nabla f(x)\leq 0.

该算法对于次梯度也成立,因为次梯度同样满足凸函数的一阶性质。

如果函数ff连续可微和强凸,那么可用牛顿法:

x˙=−∇2f(x)−1∇f(x).\dot x = -\nabla^2f(x)^{-1}\nabla f(x).

令Lyapunov函数为V=12∥∇f(x)∥2V = \frac{1}{2}\|\nabla f(x)\|^2。易证

V˙=−∇f(x)T∇2f(x)∇2f(x)−1∇f(x)≤−2V.\dot V=-\nabla f(x)^T\nabla^2f(x)\nabla^2f(x)^{-1}\nabla f(x)\leq -2V.

可见牛顿法相对于梯度下降法,有着更快的收敛速度(指数>渐进)。

牛顿法算法

令最优解为ϵ\epsilon-optimal,算法描述如下:

其中,λ\lambda称为牛顿衰减率(Newton decrement),λ(x)=(∇xntT∇2f(x)∇xnt)1/2\lambda(x)=(\nabla x_{nt}^T\nabla ^2f(x)\nabla x_{nt})^{1/2}。

等式约束优化问题

考虑等式优化问题

min⁡f(x)s.t.⁡Ax=b.\begin{aligned} \min &\quad f(x)\\ \operatorname{s.t.} &\quad Ax=b. \end{aligned}

将代价函数近似为在xx处的二阶泰勒展开

min⁡f^(x,v)=f(x)+∇f(x)Tv+12vT∇2f(x)vs.t.⁡A(x+v)=b.\begin{aligned} \min &\quad \hat f(x,v)=f(x)+\nabla f(x)^Tv+\frac{1}{2}v^T\nabla^2f(x)v\\ \operatorname{s.t.} &\quad A(x+v)=b. \end{aligned}

由KKT条件可得

[∇2f(x)ATA0][vxwx]=[−∇f(x)0],(1)\begin{bmatrix} \nabla^2 f(x)&A^T\\ A&0 \end{bmatrix}\begin{bmatrix} v_x\\ w_x \end{bmatrix}=\begin{bmatrix} -\nabla f(x)\\ 0 \end{bmatrix},\quad (1)

称为KKT系统,左边的矩阵称为KKT矩阵。

同样,也可以先写出KKT条件,再一阶泰勒展开得到式(1):

∇f(x+vx)+ATwx=∇f(x)+∇2f(x)vx+ATwx=0A(x+vx)=b⟺Avx=0\begin{aligned} \nabla f(x+v_x)+A^Tw_x=\nabla f(x)+\nabla^2f(x)v_x+A^Tw_x=0\\ A(x+v_x)=b \Longleftrightarrow Av_x = 0 \end{aligned}

KKT矩阵非奇异的条件有:

  • N(∇2f(x))∩N(A)={0}N(\nabla^2 f(x))\cap N(A)=\{0 \};
  • Ax=0,x≠0⟹xT∇2f(x)x>0Ax=0,x\neq 0 \Longrightarrow x^T\nabla^2 f(x)x>0;
  • FT∇2f(x)F>0F^T\nabla^2 f(x)F>0,其中F∈Rn×(n−p)F\in\mathbb R^{n\times(n-p)}满足R(F)=N(A)R(F)=N(A);
  • ∇2f(x)+ATQA>0\nabla^2 f(x)+A^TQA>0对有些Q≥0Q\geq 0成立。

如果∇2f(x)>0\nabla^2 f(x)>0,则KKT矩阵一定非奇异。

令FF满足R(F)=N(A)R(F)=N(A)且rank⁡F=n−p\operatorname{rank}F=n-p,令x^\hat x满足Ax^=bA\hat x=b。定义

x=Fz+x^,x=Fz+\hat x,

则可以消去等式约束,得到无约束优化问题和新的代价函数f~(z)=f(Fz+x^)\tilde f(z)=f(Fz+\hat x),其梯度和Hessian为

∇f~(z)=FT∇f(Fz+x^),∇2f~(z)=FT∇2f(Fz+x^)F.\nabla \tilde f(z)=F^T\nabla f(Fz+\hat x),\quad \nabla^2 \tilde f(z)=F^T\nabla^2 f(Fz+\hat x)F.

由牛顿法得到,无约束优化问题的vz=−∇2f~(z)−1∇f~(z)=−(FT∇2f(x)F)−1FT∇f(x)v_z=-\nabla^2\tilde f(z)^{-1}\nabla \tilde f(z)=-(F^T\nabla^2f(x)F)^{-1}F^T\nabla f(x).

令vx=Fvzv_x = Fv_z,即vx=−F(FT∇2f(x)F)−1FT∇f(x)v_x=-F(F^T\nabla^2f(x)F)^{-1}F^T\nabla f(x)。则有

wx=−(AAT)−1A(∇f(x)+∇2f(x)vx).w_x=-(AA^T)^{-1}A(\nabla f(x)+\nabla^2 f(x)v_x).

代入式(1),由于AF=0AF=0,故第二行满足。为了证明第一行,我们观察到

[FTA](∇2f(x)vx+ATwx+∇f(x))=0.\begin{bmatrix} F^T\\ A \end{bmatrix}(\nabla^2 f(x)v_x+A^Tw_x+\nabla f(x))=0.

因为左边第一个矩阵非奇异,故∇2f(x)vx+ATwx+∇f(x)=0\nabla^2 f(x)v_x+A^Tw_x+\nabla f(x)=0,第一行满足。

综上所述,可以令x˙=vx=−F(FT∇2f(x)F)−1FT∇f(x)\dot x = v_x = -F(F^T\nabla^2f(x)F)^{-1}F^T\nabla f(x),就能够保证xx收敛到最优解。


  1. Wikipedia contributors. (2020, November 9). Convex function. In Wikipedia, The Free Encyclopedia. Retrieved 03:54, November 11, 2020, from https://en.wikipedia.org/w/index.php?title=Convex_function&oldid=987859420 ↩︎