【最优化方法】凸优化基本概念

凸优化(Convex Optimization)

凸优化问题具有许多重要的性质,使得其在理论和实践中都得到广泛应用。这些性质包括全局最优解的存在性、局部最优解即为全局最优解、 K K T ( K a r u s h − K u h n − T u c k e r ) KKT(Karush-Kuhn-Tucker) KKT(KarushKuhnTucker) 条件等。凸优化问题的求解算法通常具有高效性和可靠性。在机器学习、信号处理、控制系统设计等领域,凸优化都起到了关键的作用。

凸集(Convex Set)

定义:集合 D ∈ R n D \in R^n DRn 称为凸集,如果对于任意 x , y ∈ D x,y \in D x,yD
λ x + ( 1 − λ ) y ∈ D ,    ∀    0 ⩽ λ ⩽ 1 \lambda x + (1 - \lambda)y \in D,~~ \forall ~~ 0 \leqslant \lambda \leqslant 1 λx+(1λ)yD,    0λ1
换句话说,如果任意两点 x , y ∈ D x,y\in D x,yD,则连接 x x x y y y 的直线段上的所有点都在 D D D 内。

凸集合的运算(Operations on Convex Sets)

对凸集合进行一些基本运算,如交、并、差等,仍然得到凸集合。

凸函数(Convex Function)

定义:设函数 f ( x ) f(x) f(x) 在凸集上 D D D 有定义,如果对任意 x , y ∈ D x, y \in D x,yD 和任意 λ ∈ [ 0 , 1 ] \lambda \in [0,1] λ[0,1]
f ( λ x + ( 1 − λ ) y ) ⩽ λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x + (1 - \lambda)y) \leqslant \lambda f(x) + (1 - \lambda)f(y) f(λx+(1λ)y)λf(x)+(1λ)f(y)
则称 f ( x ) f(x) f(x) 是凸集 D D D 上的凸函数。

​ 如果对任意 x , y ∈ D , x ≠ y x,y \in D, x\neq y x,yD,x=y 和任意 λ ∈ ( 0 , 1 ) \lambda \in (0,1) λ(0,1)
f ( λ x + ( 1 − λ ) y ) < λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x + (1 - \lambda)y) < \lambda f(x) + (1 - \lambda)f(y) f(λx+(1λ)y)<λf(x)+(1λ)f(y)
则称 f ( x ) f(x) f(x) 是凸集 D D D 上的严格凸函数。

同凸函数相对应的是凹函数,一个函数 f ( x ) f(x) f(x) 称为是凸集 D D D 上的(严格)凹函数,那么 − f ( x ) -f(x) f(x) 是凸集 D D D 上的(严格)凸函数。

显然, f ( x ) = ∣ x ∣ f(x) = |x| f(x)=x R R R 上的凸函数; f ( x ) = x + 2 f(x)=x+2 f(x)=x+2 R R R 上的凸函数; f ( x ) = − x 1 2 − 5 x 2 2 + 2 x 1 x 2 + 10 x 1 − 10 x 2 f(x)=-x_1^2-5x_2^2+2x_1x_2+10x_1-10x_2 f(x)=x125x22+2x1x2+10x110x2 R 2 R^2 R2 上的凹函数; f ( x ) = x 3 f(x)=x^3 f(x)=x3 不是 R R R 上的凸函数,但是在 D = { x ∣ x ≥ 0 } D=\{x|x \geq 0\} D={xx0} 上是凸函数。

凸优化问题(Convex Optimization Problem)

一个优化问题被称为凸优化问题,如果其目标函数是凸函数,约束集合是凸集。一般形式的凸优化问题可以表示为:

min ⁡ f ( x ) s . t . g i ( x ) ≤ 0 , i = 1 , 2 , … , m h j ( x ) = 0 , j = 1 , 2 , … , p \begin{aligned} \min \quad & f({x}) \\ \mathrm{s.t.} \quad & {g}_i({x}) \leq 0, \quad i=1,2,\ldots,m \\ & {h}_j({x}) = 0, \quad j=1,2,\ldots,p \end{aligned} mins.t.f(x)gi(x)0,i=1,2,,mhj(x)=0,j=1,2,,p
其中 f ( x ) f(x) f(x) 是凸函数, g ( x ) g(x) g(x) 是凸函数, h ( x ) h(x) h(x) 是仿射函数。

例题

(1) f ( x 1 , x 2 , x 3 ) = 2 x 1 2 + 3 x 2 2 + 8 x 3 2 + 2 x 1 x 2 f(x_1,x_2,x_3) = 2x_1^2+3x_2^2+8x_3^2+2x_1x_2 f(x1,x2,x3)=2x12+3x22+8x32+2x1x2 求出海森矩阵,并判断该函数是否为凸函数。
∇ 2 f ( x ) = ( 4 2 0 2 6 0 0 0 16 ) \nabla^2f(x) = \begin{pmatrix} 4 & 2 & 0 \\ 2 & 6 & 0 \\ 0 & 0 & 16 \\ \end{pmatrix} 2f(x)= 4202600016

A = ∇ 2 f ( x ) A = \nabla^2f(x) A=2f(x) A − λ E A - \lambda E AλE
∣ A − λ E ∣ = ∣ 4 − λ 2 0 2 6 − λ 0 0 0 16 − λ ∣ = ( 16 − λ ) [ ( 4 − λ ) ( 6 − λ ) − 4 ] = ( 16 − λ ) ( λ + ( 5 − 5 ) ) ( λ − ( 5 + 5 ) ) \begin{aligned} |A - \lambda E| & = \begin{vmatrix} 4 - \lambda & 2 & 0 \\ 2 & 6 - \lambda & 0 \\ 0 & 0 & 16 - \lambda \\ \end{vmatrix} \\\\ & = (16 - \lambda)[(4 - \lambda)(6 - \lambda) - 4] \\\\ & = (16 - \lambda)(\lambda + (\sqrt{5} - 5))(\lambda - (\sqrt{5} + 5)) \end{aligned} AλE= 4λ2026λ00016λ =(16λ)[(4λ)(6λ)4]=(16λ)(λ+(5 5))(λ(5 +5))
求得 λ 1 = 16 , λ 2 = 5 − 5 , λ 3 = 5 + 5 \lambda_1 = 16, \lambda_2 = 5 - \sqrt{5}, \lambda_3 = 5 + \sqrt{5} λ1=16,λ2=55 ,λ3=5+5 ,显然特征值全部大于零,矩阵为正定矩阵

所以该函数是严格凸函数

(2)证明:两个凸集交集是凸集。

证明:设 x 1 , x 2 ∈ D 1 ∩ D 2 x_1,x_2 \in D_1 \cap D_2 x1,x2D1D2,则有 x 1 ∈ D 1 , x 2 ∈ D 1 , x 1 ∈ D 2 , x 2 ∈ D 2 x_1 \in D_1, x_2 \in D_1, x_1 \in D_2, x_2 \in D_2 x1D1,x2D1,x1D2,x2D2,由定义,对于 0 ⩽ λ ⩽ 1 0 \leqslant \lambda \leqslant 1 0λ1,有
λ x 1 + ( 1 − λ ) x 2 ∈ D 1 ,       λ x 1 + ( 1 − λ ) x 2 ∈ D 2 \lambda x_1 + (1 - \lambda)x_2 \in D_1, ~~~~~\lambda x_1 + (1 - \lambda)x_2 \in D_2 λx1+(1λ)x2D1,     λx1+(1λ)x2D2
λ x 1 + ( 1 − λ ) x 2 ∈ D 1 ∩ D 2 \lambda x_1 + (1 - \lambda)x_2 \in D_1 \cap D_2 λx1+(1λ)x2D1D2,所以, D 1 ∩ D 2 D_1 \cap D_2 D1D2 是凸集。

  • 25
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值