【有约束优化】投影法

第一部分:投影法的核心概念

1. 问题设定

考虑如下的约束优化问题:
最小化f(x)受限于x∈C\begin{array}{ll} \text{最小化} & f(\mathbf{x}) \\ \text{受限于} & \mathbf{x} \in \mathcal{C} \end{array}最小化受限于f(x)xC
其中 x∈Rn\mathbf{x} \in \mathbb{R}^nxRn,目标函数 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}^nyRn 和一个闭凸集 C\mathcal{C}C,点 y\mathbf{y}yC\mathcal{C}C 上的投影 PC(y)P_{\mathcal{C}}(\mathbf{y})PC(y) 定义为 C\mathcal{C}C 中距离 y\mathbf{y}y 最近的点:

PC(y)=arg⁡min⁡z∈C∥z−y∥22P_{\mathcal{C}}(\mathbf{y}) = \arg \min_{\mathbf{z} \in \mathcal{C}} \|\mathbf{z} - \mathbf{y}\|_2^2PC(y)=argzCminzy22

关键性质:

  • 非扩张性 (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}^nPC(y1)PC(y2)y1y2,y1,y2Rn
  • 最优性条件 (Projection Theorem): x∗∈C\mathbf{x}^* \in \mathcal{C}xCy\mathbf{y}yC\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}yx,zx0,zC
    这个条件是几何上的:向量 (y−x∗)(\mathbf{y} - \mathbf{x}^*)(yx)(从 x∗\mathbf{x}^*x 指向 y\mathbf{y}y)与可行集在 x∗\mathbf{x}^*x 处的任何方向 (z−x∗)(\mathbf{z} - \mathbf{x}^*)(zx) 之间的夹角都大于等于 90∘90^\circ90

第二部分:投影梯度法 (Projected Gradient Method, PGM)

投影梯度法是投影法中最基础且最常用的算法。它结合了最速下降法(或牛顿法)中的迭代步骤和投影操作。

1. 算法结构

从一个可行点 xk∈C\mathbf{x}^k \in \mathcal{C}xkC 开始,每次迭代分为两个步骤:

步骤 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αkf(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αkf(xk))

2. PGM 的最优性条件

定理 (PGM 固定点)
x∗∈C\mathbf{x}^* \in \mathcal{C}xC 是原始约束优化问题的 KKT 点(一阶最优解)当且仅当对于任意固定的步长 α>0\alpha > 0α>0x∗\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,zx0,zC
  ⟺  ⟨−α∇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),zx0,zC
  ⟺  ⟨∇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),zx0,zC
这正是凸集上变分不等式形式的一阶最优性条件

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}x0P(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}lxuP(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 Rx2RP(y)=y⋅min⁡(1,R∣y∣2)P(\mathbf{y}) = \mathbf{y} \cdot \min \left(1, \frac{R}{|\mathbf{y}|_2}\right)P(y)=ymin(1,y2R)O(n)O(n)O(n) (线性时间)
单纯形约束x≥0,∑xi=1\mathbf{x} \ge \mathbf{0}, \sum x_i = 1x0,xi=1复杂的排序算法/拉格朗日乘数法O(nlog⁡n)O(n \log n)O(nlogn) (准线性)
仿射空间Ax=b\mathbf{A}\mathbf{x} = \mathbf{b}Ax=by−AT(AAT)−1(Ay−b)\mathbf{y} - \mathbf{A}^T(\mathbf{A}\mathbf{A}^T)^{-1}(\mathbf{A}\mathbf{y} - \mathbf{b})yAT(AAT)1(Ayb)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)

  1. 外推步: zk=xk+βk(xk−xk−1)\mathbf{z}^k = \mathbf{x}^k + \beta_k (\mathbf{x}^k - \mathbf{x}^{k-1})zk=xk+βk(xkxk1)
  2. 梯度步: yk+1=zk−αk∇f(zk)\mathbf{y}^{k+1} = \mathbf{z}^k - \alpha_k \nabla f(\mathbf{z}^k)yk+1=zkαkf(zk)
  3. 投影步: 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))1f(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+如果 xC如果 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αkg(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 等)的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值