《Subgradients》
Subderivate-wiki
Subgradient method-wiki
《Subgradient method》
Subgradient-Prof.S.Boyd,EE364b,StanfordUniversity
《Characterization of the Subdifferential of Some Matrix Norms 》
定义
我们称
g∈Rn是
f:Rn→R在
x∈domf的次梯度,如果对于任意的
z∈domf,满足:
f(z)≥f(x)+gT(z−x)
如果
f是可微凸函数,那么
g就是
f在
x处的梯度。我们将
z看成变量,那么仿射函数
f(x)+gT(z−x)是
f(z)的一个全局下估计。这个次梯度的作用,就是在处理不可微函数的时候,提供一个替代梯度的工具,而且,根据定义,沿着次梯度方向,函数的值是非降的:
f(αg+x)≥f(x)+αgTg
另外,如果极限存在,有下面的性质,这联系了方向导数和次梯度:
z→x+lim∥z−x∥f(z)−f(x)≥gT(z−x)/∥z−x∥
当然,还有从左往右的来的,这里就不讲了。
下图是一个例子,我们可以看到,在存在梯度的地方,次梯度就是梯度,在不可导的地方,次梯度是一个凸集。
次梯度总是闭凸集,即便
f不是凸函数,有下面的性质:
∂f(x)=z∈domf⋂{g∣f(z)≥f(x)+gT(z−x)}
下面是
f(x)=∣x∣的例子:
上镜图解释
g是次梯度,当且仅当
(g,−1)是
f的上镜图在
(x,f(x))处的一个支撑超平面。
函数
f的上镜图定义为:
epif={(x,t)∣x∈domf,f(x)≤t}
一个函数是凸函数,当且仅当其上镜图是凸集。
我们来证明一开始的结论,即
g是次梯度,当且仅当
(g,−1)是
f的上镜图在
(x,f(x))处的一个支撑超平面。
首先,若
(g,−1)是
f的上镜图在
(x,f(x))处的一个支撑超平面,则:
gT(x−x0)−(t−f(x0))≤0⇒t≥f(x0)+gT(x−x0)
对所有
(x,t)∈epif成立,令
t=f(x),结果便得到。
反过来,如果
g是次梯度,那么:
f(z)≥f(x)+gT(z−x)⇒f(z)−f(x)≥gT(z−x)
又
t≥f(z),(z,t)∈epif,所以:
t−f(x)≥f(z)−f(x)≥gT(z−x)
所以,
(g,−1)在
(x,f(x))处定义了一个超平面。
次梯度的存在性
如果
f是凸函数,且
x∈intdomf,那么
∂f(x)非空且闭。根据支撑超平面定理,我们知道,在
(x,f(x))处存在关于
epif的一个超平面,设
a∈Rn,b∈R,则对于任意的
(z,t)∈epif都有:
显然,
(x,f(x)+ϵ)也符合条件,这意味着
b≤0,以及:
aT(z−x)+b(f(z)−f(x))≤0
对所有
z成立。
如果
b=0,那么
a=0,不构成超平面,即
b<0。
于是:
f(z)≥f(x)+−aT/b(z−x)
即
−a/b∈∂f(x)
性质
极值
x∗是凸函数
f(x)的最小值,当且仅当
f在
x∗处存在次梯度且
0∈∂f(x∗)
f(x)≥f(x∗)⇒0∈∂f(x∗)
非负数乘
αf(x)
∂(αf)=α∂f,α≥0
和,积分,期望
f=f1+f2…+fn,
fi,i=1,2,…,m均为凸函数,那么:
∂f=∂f1+∂f2+…+∂fn
F(x)=∫Yf(x,y)dy, 固定
y,
f(x,y)为凸函数,那么:
∂F(x)=∫Y∂xf(x,y)dy
f(z,y)≥f(x,y)+gT(y)(z−x)⇒∫Yf(z,y)dy≥∫Yf(x,y)dy+∫YgT(y)dy(z−x)
不过需要注意的一点是,这里的等号都是对于特定的次梯度,我总感觉
f的次梯度的集合不止于此,或许会稍微大一点?就是对于和来讲,下面这个式子成立吗?:
∂f={g1+g2+…+gn∣g1∈∂f1,…,gn∈∂fn}
至少凸函数没问题吧,凸函数一定是连续函数,且左右导数存在,那么
g的范围都是固定的。
仿射变换
f(x)是凸函数,令
h(x)=f(Ax+b)则:
f(Az+b)≥f(Ax+b)+gT(Az+b−Ax−b)⇒h(z)≥h(x)+(ATg)T(z−x)⇒∂h(x)=AT∂f(Ax+b)
仿梯度
我们知道梯度有下面这些性质:
∇c=0∇(φ±ψ)=∇φ±∇ψ∇(cφ)=c∇φ∇(ψφ)=ψ2ψ∇φ−φ∇ψ∇f(φ)=f′(φ)∇φ
我认为(注意是我认为!!!大概是是异想天开。)
f为凸函数的时候,或者
f为可微(这个时候是一定的)的时候,上面的性质也是存在的。当然,这只是针对某些次梯度。因为当
f为凸函数的时候,
f的左右导数都存在,那么:
k+:=t→0+limtf(x+tek)−f(x)
那么(凸函数的性质)
f(x+tek)−f(x)≥tk+=(k+ek)T(tek),t>0
同理:
k−:=t→0−limtf(x+tek)−f(x)
f(x+tek)−f(x)≥tk−=(k−ek)T(tek),t<0
而且
k−≤k+。
事实上,因为:
tf(x+tek)−f(x)≥k+≥k−≥tf(x)−f(x−tek),t>0
所以,容易证明:
f(x+tek)≥f(x)+(λ1k++(1−λ1)k−)ekTtek,0≤λ1≤1
容易验证
h(t)=f(x+tv)时关于
t的凸函数,那么:
Kv+:=t→0+limt∥v∥h(t)−h(0)
同理
Kv−:=t→0−limt∥v∥h(t)−h(0)
一样的分析,我们可以知道:
f(x+tv)≥f(x)+∥v∥(λKv++(1−λ)Kv−)vTtv,0≤λ≤1
不好意思,证到这里我证不下去了,我实在不知道结果该是什么。
混合函数
应用
Pointwise maximum
f(x)=i=1,2,…,mmaxfi(x)
其中
fi,i=1,2,…,m为凸函数。
Co(⋅)大概是把里面的集合凸化(我的理解):
Co(S)={λg1+(1−λ)g2∣g1,g2∈S,λ∈[0,1]}
第一个例子,可微函数取最大:
我倒觉得蛮好理解的,因为
∇if(x)和
∇jf(x)如果都是次梯度,那么根据次梯度的集合都是凸集可以知道
∇if(x),∇jf(x)的凸组合也是次梯度。
第二个例子,
ℓ1范数:
我也觉得蛮好理解的。
上确界 supremum
f(x)=α∈Asupfα(x)
fα(x)是次可微的。
例子,最大特征值问题:
Minimization over some variables
拟凸函数