优化|非强凸问题的一阶算法线性收敛条件(一)

在这里插入图片描述

原文信息(包括题目、发表期刊、原文链接等):Linear convergence of first order methods for non-strongly convex optimization

原文作者:I. Necoara, Yu. Nesterov, F. Glineur

论文解读者:陈宇文

编者按:

传统的一阶算法在强凸条件下是可以得到线性收敛速率的,但是非强凸条件下只有次线性收敛速率。近年来,最新的研究表明在某些特殊条件下,一阶算法的线性收敛速度仍然成立。本文将基于发表于Mathematical Programming上的Linear convergence of first order methods for non-strongly convex optimization一文[1]详细介绍有哪些非强凸条件可以使得一阶算法的收敛速率成立。

一、传统的一阶算法收敛速度

在对于一阶算法进行收敛性分析时,传统的一阶算法在强凸条件下是可以得到线性收敛速率的,但是非强凸条件下只有次线性收敛速率。对于一个在 X X X集合上的凸优化问题

最常见的一阶算法是梯度下降法(GM),

最常见的加速方法是动量加速法(FGM),

这两个算是优化算法领域最经典的算法,算法收敛速度取决于函数 f ( x ) f(x) f(x)光滑性强凸性

  1. f ( x ) f(x) f(x) L f L_f Lf光滑时,即

此时GM和FGM的收敛速率为次线性,依次为 O ( 1 / k ) O\left({1}/{k}\right) O(1/k) O ( 1 / k 2 ) O\left({1}/{k^2}\right) O(1/k2)

  1. f ( x ) f(x) f(x) L f L_f Lf光滑同时又满足 σ f \sigma_f σf强凸条件(我们称之为问题 S L f , σ f ( X ) \mathbf{S_{L_f,\sigma_f}(X)} SLf,σf(X)),即满足如下的(等价)强凸条件

此时GM和FGM的收敛速度可以被提升到线性收敛,

可以发现线性收敛速度取决于强凸条件 σ f \sigma_f σf参数(见公式(6))。那如果函数 f ( x ) f(x) f(x)要是不满足强凸条件((5)或者(7)-(8)),我们是否能根据某些更弱的条件推出一阶算法的线性收敛速率?

我们首先定义梯度映射 g ( x ) g(x) g(x)

这个可以看成是根据相邻两个周期的 x x x(基于投影梯度下降算法)做位移的近似。

根据强凸条件,我们可以得到如下的不等式

这将在接下来的分析中起着关键作用。

二、其他有用的非强凸条件

相较于强凸条件((5),(7)或者(8)),文中介绍了5种新的松弛条件。在之后的介绍中,我们都默认 f f f L f L_f Lf光滑的函数。

2.1 拟强凸模型

假设在强凸条件(7)中,我们取近似点 y = x ˉ ≡ [ x ] X ∗ y=\bar{x} \equiv [x]_{X^*} y=xˉ[x]X,则可以得到拟强凸模型 q S L f , κ f ( X ) \mathit{q}S_{L_f,\kappa_f}(X) qSLf,κf(X)

2.2 二次下估计模型

假设在强凸条件(7)中,我们取近似点 y = x , x = x ˉ ≡ [ x ] X ∗ y=x, x=\bar{x} \equiv [x]_{X^*} y=x,x=xˉ[x]X,则可以得到二次下估计模型 U L f , κ f ( X ) U_{L_f,\kappa_f}(X) ULf,κf(X)

此时条件数 μ f = κ f / L f ∈ ( 0 , 1 ] \mu_f = \kappa_f/L_f \in (0,1] μf=κf/Lf(0,1]

2.3 二次梯度增长模型

把公式(11)和(14)相加,则可以得到二次增长型条件 G L f , κ f ( X ) G_{L_f, \kappa_f}(X) GLf,κf(X):

2.4 二次增长函数模型

熟悉凸优化的同学应该知道一阶最优条件
⟨ ∇ f ( x ∗ ) , y − x ∗ ⟩ ≥ 0 , ∀ y ∈ X , x ∗ ∈ X ∗ . \langle \nabla f(x^*), y - x^* \rangle \ge 0, \forall y \in X, x^* \in X^*. f(x),yx0,yX,xX.
假设我们不考虑一阶部分在强凸条件(7)中的作用,同时公式(7)中带入 y = x , x = x ˉ ≡ [ x ] X ∗ y=x, x=\bar{x} \equiv [x]_{X^*} y=x,x=xˉ[x]X,则可以得到二次增长型条件 F L f , κ f ( X ) F_{L_f, \kappa_f}(X) FLf,κf(X):

2.5 各类条件的强弱关系

需要注意的是,如上的4种条件都不需要函数是凸的!!!这些关系的强弱程度在文中的定理4和图1中可见:


图1:各类条件之间的包含关系图

可以看出强凸条件(7)的条件最强,而二次函数增长条件(23)最弱。

对于投影梯度下降算法

假设 x + x^+ x+在最优解集合 X ∗ X^* X上面的结果 x ˉ + = [ x + ] X ∗ \bar{x}^+ = [x^+]_{X^*} xˉ+=[x+]X。如果能够证明每次迭代之后, x + x^+ x+相对于 X ∗ X^* X的距离要比 x x x更近,那么可以证明函数 f f f本身是二次增长型条件 F L f , κ f ( X ) F_{L_f, \kappa_f}(X) FLf,κf(X)

2.6 误差边界条件

除此之外,文中还介绍了基于梯度映射
g ( x ) = L f ( x − x + ) g(x) = L_f(x-x^+) g(x)=Lf(xx+)
有关的误差边界条件。可以知道在最优解 x ∗ x^* x g ( x ∗ ) = 0 g(x^*)=0 g(x)=0,当问题是无约束优化( X = R n X = \mathbb{R}^n X=Rn)时, g ( x ) = ∇ f ( x ) g(x) = \nabla f(x) g(x)=f(x)。对于梯度 L f L_f LfLipschitz连续时,我们有

公式(30)中取 y = x ˉ y=\bar{x} y=xˉ f ( x + ) ≥ f ∗ f(x^+) \ge f^* f(x+)f可以得到

文中进一步定义了全局误差边界条件 ε L f , κ f ( X ) \varepsilon_{L_f,\kappa_f}(X) εLf,κf(X)

此时条件数 μ f = κ f / L f ∈ ( 0 , 2 ] \mu_f = \kappa_f/L_f \in (0,2] μf=κf/Lf(0,2]。文中定理6和定理7证明了误差边界条件 ε L f , ⋅ ( X ) \varepsilon_{L_f,\cdot}(X) εLf,(X)和二次增长型条件 F L f , ⋅ ( X ) F_{L_f, \cdot}(X) FLf,(X)是相互包含的关系:

三、函数实例分析

对于上一节介绍的几种松弛强凸条件,文中也列举了几个相关的问题模型,问题的约束条件都是线性的,即可表示成多面体

的形式。对于多面体 P \mathcal{P} P,一定存在Hoffman常数 θ ( A , C ) > 0 \theta(A,C) > 0 θ(A,C)>0,满足如下不等式

上式可以理解为,现有点 x x x与最优集合 X ∗ X^* X的距离是被 x x x与多面体 P \mathcal{P} P的距离控制住的(详情可见文献[2])。对于 α = β = 2 \alpha=\beta=2 α=β=2的情形,Hoffman常数 θ ( A , C ) \theta(A,C) θ(A,C)满足

其中 r = rank [ A ⊤ , C ⊤ ] r = \text{rank}[A^\top,C^\top] r=rank[A,C]

文中考虑了三种模型,都是函数有非满秩的二次惩罚项:

3.1 数学模型

模型1:

其中, g g g是强凸且光滑的函数,且 A ∈ R m × n A \in \mathbb{R}^{m \times n} ARm×n。当 A A A列满秩时,(39)是强凸函数。当 A A A不是列满秩时,则有:

模型2:

当添加线性损失函数 c ⊤ x c^\top x cx但是无约束条件时,即

则有

模型3:

相较于(42),当有线性约束条件时,即

我们需要假设函数 f f f有一定的上界 M M M(有界性),才能满足

可以发现,这三种问题都要求存在二次型损失函数(不需要满秩)部分。

另外再回过头看定理10,如果考虑映射 A = I A = I A=I,那么公式(43)中的目标函数就是 σ g \sigma_g σg强凸的。因为(类)强凸性系数 σ g ≥ κ f \sigma_g \ge \kappa_f σgκf(定义在定理10中的 κ f \kappa_f κf),所以我们可以发现通过松弛条件(定理10)得到的线性收敛速率要弱于强凸条件(7)下得到的线性收敛速率。

3.2 应用实例

对于上述几类问题模型,文中也给出了几个应用实例,例如Lasso问题和经典的线性规划问题:

Lasso问题

f ( x ) = g ( A x ) + c ⊤ x f(x) = g(Ax) + c^\top x f(x)=g(Ax)+cx g g g是强凸且光滑的函数时,如果重新定义$\mathbb{x} = [x_+ - x_-] ,那么问题可以转化成经典的 Q P 问题,满足前面模型 3 ,即 ,那么问题可以转化成经典的QP问题,满足前面模型3,即 ,那么问题可以转化成经典的QP问题,满足前面模型3,即f \in F_{L_f, \kappa_f}(X)$。

线性规划

线性规划问题( K = R + N \mathcal{K} = \mathbb{R}_+^N K=R+N

的最优性KKT条件为

可以同时写成

其中

可以把上述寻找可行解问题转换成一个QP问题:

此时(71)满足模型1, f ( x ) = g ( A x ) , g ( x ) = ∣ ∣ x − d ∣ ∣ 2 f(x)=g(Ax), g(x)= ||x-d||^2 f(x)=g(Ax),g(x)=∣∣xd2

五、其他算法在非强凸条件下收敛性分析

对于第二部分中讨论的几种非强凸条件,文中证明了梯度下降算法(GM)是可以保证线性收敛的:

而对于动量加速法(FGM),文中只证明对于拟强凸模型 q S L f , κ f ( X ) \mathit{q}S_{L_f,\kappa_f}(X) qSLf,κf(X),可以获得加速线性收敛速度

除此之外,文中还分析了重启动梯度下降(restarted fast gradient descent)和非精确梯度下降(inexact gradient descent)相关的线性收敛性分析,感兴趣的同学可以阅读原文[1]。

小结

文章中提出了好几种相比于强凸条件的松弛,其中最值得注意还是二次增长型条件 F L f , κ f ( X ) F_{L_f, \kappa_f}(X) FLf,κf(X)和全局误差边界条件 ε L f , κ f ( X ) \varepsilon_{L_f,\kappa_f}(X) εLf,κf(X)。个人觉得这些松弛条件是一种相比于强凸条件不同的分析视角:强凸条件考虑的是函数 f ( x ) f(x) f(x)的全局特征( ∀ x , y ∈ X \forall x, y \in X x,yX),而这些松弛条件刻画了迭代变量 x x x与最优解集合 X ∗ X^* X之间的几何关系( ∀ x ∈ X , ∀ y ∈ X ∗ \forall x \in X, \textcolor{red}{\forall y \in X^*} xX,yX)。

另外对于线性约束条件(多面体 P \mathcal{P} P),一阶算法线性收敛速度与多面体的Hoffman常数 θ ( A , C ) \theta(A,C) θ(A,C)相关,而这又和矩阵 A , C A,C A,C的奇异值相关,这个也比较符合大家的直觉(约束条件越规则的几何形状,算法收敛速度越快)。

同时需要注意,(11), (14), (18)和(23)这些条件都不需要 f f f是凸函数,所以文中几类非强凸松弛条件对于非凸问题收敛性的研究也具有重要意义。

最近几年已经有很多关于非强凸但线性收敛的一阶算法研究,例如半正定规划转换为非凸问题后的局部线性收敛性质[3],一阶算法PDHG基于sharpness(公式(23)中的二次项变成一次项)的线性收敛性[4],也希望感兴趣的同学能在这个有趣的领域添砖加瓦。

[1] Necoara, I., Nesterov, Y. & Glineur, F. Linear convergence of first order methods for non-strongly convex optimization. Math. Program. 175, 69–107 (2019).
[2] Hoffman, A.J.: On approximate solutions of systems of linear inequalities. J. Res. Natl. Bur. Stand. 49(4), 263–265 (1952)
[3] Erdogdu, M.A., Ozdaglar, A., Parrilo, P.A. et al. Convergence rate of block-coordinate maximization Burer–Monteiro method for solving large SDPs. Math. Program. 195, 243–281 (2022).
[4] Applegate, D., Hinder, O., Lu, H. et al. Faster first-order primal-dual methods for linear programming using restarts and sharpness. Math. Program. 201, 133–184 (2023).

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 序列二次规划(SQP)算法是一种常用于非线性优化问题算法。它基于牛顿法或拟牛顿法,通过迭代求解一系列二次规划子问题来逐步逼近最优解。 SQP算法的基本思路是:首先确定一个初始点,然后对该点进行一次牛顿法或拟牛顿法迭代,得到一个新点。接下来,将新点作为起点,再次进行迭代,直到收敛于最优解。 在每次迭代中,SQP算法将原问题转化为一个二次规划子问题,并使用线性或二次规划求解器来求解该问题。然后,再次利用牛顿法或拟牛顿法更新搜索方向和步长,并计算新的迭代点。 与其他非线性优化算法相比,SQP算法的优点在于它可以处理约束条件和非线性目标函数,并且可以在较短的时间内获得较好的优化结果。但是,它也有一些缺点,比如可能会陷入局部最优解,需要选择合适的初始点和调整参数来获得较好的优化结果。 在Python中,可以使用SciPy库中optimize模块中的`minimize`函数来实现SQP算法。以下是一个使用SQP算法求解非线性优化问题的简单示例: ```python from scipy.optimize import minimize # 目标函数 def objective(x): return x[0]**2 + x[1]**2 # 约束条件 def constraint(x): return x[0] + x[1] - 1 # 初始点 x0 = [0.5, 0.5] # 定义优化问题 problem = {'type': 'eq', 'fun': constraint} # 调用SQP算法 res = minimize(objective, x0, method='SLSQP', constraints=problem) # 输出结果 print(res) ``` 在这个例子中,我们定义了一个目标函数 `objective` 和一个约束条件 `constraint`。然后,我们使用 `minimize` 函数来求解最小化目标函数的问题,其中 `method` 参数指定了使用的算法为SQP算法。最后,我们输出了优化结果 `res`。 需要注意的是,优化问题往往比较复杂,需要根据具体问题选择合适的算法和调整参数来获得较好的优化结果。 ### 回答2: 非线性优化是一种解决非线性目标函数和约束条件下的最优化问题的方法。在实际问题中,很多问题的目标函数和约束条件都是非线性的,例如传统的线性规划问题无法解决网络流问题、投资决策问题等。 SQP算法(Sequential Quadratic Programming)是一种常用的非线性优化算法。它是一种迭代算法,通过不断优化一系列二次规划子问题的解来逐步逼近最优解。 SQP算法的基本思想是,在每次迭代中,通过使用一个二次规划模型来近似原始非线性优化问题。首先,通过求解一个特定点附近的二次规划问题,得到一种近似的搜索方向。然后,使用线性搜索算法确定移动步长。最后,更新当前解,并继续下一次迭代,直到满足停止准则。 SQP算法相对于其他非线性优化算法的优点在于,它不需要计算全局Hessian矩阵,而只需通过求解一系列的约束二次规划问题,大大降低了计算复杂度。此外,SQP算法还可以处理带有等式约束和不等式约束的混合问题,具有较好的稳定性和收敛性。 然而,SQP算法也存在一些缺点。首先,由于需要通过求解一系列二次规划问题来近似原始问题,每次迭代的计算代价较高。其次,SQP算法对初始点的选取较为敏感,不同的初始点可能导致不同的解。最后,由于需要使用一阶和二阶导数信息,当目标函数和约束条件过于复杂时,计算导数可能会变得困难。 总的来说,SQP算法是一种可行的非线性优化算法,具有一定的优势和一些限制。在实际问题中,我们可以根据具体情况选择合适的优化算法来解决非线性优化问题。 ### 回答3: 非线性优化是指在目标函数和约束条件中包含非线性项的优化问题。SQP(Sequential Quadratic Programming)算法是一种常用的非线性优化算法。该算法通过不断近似原问题的目标函数和约束条件,以迭代的形式逐步求解问题的最优解。 SQP算法的基本思想是,在每次迭代中,将非线性优化问题转化为求解一系列二次规划子问题。对于每个子问题,首先利用牛顿法或拟牛顿法求解二次规划问题的解,然后根据一定的约束满足性条件,确定负向搜索方向。接着通过线搜索确定步长,更新当前迭代点,然后进行下一次迭代,直到满足收敛条件。 SQP算法的优点在于:能够处理包含非线性约束的优化问题,且可以通过迭代获得全局最优解。同时,该算法对初始猜测值不敏感,且算法相对较稳定,收敛速度快。 但SQP算法也存在一些局限性,比如对于高维的优化问题,计算复杂度较高;在求解非优化问题时,可能会陷入局部极小点而无法达到全局最优。 总之,SQP算法是一种在非线性优化问题中常用的迭代求解方法,能够有效地求解具有非线性约束的优化问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值