次梯度与次梯度方法

次梯度 subgradient

当优化问题的目标函数不可微的时候,我们就会去考虑梯度的替代品:次梯度

一些目标函数不可微的凸优化问题,就可以使用次梯度方法来求解。

凸函数有一个很好的性质,那就是任意一点的切平面都位于函数图形的下方。对于凸函数 f,如果

(1)f(y)f(x)+gT(yx)for all y

就说 gx 这点的次梯度。

函数的梯度是一个向量,注意次梯度方向可能不唯一,所有次梯度构成的集合叫做次微分(subdifferential)x 的次微分记作 f(x)

在上面的定义下,凸函数的次微分总是非空,凹函数的次微分是空集。类似地,把式(1)的不等号方向改变可以得到对于凹函数的次微分的定义。

如果要把次梯度的概念推广到一般函数的话,那么会发现,一般函数可能再某个点不存在次梯度(次梯度为空集),而凸函数不会存在这样的问题。在凸函数的定义域的相对内点集上,次梯度集总是非空(凸函数在定义域的边界的连续性比较复杂)。

以一维为例,fx0 不一定可导,但是有左导数 a,右导数 b,那么 [a,b] 就是 fx0 这点的次微分。比如 f=|x|x=0 处的次微分就是 [1,1]

通过次梯度可以得到一个函数(不管是不是凸的)全局最优解的性质。 如果 0f(x),那么 x 就是全局最小点。

次梯度方法

次梯度的迭代式如下: x(k+1)=x(k)αkg(k) 因为次梯度方向可能不是一个下降方向,所以不能使用类似梯度下降法那样的收敛性分析方法。我们仍然假设 f 的次梯度是有界的,即 g2G,gf(x),x .

这样的迭代规则等价于 (1)x(k+1)=argminx{f(x(k))+g(k),xx(k)+12αkxx(k)2} 上式右边是一个关于 x 的二次函数,在 x=x(k)αkg(k) 处取得最小值。上式的意义在于,揭示了迭代过程与一阶近似最小化的联系。

我们关心的是 fbest (k)=min{f(x(1)),,f(x(k))} 首先: x(k+1)x22=x(k)αkg(k)x22=x(k)x222αkg(k)T(x(k)x)+αk2g(k)22x(k)x222αk(f(x(k))f)+αk2g(k)22, 由此不难得到: x(k+1)x22x(1)x222i=1kαi(f(x(i))f)+i=1kαi2g(i)22 于是有: 2i=1kαi(f(x(i))f)x(1)x22+i=1kαi2g(i)22 此外: i=1kαi(f(x(i))f)(i=1kαi)mini=1,,k(f(x(i))f) 于是我们可以得到: fbest (k)f=mini=1,,kf(x(i))fx(1)x22+i=1kαi2g(i)222i=1kαix(1)x22+G2i=1kαi22i=1kαiR2+G2i=1kαi22i=1kαi 在这里,我们让 R=x(1)x2 或者是约束集的直径。

Constant step size

如果我们选择固定步长 αi=h,则 fbest (k)fdist(x(1),X)2+G2h2k2hk

Square summable but not summable

假定步长序列 {αi,i1} 满足 α22=k=1αk2<,k=1αk= 根据式 (???),可知当 k 时,fbest(k)f .

Diminishing step size rule

如果 αk=RGk,那么 fbest (k)fRGlogk2k

Mirror descent

类似于式 (1),将2-范数换成 Bregman divergence,我们容易得到另一种更新的规则: x(k+1)=argminx{f(x(k))+g(k),xx(k)+1αkBψ(x,x(k))}

Bψ(x,y)=ψ(x)ψ(y)ψ(y),xy

对上式梯度,得到最优性条件: g(k)+1αk(ψ(x(k+1))ψ(x(k)))=0ψ(x(k+1))=ψ(x(k))αkg(k)x(k+1)=(ψ)(ψ(x(k))αkg(k))

假设 ψσ-强凸函数,则 Bψ(x,x(k+1))Bψ(x,x(k))αk(f(x(k))f(x))+α22σgk2 于是我们成功用 Bψ(x,x1) 代替了 R2=xx122,用次梯度的对偶范数的上确界代替了梯度2-范数的上确界。

Piecewise linear

次梯度方法就是沿着次梯度的方向进行迭代的方法。如:

maxxf(x)=maxxmini=1naiTx+bi

目标函数是分段线性的凹函数,在若干点是不可微的,但是可以计算到 f(x) 的次梯度,令 I(x)={if(x)=aiTx+bi},则

  1. aif(x)for all iI
  2. f(x)={sRns=ΣiI(x)λiai,ΣiI(x)λi=1,λi0 for iI(x)}

由此可以用次梯度方法来求解。

参考: 【凸优化笔记5】-次梯度方法(Subgradient method)

updatedupdated2023-01-262023-01-26