Subgradients 次梯度
S. Boyd and L. Vandenberghe
Notes for EE364b, Stanford University, Winter 2006-07
April 13, 2008

1 定义
我们称一个矢量g∈Rn是函数f:Rn→R在x∈domf处的次梯度,如果对于所有的z∈domf满足:

f(z)≥f(x)+gT(z−x)(1)

如果f是凸函数,并且可微,那么该函数在x处的梯度是一个此梯度。但是当函数f不可微时,也可能存在次梯度,如图1.同样的例子表明函数f在点x存在不止一个次梯度。
可以通过几个不同的方式来解释次梯度。如果仿射函数(关于z)

f(x)+gT(z−x)

是函数f的全局下界(underestimator),那么矢量g是函数f的一个次梯度。从几何上讲,如果(g,-1)在(x,f(x))处支持撑epi,那么g是函数f在x处的次梯度,如图2所示。
如果函数f在x处,至少存在一个次微分,那么我们称函数f在x处可次微的(subdifferentiable)。函数f在点x处的次梯度的集合成为函数f在x处的次微分(subdifferential),用∂f(x)表示。如果函数f在其定义域内的每一点都次微分,那么我们称函数是可次微分的。

例子:绝对值。考虑f(z)=|z|。对于所有的x<0,次微分是唯一的:∂f(x)]={−1}.类似的,对于x>0,我们有∂f(x)={1}.在x=0处,次微分定义为,对于所有的z,满足不等式:

|z|≥gz

我们通过上面的不等式,求解g的取值范围。当z>0时,z≥gz,g≤1.当z<0时,−z≥gz,−1≤g。因此,for all z,−1≤g≤1。因此: ∂f(0)=[−1,1],如图3.

2 基本属性

即使f不是凸函数,其次梯度∂f(x)总是闭凸集。这是因为,其是无限个半空间构成的集合的交集:

∂f(x)=⋃z∈domf{g|f(z)≥f(x)+gT(z−x)}

图1:在x1处,凸函数f是可微的,并且g1(即函数f在x1处的偏导数)是在x1处的唯一次梯度。在点x2处,函数不可微,并且在该点处,函数f有很多次梯度:图中演示了g2,g3两个次梯度。

图2:当且仅当(g,-1)定义了上镜图f在(x,f(x))处的一个支撑超平面,那么矢量g∈Rn是函数f在x处的一个次梯度。

图3:绝对值函数(左),它的次微分∂f(x)是关于x的函数(右)。

2.1 次梯度的存在性

如果f是凸函数,并且x∈int domf,那么函数的次微分∂f(x)存在,并且有界。
为了证明∂f(x)≠ϕ,我们在上镜图凸集的边界点(x,f(x))上应用超平面理论,得到如下的结论:
存在a∈Rn,b∈R,不全为0,满足:

[ab]T([zt]−[xf(x)])=aT(z−x)+b(t−f(x))≤0

对于all (z,t)∈epif .
这意味着b≤0,并且对于所有的z满足:

aT(z−x)+b(f(z)−f(x))≤0

如果b≠0,除以b,我们得到:

f(z)≥f(x)−(a/b)T(z−x)

这表明,−a/b∈∂f(x)。现在我们证明b≠0,也就是说超平面不能是垂直的。证明方法为,先假定成立,然后推出矛盾。如果b=0,我们可以得到,对于所有的z∈domf,aT(z−x)≤0,然而这是不可能的,因为x∈domf
上面的讨论表明,如果一个凸函数的上镜图epif在(x,f(x))处,至少存在一个非垂直的支撑超平面,那么该函数在x处,存在一个次梯度。例如,如果函数连续,则满足该情况。存在一些病态的凸函数,它们在一些点处不存在次梯度,但是在后续的文章中,我们假定所有的凸函数是可次微分的(在 dom f中的每一点)

2.2 可微函数的次梯度

如果f是凸函数,并且在x处可微,那么∂f(x)={▽f(x)},也就是说梯度是它唯一的次梯度。相反地,如果f是凸函数,并且∂f(x)={g},那么函数f在x处可微,并且g=▽f(x)

2.3 非可微函数的最小值

一个点x*,当且仅当凸函数f在该点处可次微分,并且0∈∂f(x∗)时,该点是函数f的最小值点。
也就是说,g=0是函数f在x*处的一个次梯度。我们可以直接通过:对于x∈domf,f(x)≥f(x∗)推断得到。
如果函数f在点x*处是可微的,条件0∈∂f(x∗)降为 ▽f(x∗)=0

次梯度的微分

本节,我们描述构造凸函数次梯度的规则。我们将区分两种不同等级的细节。在次梯度的“弱”微分中,即使存在更多的次梯度,目标也只是产生一个次梯度。这在实际应用中已经足够了,因为次梯度,定位(localization),切平面方法仅需要任意点一个次梯度。
另外一个更加困难的任务是将次梯度∂f(x)的完备集描述为关于x的函数,我们称这个为次梯度的“强”微分。其在理论性的研究中很重要,例如,当描述精确的最优条件时。

3.1 非负缩放

对于α≥0,∂(αf)(x)=α∂f(x)

和and 积分

假定f=f1+...+fm,其中f1,...,fm是凸函数,那么我们有:

∂f(x)=∂f1(x)+...+∂fm(x)

这个属性(性质)可以扩展到无限和,积分和期望(如果存在的话)

3.3 定义域上的仿射转换

Affine transformations of domain
假定函数f是凸函数,令h(x)=f(Ax+b),那么∂h(x)=AT∂f(Ax+b)

3.4逐点最大

假定f是一组凸函数f1,...,fm的的逐点最大:

f(x)=maxi=1,...,mfi(x)

其中函数fi是可次微分的。我们首先展示如何构造函数f在x处的一个次梯度。
令k表示任意的索引,其满足fk(x)=f(x),也就是说我们波动的选择k,使得fk(x)=f(x),并且,我们令g∈∂fk(x),那么g∈∂f(x),换句话说,为了找到这些函数中最大值的梯度,我们选择其中一个在该点处达到最大值的函数,并且选择该函数在该点处的任意一个次梯度,满足:

f(z)≥fk(z)≥fk(x)+gT(z−x)=f(x)+gT(z−x)

理解:第一个不等式f(z)≥fk(z)是很显然的,因为f(x)是所有函数的最大值,第二项和第三项对应的不等式,由凸函数的性质得到。最后一个等式,因为我们的前提条件是选择的k满足fk(x)=f(x)

更一般地,我们有:

∂f(x)=Co∪{∂fi(x)|fi(x)=f(x)}

理解:对于任意的x,我们找到某个k,满足fk(x)=f(x),然后求解∂fk(x)作为∂f(x)

∂f(x)=Co{∪{∂fi(x)|fi(x)=f(x)}}

也就说这些函数的最大值的次梯度是在x点处,”活跃”的函数的并集的凸包。

例子:可微分函数的最大值。假定f(x)=maxi=1,...,mfi(x),其中fi是凸函数并且可微,那么我有:

∂f(x)=Co{▽fi(x)|fi(x)=f(x)}

在一个点,只有一个函数fk是“活跃”的,那么f是可微的,并且梯度为▽fk(x)。如果在一个点,多个函数是“活跃“,那么∂f(x)是一个多面体。

例子:l1−norm。表示为:

f(x)=||x||1=|x1|+...+|xn|

是一个关于x的不可微的凸函数。目的是找到该函数的次梯度,我们注意到f可以表示为2n个线性函数的最大值:

||x||1=max{sTx|si∈{−1,1}}

我们可以应用最大值梯度的规则。第一步确定“活跃”函数sTx,也就是说,找到一个s∈{−1,+1}n,满足sTx=||x||1。如果xi>0,我们选择si=+1,如果xi<0,我们选择si=−1。如果xi=0,不止一函数是“活跃”的,此时,si=+1,si=−1都是有效的。函数sTx是可微的,并且有唯一的次梯度s。因此,我们可以取:

gi=⎧⎩⎨⎪⎪+1−1−1 or+1xi>0xi<0xi=0

所有次梯度的凸包形成次微分,其可以表示为下面的形式:

∂f(x)={g|||g||∞≤1,gTx=||x||1}

3.5上确界

接下来,我们考虑扩展到无限个函数的上确界,也就是说,我们考虑:

f(x)=supα∈Afα(x)

其中函数falpha可次微分的。我们在这里仅考虑弱属性。
假定可以达到f(x)定义中的上确界。令β∈A是满足fβ=f(x)的索引,我们令g∈∂fβ(x),那么g∈∂f(x).如果定义中的上确界不能达到,函数f在x处可能可次微分也可能不可以次微分,这取决于索引集A。
然而,如果我们假定A是紧凑的(采用某个度量),并且函数α→fα(x)对于每个x是上半连续的。那么:

∂f(x)=Co∪{∂fα(x)|fα(x)=f(x)}

例子:对称矩阵的最大特征值。令f(x)=λmax(A(x)),其中A(x)=A0+x1A1+...+xnAn,并且Ai∈Am,我们可以将f表示为凸函数的逐点上确界:

f(x)=λmax(A(x))=sup||y||2=1yTA(x)y

这里,索引集A是A={y∈Rn| ||y||2=1}
固定y,每一个函数fy(x)=yTA(x)y是x的仿射函数,可以通过下面的展开形式很容易看出:

yTA(x)y=yTA0y+x1yTA1y+...+xnyTAny

因此函数fy(x)是可微的,并且梯度为:▽fy(x)=(yTA1y,...,yTAny).
活跃函数yTA(x)y是对应最大特征值的特征矢量y的活跃函数。因此,为了找到次梯度,我们即使特征值λmax对应的特征向量,并且规范化为1,并且取:

g=(yTA1y,yTA2y,...,yTAny)

在这个例子中的索引集是{y| ||y||=1}是一个紧凑的集,因此:

∂f(x)=Co{▽fy|A(x)y=λmax(A(x))y,||y||=1}

3.6 关于一些变量的最小化

Minimization over some variable
次梯度的微分规则应用于下面的函数形式:

f(x)=infxF(x,y)

其中F(x,y)是可微分的,并且是关于x和y的联合凸函数,在这里我们也仅讨论弱属性。
假定,针对某个x^,在上面的f(x^)定义中关于y的下确界,在y=y^处达到,也就是说,f(x^)=F(x^,y^)并且对于所有的x,F(x,y^)≥F(x^,y^)。那么存在一个g满足(g,0)∈∂F(x^,y^),并且,这样的任何一个g是函数f在x^处的一个次梯度。
强属性(strong property)。令x2满足f(x1)=infx2F(x1,x2),那么∂f(x1)={g1|(g1,0)∈∂F(x1,x2)}(并且,得到次微分独立于x2的选择。

3.7 一个凸优化问题的最优值函数

Optimal value function of a convex optimization problem
假定f:Rm×Rp→定义为标准形式的凸优化问题的最优值,z∈Rn是优化变量:

minimizef0(z)
subject tofi(z)≤xi,i=1,...,m(2)
Az=y

换句话说,f(x,y)=infzF(x,y,z),其中:

F(x,yz)={+∞−∞fi(z)≤xi,i=1,...,m,Az=yotherwise

其中函数F是关于x,y,z上的联合凸函数。f的次梯度与下面的公式(2)的对偶问题有关。
假定,我们对函数f在(x^,y^)处的次微分感兴趣,我们可以将公式(2)的对偶问题表示为:

maximize g(λ)−xTλ−gTv
subject to λ≥0

其中:

g(λ)=infz(f0(z)+∑i=1mλifi(z)+vTAz)

假定问题(2)和(3)在x=x^ and y=y^处满足强对偶,并且在λ∗,v∗处,达到对偶最优值(例如,因为Slater条件满足)。从全局不等式我们知道:

f(x,y)≥f(x^,y^)−λ∗T(x−x^)−v∗T(y−y^)

换句话说,对偶最优解提供了一个次梯度:

−(λ∗,v∗)∈∂f(x^,y^)

转载于:https://www.cnblogs.com/raby/p/5886692.html

01-subgradients_notes相关推荐

  1. 零起点学算法01——第一个程序Hello World!

    零起点学算法01--第一个程序Hello World! Description 题目很简单 输出"Hello World!"(不含引号),并换行. Input 没有输入 Outpu ...

  2. hdu5296 01字典树

    根据二进制建一棵01字典树,每个节点的答案等于左节点0的个数 * 右节点1的个数 * 2,遍历整棵树就能得到答案. AC代码: #include<cstdio> using namespa ...

  3. 20150411--Dede二次开发-01

    20150411--Dede二次开发-01 目录 一.目前市场流行的电子商城系统 1 二.ecshop的介绍 1 三.安装 2 四.echsop 的目录结构 5 五.分析ecshop里面程序的架构 5 ...

  4. (九)单片机串行口 内部结构的讲解 01

    1. 基本概念 常用于数据通信的传输方式有单工.半双工.全双工和多工方式. 单工方式:数据仅按一个固定方向传送.因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集. 半双工方 ...

  5. Python 学习笔记01

    print:直接输出 type,求类型 数据类型:字符串,整型,浮点型,Bool型 note01.py # python learning note 01 print('Hello world!') ...

  6. ACM1881 01背包问题应用

    01背包问题动态规划应用 acm1881毕业bg 将必须离开的时间限制看作背包容量,先将他们由小到大排序,然后在排完序的数组中对每个实例都从它的时间限制开始(背包容量)到它的延长时间进行遍历: 1 # ...

  7. 什么是壳 - 脱壳篇01

    什么是壳 - 脱壳篇01 让编程改变世界 Change the world by program 壳 在自然界中,植物用壳来保护种子,动物用壳来保护身体,我们人类没有壳,但我们有衣服,房子也起到了壳的 ...

  8. 端口01 - 零基础入门学习汇编语言67

    第十四章:端口01 让编程改变世界 Change the world by program 引言 CPU可以直接读写3 个地方的数据 (1)CPU 内部的寄存器: (2)内存单元: (3)端口. 这一 ...

  9. 浅说——九讲背包之01背包

    所谓九讲,也就是: 0/1背包 0/1背包降维 完全背包 多重背包(二进制优化) 混合背包 二维费用背包 分组背包 有依赖的背包 背包的方案总数\背包的具体方案路径 0/1背包: [问题描述](经典) ...

  10. 01、WPF 中 URI 解析

    WebBrowser 控件导航到包中的 html 文件,首先把该文件 (bland.html) 的属性设置为  "Resource"."始终复制", 然后在 C ...

最新文章

  1. 网络流最大流 Dinic算法模板
  2. 台州计算机考试现场确认,台州市2018年下半年中小学教资考试笔试网上报名及现场确认时间...
  3. 一篇比较好的介绍(两种线程模式)
  4. codeforces Palindromic characteristics(hash或者dp)
  5. redis RedisTemplate实现分布式锁
  6. ajax 参数大小限制,Ajax中的POST数据大小是否有限制?
  7. S4 exercise -- 模块
  8. Java面向对象(3.1)--方法的重载,可变个数的形参,值传递机制,递归
  9. 【OpenCV】imread读取数据为空
  10. python手写数字识别实验报告_python实现识别手写数字 python图像识别算法
  11. python读取xls文件_从python中的xls读取unicode
  12. 阅读理解常规解题思路
  13. PowerDesigner设置code和name不联动的方法
  14. RS232 DB9串口设备
  15. 4600万台销量!树莓派炼成之路
  16. 小成本创造高回报?这家企业的创新培训模式有点牛
  17. OSChina 周日乱弹 ——请世界不要对好人太薄情
  18. VISUAL SVN安装 及客户端使用
  19. 神经网络正则化java_聊聊神经网络中的正则化
  20. win7已经阻止此发行者在您的计算机上运行软件,Win7系统提示Windows已经阻止此软件因为无法验证发行者解决方法...

热门文章

  1. onvif概念及应用?
  2. VC2010“添加资源-引入JPG图片”会改变图片大小
  3. VC6重载字体对话框,去除颜色下拉框
  4. 微信小程序禁止页面上下滑动;uni-app微信小程序禁止页面上下滑动;uni-app小程序上下滑动;
  5. 记录一次uni-app页面跳转无效 来回跳转问题
  6. react(91)--debugger
  7. react学习(13)-moment中 isRangePicker 控制类型
  8. [html] html5的游戏引擎你了解多少?都有哪些比较好用的引擎呢?
  9. [html] HTML5拖拽事件的顺序是什么?
  10. [vue] 怎么在watch监听开始之后立即被调用?