形式陈述
考虑在非空闭凸集 C ⊆ R n 上最小化可微函数 f 。给定 x 0 ∈ C 、步长 α k > 0 、投影求解器、容差和预算,投影梯度法执行
y k = x k − α k ∇ f ( x k ) , x k + 1 = P C ( y k ) = argmin x ∈ C ‖ x − y k ‖ 2 . 非空闭性在有限维中保证最近点存在,凸性保证唯一。它与Hilbert 空间闭子空间投影 公理库 Hilbert 空间投影定理 Hilbert projection theorem · Projection theorem Hilbert 空间中每个闭线性子空间都给出唯一的正交分解与最近点投影。 共享最近点几何,但一般闭凸集的 P C 通常不是线性算子。若 C = R n ,投影是恒等映射,更新就是梯度下降 公理库 梯度下降法 Gradient descent method · Steepest descent method 反复沿当前负梯度方向取步以降低可微目标的基础一阶算法。 。定义投影梯度映射
G α C ( x ) = 1 α ( x − P C ( x − α ∇ f ( x ) ) ) . 对凸 f ,G α C ( x ) = 0 与变分不等式
⟨ ∇ f ( x ) , z − x ⟩ ≥ 0 ( z ∈ C ) 等价,也就是一阶最优性条件 公理库 一阶最优性条件 First-order optimality condition · Variational inequality optimality condition 以梯度和所有可行方向的非负内积充要刻画可微凸问题的全局极小点。 。算法应输出近似可行点、该映射范数、投影误差与状态;普通梯度范数在边界最优点可以非零。
直觉
负梯度给无约束局部下降方向,但它可能把点带出可行集。投影选择离这个不可行候选最近的可行点,相当于保留梯度步中与可行几何相容的部分。若候选越过平滑边界,投影会去掉外法向分量;在角点,多个活跃面共同改变方向。每轮保持可行使中间点也能被应用系统接受,而不是只在最后修复约束。
欧氏最近并不总是计算或建模上最自然。单纯形、球和盒的投影有高效公式,但一般多面体投影本身是一个二次规划;若它比原问题还难,算法名称没有降低成本。镜像下降用 Bregman 散度替代平方欧氏距离,近端梯度则用一般凸惩罚替代指标函数。选择哪一种取决于集合与正则项的可计算结构。
例子与边界
在概率单纯形
C = { ( x 1 , x 2 ) : x 1 + x 2 = 1 , x 1 , x 2 ≥ 0 } 上最小化 f ( x ) = 1 2 ‖ ( x 1 , x 2 ) − ( 2 , − 1 ) ‖ 2 2 。从任意 x 0 ∈ C 取 α = 1 ,无约束候选恒为 y = ( 2 , − 1 ) 。其到线段 C 的欧氏投影是 x 1 = ( 1 , 0 ) :写 x = ( t , 1 − t ) 后,距离平方为 ( t − 2 ) 2 + ( 2 − t ) 2 = 2 ( t − 2 ) 2 ,在 t ∈ [ 0 , 1 ] 上由端点 t = 1 取得最小。
在 x ∗ = ( 1 , 0 ) 处,梯度为 ( − 1 , 1 ) 。任意 x = ( t , 1 − t ) ∈ C 满足
⟨ ( − 1 , 1 ) , x − x ∗ ⟩ = 2 ( 1 − t ) ≥ 0 , 所以它确为全局解,尽管梯度不为零。若 C 非凸,最近点可能不唯一,例如把 C 取为两个孤立点时,等距候选会产生多值投影,标准固定点与收敛证明即失效。步长过大仍会在切向方向振荡;“每轮可行”并不等于“每轮下降”。近似投影若没有误差界,也不能沿用精确算法的速率。
推论与应用
令 h = δ C 为 C 的凸指标函数,则 prox α h = P C ,所以上述更新严格是近端梯度法 公理库 近端梯度法 Proximal gradient method · Forward-backward splitting 对复合目标的光滑项取显式梯度步、对非光滑凸项取隐式近端步的算法。 在指标函数复合项下的特殊情形。另一方面,在镜像下降 公理库 镜像下降法 Mirror descent method · Bregman gradient method 用强凸镜像映射生成的 Bregman 几何执行线性化损失更新的约束一阶算法。 中选欧氏镜像映射 ψ ( x ) = 1 2 ‖ x ‖ 2 2 ,其 Bregman 散度正是平方欧氏距离,更新也精确化为投影梯度。这个 special_case_of 只在该欧氏镜像映射与同一集合 C 下成立;一般负熵镜像更新不是欧氏投影。
若 f 为 L -光滑凸函数、C 闭凸且解存在,α ≤ 1 / L 可得 O ( 1 / k ) 的函数值率;强凸时可加强。盒约束的投影是逐坐标截断,球约束是径向缩放,单纯形投影可由排序阈值完成。程序还应检查投影后的可行残差,因为浮点容差可能让理论上的可行点轻微越界;对严格安全约束,这个误差必须进入输出契约。
参考资料
Dimitri P. Bertsekas, Nonlinear Programming , 3rd ed., Athena Scientific, 2016,§2.3,gradient projection methods。
Amir Beck, First-Order Methods in Optimization , SIAM, 2017,§10.2.1 and Ch. 9,projected gradient and variational inequalities。
Stephen Boyd and Lieven Vandenberghe, Convex Optimization , Cambridge University Press, 2004,§§4.2.3 and 9.3,constrained optimality and projected-gradient interpretation。