第一部分:投影法的核心概念
1. 问题设定
考虑如下的约束优化问题:
最小化f(x)受限于x∈C\begin{array}{ll} \text{最小化} & f(\mathbf{x}) \\ \text{受限于} & \mathbf{x} \in \mathcal{C} \end{array}最小化受限于f(x)x∈C
其中 x∈Rn\mathbf{x} \in \mathbb{R}^nx∈Rn,目标函数 f(x)f(\mathbf{x})f(x) 连续可微,可行集 C\mathcal{C}C 是一个非空、闭合、凸的集合。
2. 投影算子 (Projection Operator)
投影法的核心是欧几里得投影算子 PC(⋅)P_{\mathcal{C}}(\cdot)PC(⋅)。给定一个点 y∈Rn\mathbf{y} \in \mathbb{R}^ny∈Rn 和一个闭凸集 C\mathcal{C}C,点 y\mathbf{y}y 在 C\mathcal{C}C 上的投影 PC(y)P_{\mathcal{C}}(\mathbf{y})PC(y) 定义为 C\mathcal{C}C 中距离 y\mathbf{y}y 最近的点:
PC(y)=argminz∈C∥z−y∥22P_{\mathcal{C}}(\mathbf{y}) = \arg \min_{\mathbf{z} \in \mathcal{C}} \|\mathbf{z} - \mathbf{y}\|_2^2PC(y)=argz∈Cmin∥z−y∥22
关键性质:
- 非扩张性 (Non-expansiveness): 投影算子是李普希茨连续的,常数为 1。
∥PC(y1)−PC(y2)∥≤∥y1−y2∥,∀y1,y2∈Rn\|P_{\mathcal{C}}(\mathbf{y}_1) - P_{\mathcal{C}}(\mathbf{y}_2)\| \le \|\mathbf{y}_1 - \mathbf{y}_2\|, \quad \forall \mathbf{y}_1, \mathbf{y}_2 \in \mathbb{R}^n∥PC(y1)−PC(y2)∥≤∥y1−y2∥,∀y1,y2∈Rn - 最优性条件 (Projection Theorem): x∗∈C\mathbf{x}^* \in \mathcal{C}x∗∈C 是 y\mathbf{y}y 在 C\mathcal{C}C 上的投影当且仅当:
⟨y−x∗,z−x∗⟩≤0,∀z∈C\langle \mathbf{y} - \mathbf{x}^*, \mathbf{z} - \mathbf{x}^* \rangle \le 0, \quad \forall \mathbf{z} \in \mathcal{C}⟨y−x∗,z−x∗⟩≤0,∀z∈C
这个条件是几何上的:向量 (y−x∗)(\mathbf{y} - \mathbf{x}^*)(y−x∗)(从 x∗\mathbf{x}^*x∗ 指向 y\mathbf{y}y)与可行集在 x∗\mathbf{x}^*x∗ 处的任何方向 (z−x∗)(\mathbf{z} - \mathbf{x}^*)(z−x∗) 之间的夹角都大于等于 90∘90^\circ90∘。
第二部分:投影梯度法 (Projected Gradient Method, PGM)
投影梯度法是投影法中最基础且最常用的算法。它结合了最速下降法(或牛顿法)中的迭代步骤和投影操作。
1. 算法结构
从一个可行点 xk∈C\mathbf{x}^k \in \mathcal{C}xk∈C 开始,每次迭代分为两个步骤:
步骤 1: 无约束梯度下降 (Unconstrained Step)
像标准的梯度下降一样,沿着负梯度方向移动一步:
yk+1=xk−αk∇f(xk)\mathbf{y}^{k+1} = \mathbf{x}^k - \alpha_k \nabla f(\mathbf{x}^k)yk+1=xk−αk∇f(xk)
其中 αk>0\alpha_k > 0αk>0 是步长。
步骤 2: 投影 (Projection Step)
将新点 yk+1\mathbf{y}^{k+1}yk+1 投影回可行集 C\mathcal{C}C 上,以保证新的迭代点 xk+1\mathbf{x}^{k+1}xk+1 的可行性:
xk+1=PC(yk+1)=PC(xk−αk∇f(xk))\mathbf{x}^{k+1} = P_{\mathcal{C}}(\mathbf{y}^{k+1}) = P_{\mathcal{C}}(\mathbf{x}^k - \alpha_k \nabla f(\mathbf{x}^k))xk+1=PC(yk+1)=PC(xk−αk∇f(xk))
2. PGM 的最优性条件
定理 (PGM 固定点)
点 x∗∈C\mathbf{x}^* \in \mathcal{C}x∗∈C 是原始约束优化问题的 KKT 点(一阶最优解)当且仅当对于任意固定的步长 α>0\alpha > 0α>0,x∗\mathbf{x}^*x∗ 是投影梯度映射的一个不动点:
x∗=PC(x∗−α∇f(x∗))\mathbf{x}^* = P_{\mathcal{C}}(\mathbf{x}^* - \alpha \nabla f(\mathbf{x}^*))x∗=PC(x∗−α∇f(x∗))
几何意义: KKT 条件与投影定理是等价的:
x∗=PC(x∗−α∇f(x∗))\mathbf{x}^* = P_{\mathcal{C}}(\mathbf{x}^* - \alpha \nabla f(\mathbf{x}^*))x∗=PC(x∗−α∇f(x∗))
⟺ ⟨(x∗−α∇f(x∗))−x∗,z−x∗⟩≤0,∀z∈C\iff \langle (\mathbf{x}^* - \alpha \nabla f(\mathbf{x}^*)) - \mathbf{x}^*, \mathbf{z} - \mathbf{x}^* \rangle \le 0, \quad \forall \mathbf{z} \in \mathcal{C}⟺⟨(x∗−α∇f(x∗))−x∗,z−x∗⟩≤0,∀z∈C
⟺ ⟨−α∇f(x∗),z−x∗⟩≤0,∀z∈C\iff \langle -\alpha \nabla f(\mathbf{x}^*), \mathbf{z} - \mathbf{x}^* \rangle \le 0, \quad \forall \mathbf{z} \in \mathcal{C}⟺⟨−α∇f(x∗),z−x∗⟩≤0,∀z∈C
⟺ ⟨∇f(x∗),z−x∗⟩≥0,∀z∈C\iff \langle \nabla f(\mathbf{x}^*), \mathbf{z} - \mathbf{x}^* \rangle \ge 0, \quad \forall \mathbf{z} \in \mathcal{C}⟺⟨∇f(x∗),z−x∗⟩≥0,∀z∈C
这正是凸集上变分不等式形式的一阶最优性条件。
3. PGM 的挑战与收敛性
- 收敛速度: PGM 的收敛速度与标准的梯度下降法相似,通常是次线性收敛 (Sublinear Convergence)。在目标函数强凸的情况下,可以达到线性收敛 (Linear Convergence)。
- 计算开销: PPGM 的计算效率很大程度上取决于投影操作 PC(⋅)P_{\mathcal{C}}(\cdot)PC(⋅) 的计算难度。只有当 C\mathcal{C}C 具有简单结构时,投影才能快速精确计算。
第三部分:特殊约束下的投影计算
投影法的实用性完全取决于能否高效地计算 PC(y)P_{\mathcal{C}}(\mathbf{y})PC(y)。
| 约束 C\mathcal{C}C (可行集) | 集合定义 | 投影算子 PC(y)P_{\mathcal{C}}(\mathbf{y})PC(y) | 复杂度/方法 |
|---|---|---|---|
| 非负象限 | x≥0\mathbf{x} \ge \mathbf{0}x≥0 | P(y)i=max(0,yi)P(\mathbf{y})_i = \max(0, y_i)P(y)i=max(0,yi) | O(n)O(n)O(n) (线性时间) |
| 盒约束 | l≤x≤u\mathbf{l} \le \mathbf{x} \le \mathbf{u}l≤x≤u | P(y)i=min(ui,max(li,yi))P(\mathbf{y})_i = \min(u_i, \max(l_i, y_i))P(y)i=min(ui,max(li,yi)) | O(n)O(n)O(n) (线性时间) |
| 欧几里得球 | ∣x∣2≤R|\mathbf{x}|_2 \le R∣x∣2≤R | P(y)=y⋅min(1,R∣y∣2)P(\mathbf{y}) = \mathbf{y} \cdot \min \left(1, \frac{R}{|\mathbf{y}|_2}\right)P(y)=y⋅min(1,∣y∣2R) | O(n)O(n)O(n) (线性时间) |
| 单纯形约束 | x≥0,∑xi=1\mathbf{x} \ge \mathbf{0}, \sum x_i = 1x≥0,∑xi=1 | 复杂的排序算法/拉格朗日乘数法 | O(nlogn)O(n \log n)O(nlogn) (准线性) |
| 仿射空间 | Ax=b\mathbf{A}\mathbf{x} = \mathbf{b}Ax=b | y−AT(AAT)−1(Ay−b)\mathbf{y} - \mathbf{A}^T(\mathbf{A}\mathbf{A}^T)^{-1}(\mathbf{A}\mathbf{y} - \mathbf{b})y−AT(AAT)−1(Ay−b) | O(n3)O(n^3)O(n3) 或 O(mn2)O(mn^2)O(mn2) |
注意: 对于更复杂的约束(如半正定矩阵锥、一般凸不等式),投影操作本身可能需要求解一个二次规划 (QP) 问题,这使得 PGM 的效率大打折扣,此时通常会转向其他方法如内点法或增广拉格朗日法。
第四部分:高级投影法与联系
1. 快速投影梯度法 (Fast Projected Gradient Method, FPGM)
为了提高收敛速度,PGM 可以与 Nesterov 加速技术相结合,形成 FPGM。
FPGM 利用前一次迭代的信息进行动量外推 (Extrapolation):
- 外推步: zk=xk+βk(xk−xk−1)\mathbf{z}^k = \mathbf{x}^k + \beta_k (\mathbf{x}^k - \mathbf{x}^{k-1})zk=xk+βk(xk−xk−1)
- 梯度步: yk+1=zk−αk∇f(zk)\mathbf{y}^{k+1} = \mathbf{z}^k - \alpha_k \nabla f(\mathbf{z}^k)yk+1=zk−αk∇f(zk)
- 投影步: xk+1=PC(yk+1)\mathbf{x}^{k+1} = P_{\mathcal{C}}(\mathbf{y}^{k+1})xk+1=PC(yk+1)
收敛速度: 在凸函数 fff 的情况下,FPGM 的收敛率可以从 O(1/k)O(1/k)O(1/k) (PGM) 提高到 O(1/k2)O(1/k^2)O(1/k2),这是理论上的最优加速。
2. 投影牛顿法/拟牛顿法 (Projected Newton/Quasi-Newton Method)
为了利用二阶信息,可以把投影操作应用于牛顿法的迭代方向 dk=−(∇2f(xk))−1∇f(xk)\mathbf{d}^k = -(\nabla^2 f(\mathbf{x}^k))^{-1} \nabla f(\mathbf{x}^k)dk=−(∇2f(xk))−1∇f(xk):
xk+1=PC(xk+αkdk)\mathbf{x}^{k+1} = P_{\mathcal{C}}(\mathbf{x}^k + \alpha_k \mathbf{d}^k)xk+1=PC(xk+αkdk)
然而,这在理论上和实践上都面临挑战,因为牛顿步 dk\mathbf{d}^kdk 并不总是下降方向,且需要复杂的线搜索(如 Armijo-Goldstein 规则的推广)来确保全局收敛。
3. 投影法与分裂优化方法 (Splitting Methods) 的联系
在现代优化中,当目标函数 f(x)f(\mathbf{x})f(x) 可以分解为两项时,f(x)=g(x)+h(x)f(\mathbf{x}) = g(\mathbf{x}) + h(\mathbf{x})f(x)=g(x)+h(x),其中 ggg 光滑,而 hhh 是指示函数 (Indicator Function) IC(x)\mathbf{I}_{\mathcal{C}}(\mathbf{x})IC(x):
IC(x)={0如果 x∈C+∞如果 x∉C\mathbf{I}_{\mathcal{C}}(\mathbf{x}) = \begin{cases} 0 & \text{如果 } \mathbf{x} \in \mathcal{C} \\ +\infty & \text{如果 } \mathbf{x} \notin \mathcal{C} \end{cases}IC(x)={0+∞如果 x∈C如果 x∈/C
此时,投影梯度法的迭代可以写成 近端算子 (Proximal Operator) 的形式:
xk+1=proxαkh(xk−αk∇g(xk))\mathbf{x}^{k+1} = \text{prox}_{\alpha_k h}(\mathbf{x}^k - \alpha_k \nabla g(\mathbf{x}^k))xk+1=proxαkh(xk−αk∇g(xk))
对于 h(x)=IC(x)h(\mathbf{x}) = \mathbf{I}_{\mathcal{C}}(\mathbf{x})h(x)=IC(x),其近端算子恰好就是投影算子 PC(⋅)P_{\mathcal{C}}(\cdot)PC(⋅)。因此,投影梯度法是近端梯度法 (Proximal Gradient Method, PGM) 在特定约束集上的一个特例。这构成了近端算法(如 ADMM, Primal-Dual Hybrid Gradient Method 等)的基础。
1566

被折叠的 条评论
为什么被折叠?



