• 优化中的subgradient方法


    哎。刚刚submit上paper比較心虚啊。无心学习。还是好好码码文字吧。

    subgradient介绍

    subgradient中文名叫次梯度。和梯度一样,全然能够多放梯度使用。至于为什么叫子梯度,是由于有一些凸函数是不可导的,没法用梯度。所以subgradient就在这里使用了。

    注意到。子梯度也是求解凸函数的。仅仅是凸函数不是处处可导。

    f:XR是一个凸函数,XRn是一个凸集。
    若是f在xf(x)可导。考虑一阶泰勒展开式:

    f(x)f(x)+(f(x)T(xx),xX

    能够得到f(x)的一个下届(f(x)是一个凸函数)
    若是f(x)x处不可导,仍然。能够得到一个f(x)的下届
    f(x)f(x)+gT(xx),xX

    这个g就叫做f(x)的子梯度。gRn
    非常明显。在一个点会有不止一个次梯度,在点x全部f(x)的次梯度集合叫做此微分f(x)
    f(x)在此处可导,仅仅有一个次梯度
    这里写图片描写叙述
    f(x)不可导,
    这里写图片描写叙述
    这里写图片描写叙述
    这里写图片描写叙述
    这里写图片描写叙述
    f(x)不可导
    我们能够看出,当f(x)是凸集而且在x附近有界时,f(x)是非空的,而且f(x)是一个闭凸集。

    次梯度性质

    f(x)={g}f(x)g=f(x)

    满足:
    1)scaling:
    (αf(x))=αf(x),if α>0

    2)addition:
    (f1(x)+f2(x))=fz(x)+f2(x)

    3)point-wise maximum:f(x)=maxi=1,...,mfi(x)而且fi(x)是可微的,那么:
    f(x)=Co{fi(x)fi(x)=f(x)}

    即全部该点函数值等于最大值的函数的梯度的凸包。


    在非约束最优化问题中。要求解一个凸函数f:RnR的最小值

    xargminxRnf(x)

    非常显然,若是f可导。那么我们仅仅须要求解导数为0的点
    f(x=minxRn0=f(x)

    当f不可导的时候,上述条件就能够一般化成
    f(x)=minxRn0f(x)

    也即0满足次梯度的定义

    f(x)f(x)+0T(xx),xRn

    以下是次梯度法的一般方法:

    1.t=1选择有限的正的迭代步长{αt}t=1
    2.计算一个次梯度gf(xt)
    3.更新xt+1=xtαtgt
    4.若是算法没有收敛。则t=t+1返回第二步继续计算

    次梯度方法性质:

    1.简单通用性:就是说第二步中,f(xt)不论什么一个次梯度都是能够的.
    2.收敛性:仅仅要选择的步长合适。总会收敛的
    3.收敛慢:须要大量的迭代才干收敛
    4.非单调收敛:gt不须要是下降方向。在这样的情况下,不能使用线性搜索选择合适的αt
    5.没有非常好的停止准则

    对于不同步长的序列的收敛结果

    最好还是设ftbest=min{f(x1),..,f(xt)}是t次迭代中的最优结果
    1.步长和不可消时(Non-summable diminishing step size):
    limtαt=0 而且t=1αt==
    这样的情况能够收敛到最优解:limtftbestf(x)=0
    2.Constant step size:
    αt=γ,where γ>0
    收敛到次优解:limtftbestf(x)αG2/2
    3.Constant step length:
    αt=γ||gt||(i.e. ||xt+1xt||=γ),||g||G,gf
    能够收敛到次优解limtftbestf(x)γG/2
    4.Polyak’s rule: αt=f(xt)f(x)||gt||2
    若是最优值f(x)可知则能够用这样的方法。

    不等式约束的凸二次优化问题

    问题formulate

    一个不等式约束的凸二次优化问题能够表示为:

    (w,b,ξ)=argminw,b,ξ[12||w||2+Ci=1mξi]

    s.t.       yi(wTxi+b)ξi1ξi,   0              i=1,,m,i=1,,m.

    注意到ξimax(0,1yi(wTxi+b)),而且当目标函数取得最优的时候,这里的等号是成立的,所以能够进行取代:
    ξi=max(0,1yi(wTxi+b))
    所以就能够将这个二次悠哈问题改写成一个非约束凸优化问题

    (w,b)=argminw,bf(w,b)=argminw,b[12||w||2��f0(w,b)+Ci=1mmax(0,1yi(wTxi+b))��fi(w,b)]

    问题求解

    由于

    f0(w,b)=12||w||2
    是可微的,而且
    wf0(w,b)=w,  bf0(w,b)=0
    函数fi(w,b)=max0,1yi(wTxi+b)是一个点最大值。所以其次微分能够写作,全部active function的梯度的convex combination

    i-th function wfi(w,b) bfi(w,b)
    I+={i|yi(wTxi+b)>1} 0 0
    I0={i|yi(wTxi+b)=1} Co{0,yixi} Co{0,yi}
    I={i|yi(wTxi+b)<1} yixi yi

    所以次微分能够写作f(w,b)=f0(w,b)+Cmi=1fi(w,b)能够使用參数话的表示方法,设0βi1,iI0,所以就有g=[wb]f(x)

    w(β)b(β)=wCiI0βiyixiCiIyixi=CiI0βiyiCiIyi

  • 相关阅读:
    TableViewCell bug
    iOS系统框架概述
    Cocoapods的安装与使用
    ios开发学习路径
    django第七天总结
    django第六天上课总结
    django第四天
    django第四天上课总结
    django第三天 小记
    django第三天
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5380108.html
Copyright © 2020-2023  润新知