Optimization

凸优化

Theory I: Fundamentals

1. Introduction

首先,一个凸优化问题具有以下基本形式:
min ⁡ x ∈ D f ( x ) \min_{{x \in D}} f(x) xDminf(x)约束条件为: g i ( x ) ≤ 0 , i = 1 , 2 , … , m g_i(x) \leq 0, \quad i = 1, 2, \dots, m gi(x)0,i=1,2,,m
h j ( x ) = 0 , j = 1 , 2 , … , r h_j(x) = 0, \quad j = 1, 2, \dots, r hj(x)=0,j=1,2,,r
其中, f f f g i g_i gi 都是凸函数的,且 h j h_j hj是仿射变换。
凸优化问题有一个良好的性质:对于一个凸优化问题来说,任何局部最小值都是全局最小值。凸优化问题是优化问题中被研究得比较成熟的,也是非凸优化的基础,许多非凸优化问题也被局部拟为凸优化问题求解。

2.Convexity I: Sets and functions

1. 凸集

定义:一个集合 $C \subseteq \mathbb{R}^n $是凸集,如果对任意 $ x, y \in C $ 都有
t x + ( 1 − t ) y ∈ C ,  其中  0 ≤ t ≤ 1 t x + (1 - t) y \in C, \quad \text{ 其中 } 0 \leq t \leq 1 tx+(1t)yC, 其中 0t1
任何凸集的线性组合仍然是凸集,所有凸集的集合称为凸包。空集、点、线、球体(如范数球体 { x : ∥ x ∥ ≤ r } \{x : \|x\| \leq r\} {x:xr})、超平面、半空间、仿射空间、多面体等都是凸集。
图中左边的多边形表示的是一个凸集,因为它满足上述条件,即两点之间的线段都在这个集合内;而右边的形状不是凸集,因为连接某些点的线段部分不在这个集合内。

在这里插入图片描述

2. 凸锥

一个集合 C ⊆ R n C \subseteq \mathbb{R}^n CRn 被称为, 且当且仅当对于集合中的任意点 x ∈ C x \in C xC, 乘以一个非负标量 t ≥ 0 t \geq 0 t0 后的点 t x tx tx 仍然属于集合 C C C

x ∈ C    ⟹    t ⋅ x ∈ C for all t ≥ 0 x \in C \implies t \cdot x \in C \quad \text{for all} \quad t \geq 0 xCtxCfor allt0

一个凸锥是既是锥又是凸集的集合。也就是说,对于集合中的任意两个点,任意非负权重的线性组合仍然位于集合内:

x 1 , x 2 ∈ C    ⟹    t 1 x 1 + t 2 x 2 ∈ C for all t 1 , t 2 ≥ 0 x_1, x_2 \in C \implies t_1 x_1 + t_2 x_2 \in C \quad \text{for all} \quad t_1, t_2 \geq 0 x1,x2Ct1x1+t2x2Cfor allt1,t20
凸锥的实例如下图:
在这里插入图片描述
但是,是否可以举一个例子,使得集合 C C C为锥,但不是凸锥呢?如下图,如果两条直线组成的锥,分别从直线上选两点,则亮点的线性组合不一定在这两条直线上。
在这里插入图片描述

3. 凸锥的性质

(1)Separating hyperplane理论:两个不相交的凸集之间必然存在一个分割超平面,使得两个凸集可以分开。即如果 C C C D D D 都是非空凸集,且 C ∩ D = ∅ C \cap D = \varnothing CD=,则必然存在 a , b a, b a,b 使得

C ⊆ { x : a T x ≤ b } 和 D ⊆ { x : a T x ≥ b } . C \subseteq \{x : a^T x \leq b\} \quad \text{和} \quad D \subseteq \{x : a^T x \geq b\}. C{x:aTxb}D{x:aTxb}.

如下图:

在这里插入图片描述

(2) Supporting hyperplane 理论: 凸集边界上的一点必然存在一个支撑超平面穿过该点,即如果 C C C 都是非空凸集, x 0 ∈ b d ( C ) x_0 \in bd(C) x0bd(C),那么必然存在一个超平面 a a a,使得 C ⊆ { x : a T x ≤ a T x 0 } C \subseteq \{ x : a^T x \leq a^T x_0 \} C{x:aTxaTx0},如下图:

4.Preserving Convexity

(1)交集(Intersection):凸集的交集仍然是凸集

(2)对凸集进行缩放和平移后,结果仍然是凸的。即如果 C C C是凸集,那么对于 ∀ a , b \forall a, b a,b a C + b = { a x + b : x ∈ C } aC + b = \{ ax + b : x \in C \} aC+b={ax+b:xC}

(3)仿射变换后的集合仍然是凸的。即如果 f ( x ) = A x + b f(x) = Ax + b f(x)=Ax+b C C C 是凸集,那么: f ( C ) = { f ( x ) : x ∈ C } f(C) = \{ f(x) : x \in C \} f(C)={f(x):xC}

(4)凸集的仿射逆映射仍然是凸集。如果 D D D 是凸集且 f ( x ) = A x + b f(x) = Ax + b f(x)=Ax+b,那么: f − 1 ( D ) = { x : f ( x ) ∈ D } f^{-1}(D) = \{ x : f(x) \in D \} f1(D)={x:f(x)D}

5.凸函数

定义: 假设函数 f : R n → R f: \mathbb{R}^n \rightarrow \mathbb{R} f:RnR,其定义域 (domain) $ \text{dom}(f) \subseteq \mathbb{R}^n$ 是一个凸集,函数 f f f 被称为凸函数,如果对于所有 x , y ∈ dom ( f ) x, y \in \text{dom}(f) x,ydom(f) 和任意的 t ∈ [ 0 , 1 ] t \in [0,1] t[0,1],都有:

f ( t x + ( 1 − t ) y ) ≤ t f ( x ) + ( 1 − t ) f ( y ) f(tx + (1 - t)y) \leq t f(x) + (1 - t) f(y) f(tx+(1t)y)tf(x)+(1t)f(y)

这个不等式意味着,函数图像上的任何两点之间的连线都高于函数。具体表现为下图:

在这里插入图片描述

与凸函数相反,凹函数(Concave Function) 满足的条件是:

f ( t x + ( 1 − t ) y ) ≥ t f ( x ) + ( 1 − t ) f ( y ) f(tx + (1 - t)y) \geq t f(x) + (1 - t) f(y) f(tx+(1t)y)tf(x)+(1t)f(y)

换句话说,凹函数的图像位于直线段的上方。这意味着,对于凹函数,连线两点之间的直线会位于曲线的下方。

严格凸函数(Strictly Convex):函数 f f f 被称为 严格凸 (strictly convex),如果对于任意 x ≠ y x \neq y x=y t ∈ ( 0 , 1 ) t \in (0, 1) t(0,1),满足:

f ( t x + ( 1 − t ) y ) < t f ( x ) + ( 1 − t ) f ( y ) f(tx + (1 - t)y) < t f(x) + (1 - t) f(y) f(tx+(1t)y)<tf(x)+(1t)f(y)

强凸函数(Strongly Convex): 函数 f f f 被称为强凸 (strongly convex),如果存在一个参数 m > 0 m > 0 m>0,使得:

f ( x ) − m 2 ∥ x ∥ 2 2 f(x) - \frac{m}{2} \|x\|_2^2 f(x)2mx22

是一个凸函数。

强凸函数相对于严格凸函数的一个更强的要求是,它的凸性至少像一个二次函数(quadratic function)一样

6.凸函数性质

1.Epigraph characterization: 一个函数 f f f 是凸函数,当且仅当它的上图表(epigraph)是凸集。

上图表(epigraph)定义为:

epi ( f ) = { ( x , t ) ∈ dom ( f ) × R : f ( x ) ≤ t } \text{epi}(f) = \{ (x, t) \in \text{dom}(f) \times \mathbb{R} : f(x) \leq t \} epi(f)={(x,t)dom(f)×R:f(x)t}

这意味着上图表是由所有点 ( x , t ) (x, t) (x,t) 组成的集合,其中 t t t 是函数值 f ( x ) f(x) f(x) 的上界。

%% [markdown]
2.Convex sublevel sets:如果函数 f f f 是凸函数,那么它的下水平集(sublevel set) { x ∈ dom ( f ) : f ( x ) ≤ t } \{ x \in \text{dom}(f) : f(x) \leq t \} {xdom(f):f(x)t}也是凸的。反之则不成立。

3.First-order Characterization:如果函数 f f f 是可微的,那么函数 f f f 是凸的,当且仅当它的定义域 dom ( f ) \text{dom}(f) dom(f) 是凸的,且满足以下条件:

f ( y ) ≥ f ( x ) + ∇ f ( x ) T ( y − x ) f(y) \geq f(x) + \nabla f(x)^T (y - x) f(y)f(x)+f(x)T(yx)

对于所有 x , y ∈ dom ( f ) x, y \in \text{dom}(f) x,ydom(f)

解释:函数 f f f 在任意点 x x x 的梯度 ∇ f ( x ) \nabla f(x) f(x) 描述了该点的切线方向。凸性要求在所有点 x x x y y y 之间,函数值始终大于或等于切线的值。

4.Second-order characterization: 如果函数 f f f 是二阶可微的,那么函数 f f f 是凸的,当且仅当它的定义域 dom ( f ) \text{dom}(f) dom(f) 是凸的,且满足:

∇ 2 f ( x ) ⪰ 0 \nabla^2 f(x) \succeq 0 2f(x)0

对于所有 x ∈ dom ( f ) x \in \text{dom}(f) xdom(f),其中 ∇ 2 f ( x ) \nabla^2 f(x) 2f(x) 表示函数 f f f 的海森矩阵 (Hessian matrix)。

5.Jensen’s inequality:如果 f f f 是凸函数,且 X X X 是定义在 dom ( f ) \text{dom}(f) dom(f) 上的随机变量,那么:

f ( E [ X ] ) ≤ E [ f ( X ) ] f(\mathbb{E}[X]) \leq \mathbb{E}[f(X)] f(E[X])E[f(X)]

其中 E [ X ] \mathbb{E}[X] E[X] 是随机变量 X X X 的期望值。

7.凸函数变换

当我们对一些凸函数进行特定的操作时,结果仍然是凸函数。

(1)Nonnegative linear combination:如果 f 1 , f 2 , … , f m f_1, f_2, \dots, f_m f1,f2,,fm 是凸函数,那么它们的非负线性组合:

a 1 f 1 + a 2 f 2 + ⋯ + a m f m a_1 f_1 + a_2 f_2 + \dots + a_m f_m a1f1+a2f2++amfm

也是凸的,只要系数 a 1 , a 2 , … , a m ≥ 0 a_1, a_2, \dots, a_m \geq 0 a1,a2,,am0

(2)Pointwise maximization:如果对于每个 s ∈ S s \in S sS,函数 f s ( x ) f_s(x) fs(x) 是凸函数,那么定义:

f ( x ) = max ⁡ s ∈ S f s ( x ) f(x) = \max_{s \in S} f_s(x) f(x)=sSmaxfs(x)

f ( x ) f(x) f(x) 也是凸的。这里,集合 S S S 可以是有限集或无限集。

(3)Partial minimization:如果 g ( x , y ) g(x, y) g(x,y) 是关于 x x x y y y 的凸函数,且 C C C 是凸集,那么函数:

f ( x ) = min ⁡ y ∈ C g ( x , y ) f(x) = \min_{y \in C} g(x, y) f(x)=yCming(x,y)

也是凸的。

(4)Affine composition:如果函数 f f f 是凸的,那么仿射组合 g ( x ) = f ( A x + b ) g(x) = f(Ax + b) g(x)=f(Ax+b) 也是凸的。

8.Vector composition

考虑复合函数:

f ( x ) = h ( g ( x ) ) = h ( g 1 ( x ) , g 2 ( x ) , … , g k ( x ) ) f(x) = h(g(x)) = h(g_1(x), g_2(x), \dots, g_k(x)) f(x)=h(g(x))=h(g1(x),g2(x),,gk(x))

其中:

  • g : R n → R k g : \mathbb{R}^n \rightarrow \mathbb{R}^k g:RnRk 是一个多元向量函数;
  • h : R k → R h : \mathbb{R}^k \rightarrow \mathbb{R} h:RkR 是一个标量函数;
  • f : R n → R f : \mathbb{R}^n \rightarrow \mathbb{R} f:RnR 是我们要判断凸性或凹性的目标函数。

函数的凸性或凹性条件

根据 h h h g g g 的不同凸凹性质,复合函数 f f f 的凸性或凹性遵循以下规则:

  1. f f f 是凸的

    • h h h 是凸的且在每个变量上非递减,而且 g g g 是凸函数时,复合函数 f ( x ) f(x) f(x) 是凸的。
  2. f f f 是凸的

    • h h h 是凸的且在每个变量上非递增,而且 g g g 是凹函数时,复合函数 f ( x ) f(x) f(x) 也是凸的。
  3. f f f 是凹的

    • h h h 是凹的且在每个变量上非递减,而且 g g g 是凹函数时,复合函数 f ( x ) f(x) f(x) 是凹的。
  4. f f f 是凹的

    • h h h 是凹的且在每个变量上非递增,而且 g g g 是凸函数时,复合函数 f ( x ) f(x) f(x) 也是凹的。

Convexity II: Optimization basics

1.Optimization terminology

一个典型的 凸优化问题 可以写成以下形式:

min ⁡ x ∈ D f ( x ) subject to g i ( x ) ≤ 0 , i = 1 , … , m , A x = b \min_{x \in D} f(x) \quad \text{subject to} \quad g_i(x) \leq 0, \quad i = 1, \dots, m, \quad Ax = b xDminf(x)subject togi(x)0,i=1,,m,Ax=b

其中:

  • f ( x ) f(x) f(x) 是目标函数,我们希望最小化这个函数。
  • g i ( x ) g_i(x) gi(x) 是不等式约束函数,要求 g i ( x ) ≤ 0 g_i(x) \leq 0 gi(x)0,每个 g i ( x ) g_i(x) gi(x) 都是凸的。
  • A x = b Ax = b Ax=b 是等式约束。
  • D D D 是优化变量 x x x 的定义域,通常是 f ( x ) f(x) f(x) g i ( x ) g_i(x) gi(x) 的共同定义域。

可行解、最优解和次优解

  • Optimal: 如果 x x x 是可行点,并且 f ( x ) = f ∗ f(x) = f^* f(x)=f,则称 x x x 为最优解(optimal solution),也可以称为解(solution)或极小值点(minimizer)。

  • ϵ \epsilon ϵ-suboptimal: 如果 x x x 是可行点,并且 f ( x ) ≤ f ∗ + ϵ f(x) \leq f^* + \epsilon f(x)f+ϵ,则称 x x x ϵ \epsilon ϵ-次优解(e-suboptimal),这里的 ϵ \epsilon ϵ 表示我们允许解比最优值略差。

  • Active constraint: 如果在某个可行点 x x x,约束 g i ( x ) = 0 g_i(x) = 0 gi(x)=0,则称该约束 g i ( x ) g_i(x) gi(x) 在点 x x x 处是“活跃的”(active)。活跃约束表明解刚好处于该约束的边界上。

凸优化问题的等价转换

凸优化问题的 最小化问题 可以等价地表示为 最大化问题。具体地:

min ⁡ x f ( x ) subject to g i ( x ) ≤ 0 , A x = b \min_x f(x) \quad \text{subject to} \quad g_i(x) \leq 0, \quad Ax = b xminf(x)subject togi(x)0,Ax=b

可以等价地转换为:

max ⁡ x − f ( x ) subject to g i ( x ) ≤ 0 , A x = b \max_x -f(x) \quad \text{subject to} \quad g_i(x) \leq 0, \quad Ax = b xmaxf(x)subject togi(x)0,Ax=b

2.解集(Solution Set)

凸优化问题的解集

X opt X_{\text{opt}} Xopt 为凸优化问题的所有解的集合,定义为:

X opt = arg ⁡ min ⁡ f ( x ) subject to g i ( x ) ≤ 0 , A x = b X_{\text{opt}} = \arg \min f(x) \quad \text{subject to} \quad g_i(x) \leq 0, \quad Ax = b Xopt=argminf(x)subject togi(x)0,Ax=b

这是问题的解集,包含了所有满足约束条件并且使目标函数 f ( x ) f(x) f(x) 达到最小值的点。

解集 X opt X_{\text{opt}} Xopt是一个凸集

如果目标函数 f f f是严格凸的,那么解是唯一的

Examples:

(1)Lasso 问题定义:Lasso 问题是用于 稀疏线性回归 的一种优化问题。其标准形式为:

min ⁡ β ∥ y − X β ∥ 2 2 subject to ∥ β ∥ 1 ≤ s \min_{\beta} \| y - X\beta \|_2^2 \quad \text{subject to} \quad \|\beta\|_1 \leq s βminy22subject toβ1s

其中:

  • y ∈ R n y \in \mathbb{R}^n yRn 是观测向量。
  • X ∈ R n × p X \in \mathbb{R}^{n \times p} XRn×p 是设计矩阵或特征矩阵。
  • β ∈ R p \beta \in \mathbb{R}^p βRp 是回归系数向量(我们要优化的变量)。
  • ∥ y − X β ∥ 2 2 \|y - X\beta\|_2^2 y22 是目标函数,即拟合误差的平方和。
  • ∥ β ∥ 1 ≤ s \|\beta\|_1 \leq s β1s β \beta β ℓ 1 \ell_1 1 范数约束,这个约束鼓励稀疏解(即很多系数为零)。

(2)凸性分析

目标函数的凸性:
目标函数 ∥ y − X β ∥ 2 2 \| y - X\beta \|_2^2 y22 是二次函数,二次函数是凸函数。因此目标函数是 凸的

约束的凸性:
约束 ∥ β ∥ 1 ≤ s \|\beta\|_1 \leq s β1s 是关于 β \beta β ℓ 1 \ell_1 1 范数约束。 ℓ 1 \ell_1 1 范数是一个凸函数,因此约束也是 凸的

结论:
由于目标函数和约束都是凸的,因此这个 Lasso 问题是一个 凸优化问题

(3)SVM 问题的定义:支持向量机是一个用于分类问题的优化模型,其目标是通过最大化类间的间隔来找到最优的分离超平面。SVM 的优化问题可以写作:

min ⁡ β , β 0 , ξ 1 2 ∥ β ∥ 2 2 + C ∑ i = 1 n ξ i \min_{\beta, \beta_0, \xi} \frac{1}{2} \|\beta\|_2^2 + C \sum_{i=1}^{n} \xi_i β,β0,ξmin21β22+Ci=1nξi

其中:

  • β \beta β 是分类器的权重向量。
  • β 0 \beta_0 β0 是偏置(截距)。
  • ξ i \xi_i ξi 是松弛变量,用于处理无法被正确分类的样本。
  • C C C 是正则化参数,用于平衡分类误差和间隔的最大化。

约束条件:

  • ξ i ≥ 0 \xi_i \geq 0 ξi0,即松弛变量必须非负,用于衡量误分类的程度。

  • y i ( x i T β + β 0 ) ≥ 1 − ξ i y_i (x_i^T \beta + \beta_0) \geq 1 - \xi_i yi(xiTβ+β0)1ξi,该约束表示每个样本的正确分类条件。对于每个样本 i i i,若它是正确分类的,则 ξ i \xi_i ξi 会很小;若被错误分类, ξ i \xi_i ξi 会增大,表示分类的误差。

3.局部最优解即是全局最优解

(1) 局部最优解 (locally optimal point):对于一个凸优化问题,如果某个可行点 x x x 是局部最优解,表示在某个范围 R > 0 R > 0 R>0 内,对于所有与 x x x 距离小于 R R R 的可行点 y y y,函数值满足:

f ( x ) ≤ f ( y ) f(x) \leq f(y) f(x)f(y)

换句话说,在这个局部区域内,没有其他可行点 y y y x x x 的函数值更小。

凸优化和非凸优化对比:
在这里插入图片描述

  • 左图 (Convex): 展示了一个凸函数的图像。由于函数是凸的,局部最优点(图中的最低点)也是全局最优点。这表明凸优化问题只会有一个“谷底”,所有的最优点都在全局范围内成立。

  • 右图 (Nonconvex): 展示了一个非凸函数的图像。非凸函数可能存在多个局部最优点,但这些局部最优点并不一定是全局最优点。在非凸问题中,可能会有多个局部低谷,而全局最优点位于其中的一个低谷中。

3.Rewriting constraints

带约束优化问题

min ⁡ x f ( x ) subject to g i ( x ) ≤ 0 , i = 1 , … , m , A x = b \min_x f(x) \quad \text{subject to} \quad g_i(x) \leq 0, \quad i = 1, \dots, m, \quad Ax = b xminf(x)subject togi(x)0,i=1,,m,Ax=b

我们可以将这个问题重新表述为:

min ⁡ x f ( x ) subject to x ∈ C \min_x f(x) \quad \text{subject to} \quad x \in C xminf(x)subject toxC

其中,可行域 C C C 被定义为:

C = { x : g i ( x ) ≤ 0 , i = 1 , … , m , A x = b } C = \{x : g_i(x) \leq 0, \quad i = 1, \dots, m, \quad Ax = b\} C={x:gi(x)0,i=1,,m,Ax=b}

可以引入了**指示函数 I C ( x ) I_C(x) IC(x) **来表示集合 C C C 的约束。指示函数的定义为:

I C ( x ) = { 0 , if  x ∈ C ∞ , if  x ∉ C I_C(x) = \begin{cases} 0, & \text{if } x \in C \\ \infty, & \text{if } x \notin C \end{cases} IC(x)={0,,if xCif x/C

这意味着:

  • 如果 x x x 在可行域 C C C 内,那么指示函数 I C ( x ) = 0 I_C(x) = 0 IC(x)=0,不会对优化目标造成任何影响。
  • 如果 x x x 不在可行域 C C C 内,指示函数 I C ( x ) = ∞ I_C(x) = \infty IC(x)=,确保该点永远不会成为最优解,因为目标函数值会非常大。

因此,我们可以将原来的优化问题进一步转换为无约束形式

min ⁡ x f ( x ) + I C ( x ) \min_x f(x) + I_C(x) xminf(x)+IC(x)

4.一阶最优条件

优化问题的目标是最小化一个可微的目标函数 f ( x ) f(x) f(x),条件是解 x x x 必须在一个可行集合 C C C 内。

一个点 x x x 是最优解,当且仅当它满足以下条件:

∇ f ( x ) T ( y − x ) ≥ 0 对于所有  y ∈ C \nabla f(x)^T (y - x) \geq 0 \quad \text{对于所有 } y \in C f(x)T(yx)0对于所有 yC

换句话说,从当前点 x x x 起的所有可行方向都与梯度方向对齐。当最优化问题是无约束时,该条件简化为 ∇ f ( x ) = 0 \nabla f(x) = 0 f(x)=0

这意味着在无约束优化中,最优解处的梯度为零,也就是说,在该点上函数没有任何方向的上升或下降趋势。

Canonical problem forms

1. 线性规划 (Linear Program):
  • 定义:线性规划是指目标函数和约束条件都为线性函数的优化问题。

  • 形式

min ⁡ x c T x subject to D x ≤ d , A x = b \min_x c^T x \quad \text{subject to} \quad Dx \leq d, \quad Ax = b xmincTxsubject toDxd,Ax=b

其中, c c c 是目标函数的系数向量, D D D A A A 是约束条件的系数矩阵。

Example :基追踪(Basis Pursuit)

  • 问题描述:在欠定线性系统中,寻找稀疏解,即找到最少非零元素的解。

  • 非凸形式

min ⁡ β ∥ β ∥ 0 subject to X β = y \min_{\beta} \|\beta\|_0 \quad \text{subject to} \quad X\beta = y βminβ0subject to=y

其中 ∥ β ∥ 0 \|\beta\|_0 β0 表示 β \beta β 向量中非零元素的个数。

ℓ 1 \ell_1 1 近似 (Basis Pursuit):由于 ℓ 0 \ell_0 0 范数是非凸的,实际问题中常使用 ℓ 1 \ell_1 1 范数来近似求解稀疏问题。

min ⁡ β ∥ β ∥ 1 subject to X β = y \min_{\beta} \|\beta\|_1 \quad \text{subject to} \quad X\beta = y βminβ1subject to=y

这里的 ∥ β ∥ 1 \|\beta\|_1 β1 β \beta β 向量的 ℓ 1 \ell_1 1 范数,即所有元素绝对值之和。

2. 凸二次规划 (Convex Quadratic Program):
  • 定义:凸二次规划是目标函数包含一个二次项,且约束条件为线性的优化问题。

  • 标准形式

min ⁡ x c T x + 1 2 x T Q x subject to D x ≤ d , A x = b \min_x c^T x + \frac{1}{2} x^T Q x \quad \text{subject to} \quad Dx \leq d, \quad Ax = b xmincTx+21xTQxsubject toDxd,Ax=b

其中:

  • c T x c^T x cTx 是线性部分, 1 2 x T Q x \frac{1}{2} x^T Q x 21xTQx 是二次项。

  • Q Q Q 是一个半正定矩阵,保证问题是凸的。

  • D x ≤ d Dx \leq d Dxd A x = b Ax = b Ax=b 是线性约束条件。

  • 凸性:当 Q ⪰ 0 Q \succeq 0 Q0(即 Q Q Q 是正半定矩阵)时,问题是凸优化问题。

Example :支持向量机(Support Vector Machines, SVM)

  • 问题描述:SVM 的目标是找到一个最优的超平面来分离两个类别的数据点。

  • 形式

min ⁡ β , β 0 , ξ 1 2 ∥ β ∥ 2 2 + C ∑ i = 1 n ξ i subject to ξ i ≥ 0 , y i ( β T x i + β 0 ) ≥ 1 − ξ i \min_{\beta, \beta_0, \xi} \frac{1}{2} \|\beta\|_2^2 + C \sum_{i=1}^{n} \xi_i \quad \text{subject to} \quad \xi_i \geq 0, \quad y_i(\beta^T x_i + \beta_0) \geq 1 - \xi_i β,β0,ξmin21β22+Ci=1nξisubject toξi0,yi(βTxi+β0)1ξi

Example :Lasso回归

  • 形式1:带约束形式

min ⁡ β ∥ y − X β ∥ 2 2 subject to ∥ β ∥ 1 ≤ s \min_{\beta} \|y - X\beta\|_2^2 \quad \text{subject to} \quad \|\beta\|_1 \leq s βminy22subject toβ1s

  • s s s 是一个调节参数,控制稀疏性。

  • 形式2:拉格朗日形式

min ⁡ β 1 2 ∥ y − X β ∥ 2 2 + λ ∥ β ∥ 1 \min_{\beta} \frac{1}{2} \|y - X\beta\|_2^2 + \lambda \|\beta\|_1 βmin21y22+λβ1

  • λ ≥ 0 \lambda \geq 0 λ0 是一个调节参数,权衡误差和稀疏性。
3.半定规划 (Semidefinite Program, SDP):
  • 定义:半定规划是一类优化问题,目标是最小化线性目标函数,并且约束条件涉及矩阵的正半定性。

  • 一般形式

min ⁡ x c T x subject to x 1 F 1 + x 2 F 2 + ⋯ + x n F n ⪯ F 0 , A x = b \min_x c^T x \quad \text{subject to} \quad x_1 F_1 + x_2 F_2 + \cdots + x_n F_n \preceq F_0, \quad Ax = b xmincTxsubject tox1F1+x2F2++xnFnF0,Ax=b

其中:

  • F j ∈ S d F_j \in S^d FjSd 表示对称矩阵,且 S d S^d Sd d × d d \times d d×d 对称矩阵的空间。
  • ⪯ \preceq 表示矩阵的部分序关系,即 F 0 − ( x 1 F 1 + ⋯ + x n F n ) F_0 - (x_1 F_1 + \cdots + x_n F_n) F0(x1F1++xnFn) 是正半定矩阵(所有特征值非负)。
  • A ∈ R m × n , c ∈ R n , b ∈ R m A \in \mathbb{R}^{m \times n}, c \in \mathbb{R}^n, b \in \mathbb{R}^m ARm×n,cRn,bRm 是线性约束和目标函数的系数矩阵和向量。
4.锥规划(Conic Programming)
5.二阶锥规划(Second-Order Cone Programming, SOCP)

QP 是二阶锥规划(SOCP)的特例

参考资料:

Convex Optimization

### Nevergrad Optimization Library Usage and Examples Nevergrad is a Python toolkit dedicated to performing efficient black-box optimization. This tool offers various algorithms suitable for optimizing complex functions without requiring gradient information. #### Installation To start with Nevergrad, installation via pip is straightforward: ```bash pip install nevergrad ``` #### Basic Example Using Nevergrad Optimizer Consider an example where one aims at minimizing a simple quadratic function \(f(x) = \sum_{i=0}^{n-1}(x_i)^2\). Here’s how this could be done using Nevergrad: ```python import numpy as np from nevergrad import instrumentation as instru from nevergrad.optimization import optimizerlib def square_sum(x): """Function returning sum of squares.""" return float(np.sum([v ** 2 for v in x])) # Define parameter space parametrization = instru.var.Array(2) # Choose an optimizer from available options; here we choose OnePlusOne. optimizer_factory = optimizerlib.OnePlusOne(parametrization=parametrization, budget=100) recommendation = optimizer_factory.minimize(square_sum) print(f"Found minimum value {square_sum(recommendation.value)} at point {recommendation.value}") ``` This code snippet demonstrates setting up the environment, defining parameters, selecting an appropriate algorithm (in this case `OnePlusOne`), running the minimization process over a defined number of iterations (`budget`), and finally obtaining results[^1]. #### Advanced Features For more advanced scenarios involving constraints or multi-objective optimizations, Nevergrad also supports these features through its API design. Users may define custom fitness landscapes along with constraint handling mechanisms directly within their objective functions. In addition, Nevergrad integrates well with parallel computing frameworks allowing distributed execution across multiple nodes which significantly speeds up computation time especially when dealing with computationally expensive tasks like hyperparameter tuning in deep learning models. --related questions-- 1. How does Nevergrad compare against other popular optimization libraries? 2. Can you provide guidance on choosing between different optimizers offered by Nevergrad based on specific problem characteristics? 3. What are some best practices while working with constrained optimization problems using Nevergrad? 4. Is there support for asynchronous evaluations in Nevergrad's architecture? 5. Could you elaborate on integrating Nevergrad into existing machine learning pipelines efficiently?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值