凸函数
凸函数(convex function)定义为:f(x)的定义域为凸集,且f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y),∀x,y∈domf,θ∈[0,1]。
上述不等式即为Jensen's 不等式:f(Ez)≤Ef(z)。
也就是说凸函数判断条件有二:1、convex domain;2、Jensen’s inequality。
等价条件
如果domf是凸的,判断凸函数的等价条件有:
- 各向皆凸:设f:Rn→R ,有映射g(t)=f(x+tv),domg=t∣x+tv∈domf,则f为凸函数当且仅当g(t)对任意x∈domf,v∈Rn都是凸函数。
- 一阶条件:对于可导函数,f为凸函数当且仅当f(y)≥f(x)+∇fT(x)(y−x),∀x,y∈domf。
- 二阶条件:对于二阶可导函数,f为凸函数当且仅当Hessian∇2f(x)⪰0,∀x∈domf。
- epigraph:f为凸函数当且仅当epigraph为凸集。epigraph的定义为:epif={(x,t)∈Rn+1∣x∈domf,f(x)≤t}。
一阶条件的几何意义是凸函数上任意点的切线都是凸函数的 under-estimator。因为这个切线仿佛承接住了整个函数f, 所以又叫 supporting hyperplane。
二阶条件表明凸函数任意一点“曲度”都是凸的。也可以说梯度是单调的。
- 单调梯度条件:对于可导函数,f为凸函数当且仅当(∇f(x)−∇f(y))T(x−y)≥0,∀x∈domf。
证明:(必要)由一阶条件得,
f(y)f(x)≥f(x)+∇fT(x)(y−x)≥f(y)+∇fT(y)(x−y)
两式相加得证。
(充分)定义g(t)=f(x+t(y−x)),那么g′(t)=∇f(x+t(y−x))T(y−x)。对于t≥0, 由于(∇f(x)−∇f(y))T(x−y)≥0,所以g′(t)−g′(0)≥0。则g(1)−g(0)=∫01g′(t)dt≥∫01g′(0)dt=g′(0),
即f(y)≥f(x)+∇f(x)T(y−x)。
常见凸函数
常见凸函数:
- ezx在R上为凸函数,对任意a∈R成立。
- xa在R++上为凸函数,如果a≥1或a≤0;为凹函数,如果0≤a≤1。
- ∣x∣p在R上为凸函数,如果p≥1。
- logx在R++上为凹函数。
- xlogx在R++(或R+)上为凹函数。
判断复合函数(composition)f(x)=h(g(x))=h(g1(x),⋯,gk(x))为凸的方法:
- f为凸,如果h为凸且对每一个自变数(argument)非减(nondecreasing),同时gi为凸。
- f为凸,如果h为凸且对每一个自变数(argument)非增(nonincreasing),同时gi为凹。
- f为凹,如果h为凹且对每一个自变数(argument)非减(nondecreasing),同时gi为凹。
Lipschitz smooth, strongly convex
Lipschitz smooth和strongly convex是证明算法收敛性而假设的常用条件。简单的说,这两条件一上一下,强迫目标凸函数长得像一个二次函数。
Lipschitz smooth
L-smooth表明一个函数的梯度的变化不会太突兀,或者说这个函数比较平滑。
定义
定义如下:
f is L-smooth if ∥∇f(x)−∇f(y)∥≤L∥x−y∥ for all x,y.
从几何上理解 L-smooth 函数,f的下界为超平面,上界为二次函数。如下图所示。
等价条件
等价条件有:
- f is convex and L-smooth.
- (∇f(x)−∇f(y))T(x−y)≤L∥x−y∥2 for all x, y.
- g(x)=2LxTx−f(x) is convex.
- quadratic upper bound: 0≤f(y)−f(x)−∇f(x)T(y−x)≤2L∥x−y∥2.
- f(y)≥f(x)+∇f(x)T(y−x)≤2L1∥∇f(x)−∇f(y)∥2.
- co-coercivity: (∇f(x)−∇f(y))T(x−y)≥L1∥∇f(x)−∇f(y)∥2 for all x, y.
证明:(1⟹2)两边同乘∥x−y∥,由Cauchy-Schwartz不等式,得
L∥x−y∥2≥∥∇f(x)−∇f(y)∥∥x−y∥≥(∇f(x)−∇f(y))T(x−y)。
(2⟺3)(∇f(x)−∇f(y))T(x−y)≤L∥x−y∥=L(x−y)T(x−y),即
(Lx−∇f(x)−Ly+∇f(y))T(x−y)≥0,
即(∇g(x)−∇g(y))T(x−y)≥0。由单调梯度条件,g是凸函数。
(3⟺4)由f和g的一阶条件计算得证。
(4⟺5)令z=y+L1(∇f(x)−∇f(y))。则
f(y)−f(x)(qub)=f(y)−f(z)+f(z)−f(x)≥−∇f(y)T(z−y)−2L∥y−z∥2+∇f(x)T(z−x)≥−L1∇f(y)T(∇f(x)−∇f(y))−2L1∥∇f(x)−∇f(y)∥2+∇f(x)T(y−x)+L1∇f(x)T(∇f(x)−∇f(y))=∇f(x)T(y−x)+2L1∥∇f(x)−∇f(y)∥2
(5⟹6)由5得
f(y)f(x)≥f(x)+∇f(x)T(y−x)+2L1∥∇f(x)−∇f(y)∥2≥f(y)+∇f(y)T(x−y)+2L1∥∇f(x)−∇f(y)∥2
两式相加得6。
(6⟹1)对6的左边使用Cauchy-Schwartz不等式可得L-smooth。
6的右边≥0,由单调梯度条件可得convex。
Strongly convex
Strongly convex表明一个函数相对二次函数凸的程度。
定义
定义如下:
f is μ-strongly convex if f(x)−2μxTx is convex.
一个函数减去二次函数仍然是 convex, 说明它至少有这个二次函数这么凸。或者说这个二次函数是它的一个下界。如下图所示。
等价条件
- f is differentiable and μ-strongly convex.
- f is differentiable and f(αx+βy)≤αf(x)+βf(y)−2μαβ∥x−y∥2 for all x,y, for all α,β≥0 s.t. α+β=1.
- (quadratic lower bound): f(y)≥f(x)+∇f(x)T(y−x)+2μ∥y−x∥2.
- (strong monotonicity or coercivity): (∇f(x)−∇f(y))T(x−y)≥μ∥x−y∥2.
证明:(1⟺2)对f(x)−2μxTx使用凸函数定义。
(1⟺3)对f(x)−2μxTx使用凸函数一阶条件。
(1⟺4)对f(x)−2μxTx使用凸函数单调梯度条件。
拉格朗日函数和对偶函数
令x∈Rn,定义域为D。考虑凸优化问题
mins.t.f0(x)fi(x)≤0,i=1,⋯,mAx=b,A∈Rp×n,p<n.
拉格朗日函数(Lagrangian)为
L(x,λ,ν)=f0(x)+λTf(x)+νT(Ax−b).
再取下确界得到拉格朗日对偶函数(lagrange dual function)
g(λ,ν)=x∈Dinf(f0(x)+λTf(x)+νT(Ax−b)).
对偶函数性质:
- g(λ,ν)为凹函数;
- g(λ,ν)≤f0(x∗)对任意λ≥0,ν成立。
对偶函数可以给出原问题最优解的一个不平凡下界,这意味着如果原问题很难求解的时候,我们可以转变思路,求解一个新的优化问题:
maxs.t.g(λ,ν)λ≥0.
常用对偶问题的例子:
对偶问题
令对偶问题的最优解为g∗,原问题最优解为f0∗。那么有
- 弱对偶(weak duality):满足g∗≤f0∗,无论原问题是否为凸都成立;
- 强对偶(strong duality):满足g∗=f0∗,如果原问题为凸,一般都成立。在凸优化中,保证强对偶成立的条件被称为constraint qualifications,如Slater's condtion。
Slater's condtion:存在可行解x∈intD,使得Ax=b,fi(x)<0,i=1,⋯,m。
- 由于存在线性等式约束,因此实际定义域可能不存在内点,可以将这一条件放松为相对内点,即x∈rintD;
- 如果不等式约束中存在线性不等式,那么它也不必严格小于0,即fi(x)≤0。
KKT条件
由上面的分析,原问题最优解为f0∗=infxsupλ,νL(x,λ,ν),g∗=supλ,νinfxL(x,λ,ν)。
弱对偶性即max-min不等式:
xinfλ,νsupL(x,λ,ν)≥λ,νsupxinfL(x,λ,ν)
强对偶性说明x,λ,ν是拉格朗日函数的鞍点。
KKT条件:
Ax∗=b,fi(x∗)λ∗∇f0(x∗)+i=1∑mλi∗∇fi(x∗)+ATν∗λi∗fi(x∗)≤0,i=1,⋯,m≥0=0=0,i=1,⋯,m.
如果Slater's condtion满足,那么x为最优解当且仅当存在λ,ν满足 KKT 条件!