#sdsc6015

English / 中文

投影梯度下降 (Projected Gradient Descent)

投影梯度下降是处理约束优化问题的算法,通过梯度步后投影回可行集来确保约束满足。


约束优化问题定义

约束优化问题形式化定义为:

minf(x)subject toxX\begin{aligned} &\min f(x) \\ &\text{subject to}\quad x \in X \end{aligned}

其中:

  • f:RdRf: \mathbb{R}^d \rightarrow \mathbb{R} 是目标函数

  • XRdX \subseteq \mathbb{R}^d 是一个闭凸集(closed convex set)

  • xRdx \in \mathbb{R}^d 是优化变量

几何意义:在满足约束 xXx \in X 的前提下,寻找使 f(x)f(x) 最小的点。


算法描述

投影梯度下降迭代步骤:

For t=0,1,2, with stepsize ηt>0:yt+1=xtηtf(xt)xt+1=ΠX(yt+1)\begin{aligned} &\text{For } t = 0, 1, 2, \ldots \text{ with stepsize } \eta_t > 0: \\ &\quad y_{t+1} = x_t - \eta_t \nabla f(x_t) \\ &\quad x_{t+1} = \Pi_X(y_{t+1}) \end{aligned}

其中投影算子定义为:

ΠX(y):=arg minxXxy\Pi_X(y) := \operatorname*{arg\,min}_{x \in X} \|x - y\|

数学符号意义

  • ηt\eta_t:步长参数,控制更新幅度

  • f(xt)\nabla f(x_t):函数在 xtx_t 处的梯度

  • ΠX\Pi_X:投影算子,将点映射到 XX 中最近的点


收敛速率分析

收敛速率与无约束梯度下降相同,但每一步需要投影操作:

  • Lipschitz 凸函数(参数 GG):O(1/ε2)\mathcal{O}(1/\varepsilon^2)

  • 光滑凸函数(参数 LL):O(1/ε)\mathcal{O}(1/\varepsilon)

  • 光滑强凸函数(参数 μ,L\mu, L):O(log(1/ε))\mathcal{O}(\log(1/\varepsilon))

计算效率取决于投影操作的难易程度。


光滑函数上的收敛性

光滑性定义:函数 ff 在闭凸集 XRdX \subseteq \mathbb{R}^d 上称为光滑(参数 LL),如果:

f(x)f(y)Lxy,x,yX\|\nabla f(x) - \nabla f(y)\| \leq L\|x - y\|, \quad \forall x,y \in X

引理1(充分下降)

f:RdRf: \mathbb{R}^d \rightarrow \mathbb{R} 可微且在闭凸集 XRdX \subseteq \mathbb{R}^d 上光滑(参数 LL)。选择步长 η=1/L\eta = 1/L,投影梯度下降满足:

f(xt+1)f(xt)12Lf(xt)2+L2yt+1xt+12f(x_{t+1}) \leq f(x_t) - \frac{1}{2L}\|\nabla f(x_t)\|^2 + \frac{L}{2}\|y_{t+1} - x_{t+1}\|^2

其中 yt+1=xtηf(xt)y_{t+1} = x_t - \eta \nabla f(x_t)

引理1证明:

数学符号在投影中的意义

  • yt+1=xtηf(xt)y_{t+1} = x_t - \eta \nabla f(x_t):这是未投影的梯度步,即沿着梯度方向移动一步后的点,但可能不在可行集 XX 中。

  • xt+1=ΠX(yt+1)x_{t+1} = \Pi_X(y_{t+1}):这是投影后的点,通过投影算子 ΠX\Pi_Xyt+1y_{t+1} 映射到 XX 中最近的点,确保迭代点始终满足约束。

  • yt+1xt+12\|y_{t+1} - x_{t+1}\|^2:这是投影误差,衡量未投影点与投影点之间的欧几里得距离平方。这个项在不等式中的作用是“惩罚”投影带来的偏差,因为投影操作可能使点偏离梯度方向。

  • ΠX(y):=arg minxXxy\Pi_X(y) := \operatorname*{arg\,min}_{x \in X} \|x - y\|投影算子,表示将点 yy 投影到闭凸集 XX 上,找到 XX 中离 yy 最近的点。


证明

引理1的证明依赖于三个关键要素:函数的光滑性、投影的最优性条件、以及投影算子的几何性质(Fact(ii))。以下是证明步骤的详细解释:

  1. 利用函数光滑性:由于 ffLL-光滑的,根据光滑性定义,对于任意点 xxyy,有:

    f(y)f(x)+f(x)(yx)+L2yx2f(y) \leq f(x) + \nabla f(x)^\top (y - x) + \frac{L}{2} \|y - x\|^2

    应用此性质于 x=xtx = x_ty=yt+1y = y_{t+1},并代入 yt+1=xtηf(xt)y_{t+1} = x_t - \eta \nabla f(x_t)η=1/L\eta = 1/L,得到:

    f(yt+1)f(xt)12Lf(xt)2f(y_{t+1}) \leq f(x_t) - \frac{1}{2L} \|\nabla f(x_t)\|^2

    这一步给出了未投影点 yt+1y_{t+1} 的函数值上界。

  2. 投影的最优性条件:由于 xt+1=ΠX(yt+1)x_{t+1} = \Pi_X(y_{t+1}) 是投影点,对于闭凸集 XX,投影算子满足以下最优性条件:对于任意 xXx \in X,有:

    (xxt+1)(yt+1xt+1)0(x - x_{t+1})^\top (y_{t+1} - x_{t+1}) \leq 0

    特别地,取 x=xtx = x_t(因为 xtXx_t \in X),有:

    (xtxt+1)(yt+1xt+1)0(x_t - x_{t+1})^\top (y_{t+1} - x_{t+1}) \leq 0

    代入 yt+1=xtηf(xt)y_{t+1} = x_t - \eta \nabla f(x_t),经过代数变换,可得:

    f(xt)(xt+1xt)1ηxtxt+12\nabla f(x_t)^\top (x_{t+1} - x_t) \leq -\frac{1}{\eta} \|x_t - x_{t+1}\|^2

    这个不等式将梯度内积与投影后的移动距离关联起来。

  3. 应用光滑性于 xt+1x_{t+1}:再次利用光滑性定义,这次应用于 x=xtx = x_ty=xt+1y = x_{t+1}

    f(xt+1)f(xt)+f(xt)(xt+1xt)+L2xt+1xt2f(x_{t+1}) \leq f(x_t) + \nabla f(x_t)^\top (x_{t+1} - x_t) + \frac{L}{2} \|x_{t+1} - x_t\|^2

    将步骤2中的不等式代入,得到:

    f(xt+1)f(xt)1ηxtxt+12+L2xt+1xt2f(x_{t+1}) \leq f(x_t) - \frac{1}{\eta} \|x_t - x_{t+1}\|^2 + \frac{L}{2} \|x_{t+1} - x_t\|^2

    代入 η=1/L\eta = 1/L,简化得:

    f(xt+1)f(xt)L2xtxt+12f(x_{t+1}) \leq f(x_t) - \frac{L}{2} \|x_t - x_{t+1}\|^2

  4. 利用投影性质(Fact(ii)):附件2中提到的 Fact(ii) 是投影算子的一个几何性质:对于任意 xXx \in XyRdy \in \mathbb{R}^d,有:

    xΠX(y)2+yΠX(y)2xy2\|x - \Pi_X(y)\|^2 + \|y - \Pi_X(y)\|^2 \leq \|x - y\|^2

    x=xtx = x_ty=yt+1y = y_{t+1},且 ΠX(yt+1)=xt+1\Pi_X(y_{t+1}) = x_{t+1},得到:

    xtxt+12+yt+1xt+12\|x_t - x_{t+1}\|^2 + \|y_{t+1} - x_{t+1}\|^2


定理1

f:RdRf: \mathbb{R}^d \rightarrow \mathbb{R} 是一个凸且可微的函数。令 XRdX \subseteq \mathbb{R}^d 是一个闭凸集,并假设存在一个最小化器 xXx^* \in X 使得 f(x)=minxXf(x)f(x^*) = \min_{x \in X} f(x)。进一步,假设 ffXX 上是光滑的(即梯度是 L-利普希茨连续),参数为 LL。选择步长 η=1L\eta = \frac{1}{L},则投影梯度下降算法产生的迭代序列满足以下收敛界:

f(xT)f(x)L2Tx0x2f(x_T) - f(x^*) \leq \frac{L}{2T} \|x_0 - x^*\|^2

其中 xTx_T 是第 TT 次迭代后的点,x0x_0 是初始点。

定理1证明:

符号解释 (Notation Explanation)

  • ff:目标函数,从 Rd\mathbb{R}^d 映射到 R\mathbb{R},凸且可微。

  • XX:可行域,一个闭凸集(例如,约束条件定义的区域)。

  • xx^*ffXX 上的全局最小点,即 x=argminxXf(x)x^* = \arg\min_{x \in X} f(x)

  • LL:光滑常数(Lipschitz 常数),表示梯度的变化上界,即 f(x)f(y)Lxy\|\nabla f(x) - \nabla f(y)\| \leq L \|x - y\| 对所有 x,yXx, y \in X 成立。

  • η\eta:步长,在定理中设为 η=1L\eta = \frac{1}{L} 以确保收敛。

  • gtg_t:在点 xtx_t 处的梯度,即 gt=f(xt)g_t = \nabla f(x_t)

  • xtx_t:第 tt 次迭代后的点(投影后)。

  • yt+1y_{t+1}:未投影的梯度步,计算为 yt+1=xtηgty_{t+1} = x_t - \eta g_t

  • xt+1x_{t+1}:投影后的点,即 xt+1=ΠX(yt+1)x_{t+1} = \Pi_X(y_{t+1}),其中 ΠX\Pi_X 是到集合 XX 的投影算子。

投影算子 ΠX(y)\Pi_X(y) 返回 XX 中离 yy 最近的点,即 ΠX(y)=argminxXxy\Pi_X(y) = \arg\min_{x \in X} \|x - y\|。由于 XX 是闭凸集,投影存在且唯一。

证明概述 (Proof Sketch)

证明的核心在于利用函数的光滑性和凸性,以及投影算子的性质,来推导每次迭代的误差界。以下是关键步骤:

  1. 充分下降条件 (Sufficient Decrease)
    由于 ff 是 L-光滑的,对于投影梯度下降,有以下的充分下降不等式:

    f(xt+1)f(xt)12Lgt2+L2yt+1xt+12f(x_{t+1}) \leq f(x_t) - \frac{1}{2L} \|g_t\|^2 + \frac{L}{2} \|y_{t+1} - x_{t+1}\|^2

    这个不等式表明,每次迭代后函数值下降的量受梯度大小和投影误差的影响。额外项 L2yt+1xt+12\frac{L}{2} \|y_{t+1} - x_{t+1}\|^2 是由于投影操作引入的。

  2. 投影算子的性质 (Projection Property)
    使用投影算子的一个关键事实(Fact ii):对于任意 xXx \in XyRdy \in \mathbb{R}^d,有

    xΠX(y)2+yΠX(y)2xy2\|x - \Pi_X(y)\|^2 + \|y - \Pi_X(y)\|^2 \leq \|x - y\|^2

    x=xx = x^*(最优解)和 y=yt+1y = y_{t+1},由于 ΠX(yt+1)=xt+1\Pi_X(y_{t+1}) = x_{t+1},我们得到:

    xxt+12+yt+1xt+12xyt+12\|x^* - x_{t+1}\|^2 + \|y_{t+1} - x_{t+1}\|^2 \leq \|x^* - y_{t+1}\|^2

    这个不等式反映了投影的“正交性”,即投影点与原始点的距离关系。

  3. 结合凸性 (Combining with Convexity)
    ff 的凸性,有:

    f(xt)f(x)gt(xtx)f(x_t) - f(x^*) \leq g_t^\top (x_t - x^*)

    这表示函数值差被梯度与点差的内积所控制。

  4. 代数操作与抵消 (Algebraic Manipulation and Cancellation)
    将上述元素结合。首先,从普通梯度下降的分析框架出发,但用 yt+1y_{t+1} 替代 xt+1x_{t+1}(因为 yt+1y_{t+1} 是未投影的步骤)。然后,利用投影性质不等式和充分下降条件,通过代数操作发现额外项 yt+1xt+12\|y_{t+1} - x_{t+1}\|^2 在求和时抵消。具体地,当步长 η=1L\eta = \frac{1}{L} 时,有:

    t=0T1(f(xt)f(x))L2x0x2\sum_{t=0}^{T-1} (f(x_t) - f(x^*)) \leq \frac{L}{2} \|x_0 - x^*\|^2

    由于 f(xt)f(x_t) 是递减的(由充分下降保证),最终得到 f(xT)f(x)L2Tx0x2f(x_T) - f(x^*) \leq \frac{L}{2T} \|x_0 - x^*\|^2.

证明中的关键洞察是:投影操作虽然引入了误差项,但通过投影算子的性质,这些误差在整体分析中相互抵消,从而保持了与无约束梯度下降相同的收敛速率。

几何意义 (Geometric Interpretation)

  • 投影的作用:投影梯度下降通过将梯度步 yt+1y_{t+1} 投影回可行集 XX 来确保迭代点始终满足约束。投影操作可以看作是将点“拉回”到可行域上最近的点。

  • 收敛行为:由于函数光滑且凸,梯度方向指向下降方向,但投影可能改变路径。定理表明,即使有投影,收敛速率仍为 O(1/T)O(1/T),与无约束情况相同。这是因为投影误差在长期迭代中平均化,不影响整体趋势。

  • 直观理解:想象一个球在光滑凸面上滚动,每次沿梯度方向移动,但被约束在可行区域内。投影确保球不离开区域,而光滑性保证移动不会过度振荡,最终稳定到最低点。

例子 (Example)

虽然文档中没有提供具体例子,但一个典型应用是带约束的线性回归:目标函数 f(x)=Axb2f(x) = \|Ax - b\|^2 是光滑凸的,约束集 XX 可能是非负象限(x0x \geq 0)。投影梯度下降通过迭代更新 xx 并投影到 XX 上,确保解满足非负性,同时以 O(1/T)O(1/T) 速率收敛。

附注 (Additional Notes)

  • 定理假设了函数的光滑性和凸性,在实际中需验证这些条件。

  • 步长 η=1/L\eta = 1/L 是理论上的最优选择,但实践中可能使用自适应步长。

  • 收敛率 O(1/T)O(1/T) 是次线性的,对于大规模问题可能较慢,但这是凸优化中的标准结果。


强凸光滑函数上的收敛性

强凸函数定义:函数 ff 在集合 XX 上是强凸的(参数为 μ>0\mu > 0),如果对于所有 x,yXx, y \in X,满足:

f(y)f(x)+f(x)(yx)+μ2yx2f(y) \geq f(x) + \nabla f(x)^\top (y - x) + \frac{\mu}{2} \|y - x\|^2

这意味着函数具有一个下界二次项,确保其曲率有下界,从而加速优化收敛。

强凸函数的性质

  • 引理 2:强凸函数在 XX 上有唯一的最小化器 xx^{*}

    这是由于强凸性避免了多个局部最小值,保证全局唯一解。

引理2证明:

数学符号与意义

  • ff: 定义在集合 XRdX \subset \mathbb{R}^d 上的函数

  • μ>0\mu > 0: 强凸性参数

  • xx^{*}: 函数 ffXX 上的最小化器

定理陈述

如果函数 ff 在集合 XX 上是 μ\mu-强凸的,那么 ffXX 上存在唯一的最小化器 xx^{*}

证明

  1. 存在性:由于 ff 是强凸函数,它也是凸函数,且 XX 是闭凸集,因此最小值存在。

  2. 唯一性(反证法):

    • 假设存在两个不同的最小化器 x1x_1^*x2x_2^*,且 f(x1)=f(x2)=ff(x_1^*) = f(x_2^*) = f^*
    • 考虑中点 xm=x1+x22x_m = \frac{x_1^* + x_2^*}{2}
    • 由强凸性定义:

      f(xm)12f(x1)+12f(x2)μ8x1x22f(x_m) \leq \frac{1}{2}f(x_1^*) + \frac{1}{2}f(x_2^*) - \frac{\mu}{8}\|x_1^* - x_2^*\|^2

      f(xm)fμ8x1x22<ff(x_m) \leq f^* - \frac{\mu}{8}\|x_1^* - x_2^*\|^2 < f^*

    • 这与 ff^* 是最小值的假设矛盾
    • 因此最小化器必须唯一

几何意义

强凸函数具有"陡峭的碗状"结构,确保函数只有一个全局最小值点,没有任何平坦区域或多个局部最小值。μ\mu 值越大,函数的"碗"形状越陡峭,优化过程更容易找到唯一解。

投影梯度下降的收敛性(Theorem 2)

  • 定理陈述:设 f:RdRf: \mathbb{R}^d \to \mathbb{R} 是凸可微函数,XRdX \subset \mathbb{R}^d 是非空闭凸集。假设 ffXX 上是平滑的(参数为 LL)且强凸的(参数为 μ>0\mu > 0)。选择步长 η=1/L\eta = 1/L,则任意初始点 x0x_0 的投影梯度下降满足:

    • (i) 到 xx^{*} 的平方距离几何递减

      xt+1x2(1μL)xtx2\|x_{t+1} - x^{*}\|^2 \leq \left(1 - \frac{\mu}{L}\right) \|x_t - x^{*}\|^2

      这表示每次迭代后,解与最优解的距离以线性速率收缩。

    • (ii) 绝对误差随迭代指数减小:经过 TT 次迭代后,误差满足:

      f(xT)f(x)L2(1μL)Tx0x2f(x_T) - f(x^{*}) \leq \frac{L}{2} \left(1 - \frac{\mu}{L}\right)^T \|x_0 - x^{*}\|^2

      误差以指数速度下降,收敛速率取决于条件数 L/μL/\mu

定理证明:

数学符号与意义

  • LL: 平滑性参数(Lipschitz常数)

  • η=1/L\eta = 1/L: 最优步长选择

  • xtx_t: 第 tt 次迭代后的解

  • yt+1=xtηf(xt)y_{t+1} = x_t - \eta \nabla f(x_t): 未投影的梯度步

  • xt+1=ΠX(yt+1)x_{t+1} = \Pi_X(y_{t+1}): 投影后的解

定理陈述

对于 μ\mu-强凸且 LL-平滑的函数 ff,采用步长 η=1/L\eta = 1/L 的投影梯度下降满足:

(i) 平方距离几何递减

xt+1x2(1μL)xtx2\|x_{t+1} - x^{*}\|^2 \leq \left(1 - \frac{\mu}{L}\right) \|x_t - x^{*}\|^2

(ii) 函数值误差指数收敛

f(xT)f(x)L2(1μL)Tx0x2f(x_T) - f(x^{*}) \leq \frac{L}{2} \left(1 - \frac{\mu}{L}\right)^T \|x_0 - x^{*}\|^2

证明概要

关键步骤:

  1. 梯度不等式

    f(xt)(xtx)f(xt)f(x)+μ2xtx2\nabla f(x_t)^\top (x_t - x^{*}) \geq f(x_t) - f(x^{*}) + \frac{\mu}{2} \|x_t - x^{*}\|^2

  2. 投影性质(附件2 P8):

    f(xt+1)f(xt)12Lf(xt)2+L2yt+1xt+12f(x_{t+1}) \leq f(x_t) - \frac{1}{2L} \|\nabla f(x_t)\|^2 + \frac{L}{2} \|y_{t+1} - x_{t+1}\|^2

  3. 距离递归关系

    • 结合投影算子的非扩张性:ΠX(y)ΠX(z)yz\|\Pi_X(y) - \Pi_X(z)\| \leq \|y - z\|
    • 利用平滑性:f(y)f(x)+f(x)(yx)+L2yx2f(y) \leq f(x) + \nabla f(x)^\top (y - x) + \frac{L}{2} \|y - x\|^2
  4. 最终推导

    xt+1x2yt+1x2yt+1xt+12=xtηf(xt)x2yt+1xt+12(1μL)xtx2\begin{aligned} \|x_{t+1} - x^{*}\|^2 &\leq \|y_{t+1} - x^{*}\|^2 - \|y_{t+1} - x_{t+1}\|^2 \\ &= \|x_t - \eta \nabla f(x_t) - x^{*}\|^2 - \|y_{t+1} - x_{t+1}\|^2 \\ &\leq \left(1 - \frac{\mu}{L}\right) \|x_t - x^{*}\|^2 \end{aligned}

几何意义与解释

条件数 κ=L/μ\kappa = L/\mu:该定理揭示了收敛速率取决于函数的光滑性 (LL) 与强凸性 (μ\mu) 的比值。条件数越小(即函数越强凸或越平滑),收敛越快。

几何解释

  • 强凸性确保函数有明确的"下降方向"
  • 平滑性确保梯度变化不会太剧烈,允许使用较大步长
  • 投影操作确保解始终保持在可行域 XX
  • 每次迭代都会将当前解指数级地拉向唯一最优解

实际意义:该定理保证了在合理条件下,投影梯度下降能够快速收敛到最优解,且误差随迭代次数指数下降。步长 η=1/L\eta = 1/L 是最优选择,平衡了收敛速度和稳定性。


投影步的计算例子

  • 投影操作 ΠX(y)=argminxXxy\Pi_X(y) = \arg\min_{x \in X} \|x - y\| 本身是一个优化问题,但在某些情况下可高效计算:

    • 投影到仿射子空间:通过求解线性方程组(类似最小二乘)实现。

      截屏2025-10-14 22.41.22.png

      例如,如果 XX 是超平面,投影有解析解。

    • 投影到欧几里得球(中心为 cc):通过缩放向量 ycy - c 实现。

      ΠX(y)=c+Ryc(yc)ifyc>R\Pi_X(y) = c + \frac{R}{\|y - c\|} (y - c) \quad \text{if} \quad \|y - c\| > R

      截屏2025-10-14 22.42.28.png

      其中 RR 是球半径,否则点已在球内。

    • 投影到 1\ell_1-球(用于Lasso问题):可简化为投影到单纯形。

      • B1(R)={x:x1R}B_1(R) = \{x : \|x\|_1 \leq R\},投影问题可转化为:

        minxdxz2其中d={x:ixi=1,xi0}\min_{x \in \triangle_d} \|x - z\|^2 \quad \text{其中} \quad \triangle_d = \{x : \sum_i x_i = 1, x_i \geq 0\}

        截屏2025-10-14 22.43.14.png

      投影到单纯形可在 O(dlogd)\mathcal{O}(d \log d)O(d)\mathcal{O}(d) 时间内计算(DSSSC08算法)。


近端梯度下降法 (Proximal Gradient Descent)

问题设定

考虑复合优化问题,目标函数由两部分组成:

f(x):=g(x)+h(x)f(x) := g(x) + h(x)

数学符号意义

  • g(x)g(x): "性质良好"的函数(通常凸且LL-光滑)

  • h(x)h(x): "简单"但可能非光滑的附加项(如1\ell_1范数、指示函数等)

  • f(x)f(x): 待优化的复合目标函数

近端梯度下降法适用于求解非光滑、带约束或具有特殊结构的优化问题。

算法思想与更新公式

核心思想:将梯度下降思想推广到复合函数。对于光滑函数g(x)g(x),梯度下降步等价于最小化局部二次近似:

xt+1=argminz{g(xt)+g(xt)(zxt)+12ηzxt2}x_{t+1} = \arg\min_z \left\{ g(x_t) + \nabla g(x_t)^\top (z - x_t) + \frac{1}{2\eta} \|z - x_t\|^2 \right\}

对于f=g+hf = g + h,保留对gg的二次近似,直接加上hh

xt+1=argminz{g(xt)+g(xt)(zxt)+12ηzxt2+h(z)}x_{t+1} = \arg\min_z \left\{ g(x_t) + \nabla g(x_t)^\top (z - x_t) + \frac{1}{2\eta} \|z - x_t\|^2 + h(z) \right\}

算法迭代公式

xt+1=proxh,η(xtηg(xt))x_{t+1} = \text{prox}_{h, \eta}(x_t - \eta \nabla g(x_t))

近端映射定义

proxh,η(z)=argminx{12ηxz2+h(x)}\text{prox}_{h, \eta}(z) = \arg\min_x \left\{ \frac{1}{2\eta} \|x - z\|^2 + h(x) \right\}

等价形式

xt+1=xtηGh,η(xt)x_{t+1} = x_t - \eta G_{h,\eta}(x_t)

其中Gh,η(x)=1η(xproxh,η(xηg(x)))G_{h,\eta}(x) = \frac{1}{\eta}(x - \text{prox}_{h, \eta}(x - \eta \nabla g(x)))广义梯度

特例与几何意义

h=0h = 0:退化为标准梯度下降

prox0,η(z)=z\text{prox}_{0, \eta}(z) = z

h=1Xh = 1_X(指示函数):退化为投影梯度下降

  • 指示函数:1X(x)={0,xX,xX1_X(x) = \begin{cases} 0, & x \in X \\ \infty, & x \notin X \end{cases}

  • 近端映射变为投影:prox1X,η(z)=πX(z)=argminxXxz\text{prox}_{1_X, \eta}(z) = \pi_X(z) = \arg\min_{x \in X} \|x - z\|

几何意义:近端映射在点zz附近寻找使h(x)h(x)较小的点,参数η\eta平衡"接近zz"和"使hh小"两个目标。

收敛性分析

定理3(近端梯度下降收敛性)

g:RdRg: \mathbb{R}^d \rightarrow \mathbb{R}凸且LL-光滑,hh凸,且可计算近端映射。选择步长η=1/L\eta = 1/L,则:

f(xT)f(x)L2Txx02f(x_T) - f(x^*) \leq \frac{L}{2T} \|x^* - x_0\|^2

收敛速率为O(1/T)\mathcal{O}(1/T),与光滑凸函数上的梯度下降相同。

定理3证明思路:

数学符号意义

  • ψ(z)=g(xt)+g(xt)(zxt)+12ηzxt2+h(z)\psi(z) = g(x_t) + \nabla g(x_t)^\top (z - x_t) + \frac{1}{2\eta} \|z - x_t\|^2 + h(z)局部近似函数

  • xt+1=argminzψ(z)x_{t+1} = \arg\min_z \psi(z)近端梯度步

  • yxt+12\|y - x_{t+1}\|^2近似误差项,衡量当前点与最优点的距离

证明步骤

  1. 定义局部近似函数

    ψ(z)=g(xt)+g(xt)(zxt)+12ηzxt2+h(z)\psi(z) = g(x_t) + \nabla g(x_t)^\top (z - x_t) + \frac{1}{2\eta} \|z - x_t\|^2 + h(z)

    由于二次项存在,ψ(z)\psi(z)是强凸函数。

  2. 利用强凸性:根据xt+1x_{t+1}的定义和ψ\psi的强凸性:

    ψ(xt+1)ψ(y)12ηyxt+12,y\psi(x_{t+1}) \leq \psi(y) - \frac{1}{2\eta} \|y - x_{t+1}\|^2, \quad \forall y

  3. 转化为ff的递减性质:利用ggLL-光滑性和凸性,将不等式转化为:

    f(xt+1)f(y)+12ηyxt212ηyxt+12,yf(x_{t+1}) \leq f(y) + \frac{1}{2\eta} \|y - x_t\|^2 - \frac{1}{2\eta} \|y - x_{t+1}\|^2, \quad \forall y

  4. 求和与单调性

    • y=xy = x^*,对t=0t = 0T1T-1求和
    • 利用函数值单调递减:f(xt+1)f(xt)f(x_{t+1}) \leq f(x_t)
    • 得到最终收敛界

几何直观:近端方法只"看到"光滑部分gg,非光滑部分hh被近端映射单独处理,不影响收敛速度。

实例:迭代软阈值算法 (ISTA)

Lasso回归问题

minβ12yAβ22+λβ1\min_{\beta} \frac{1}{2} \|y - A\beta\|_2^2 + \lambda \|\beta\|_1

数学符号意义

  • ARn×dA \in \mathbb{R}^{n \times d}:特征矩阵

  • yRny \in \mathbb{R}^n:响应变量

  • λ>0\lambda > 0:稀疏性调节参数

  • βRd\beta \in \mathbb{R}^d:系数向量

分解

  • g(β)=12yAβ22g(\beta) = \frac{1}{2} \|y - A\beta\|_2^2g(β)=A(yAβ)\nabla g(\beta) = -A^\top (y - A\beta)

  • h(β)=λβ1h(\beta) = \lambda \|\beta\|_1

软阈值算子

[proxh,η(z)]i=Sλ,η(zi)={ziηλif zi>ηλ0if ziηλzi+ηλif zi<ηλ[\text{prox}_{h,\eta}(z)]_i = S_{\lambda,\eta}(z_i) = \begin{cases} z_i - \eta\lambda & \text{if } z_i > \eta\lambda \\ 0 & \text{if } |z_i| \leq \eta\lambda \\ z_i + \eta\lambda & \text{if } z_i < -\eta\lambda \end{cases}

ISTA迭代公式

βt+1=Sλη(βt+ηA(yAβt))\beta_{t+1} = S_{\lambda \eta}(\beta_t + \eta A^\top (y - A\beta_t))

推导说明:通过分析近端映射的一阶最优性条件,得到分段解析解,对应软阈值操作。


Mirror Descent


动机

考虑单纯形约束问题:

minxdf(x)\min_{x \in \triangle_d} f(x)

其中 d:={xRd:i=1dxi=1,xi0}\triangle_d := \{x \in \mathbb{R}^d : \sum_{i=1}^d x_i = 1, x_i \geqslant 0\}。假设梯度满足 f(x)1\|\nabla f(x)\|_\infty \leqslant 1,这意味着梯度的每个元素绝对值有界。

  • 收敛率比较

    • 梯度下降(GD)在凸且L-Lipschitz函数上的收敛率为 O(dT)\mathcal{O}\left( \sqrt{\frac{d}{T}} \right)
    • Mirror Descent 可以达到 O(logdT)\mathcal{O}\left( \sqrt{\frac{\log d}{T}} \right),在高维问题(dd 大)中更优。
  • 为什么更优:GD的收敛率受维度 dd 影响,而Mirror Descent 通过镜像映射将依赖降低到 logd\log d,更好地处理单纯形的几何。


数学符号意义
  • \|\cdot\|_\infty:无穷范数,表示向量中元素的最大绝对值,即 maxixi\max_i |x_i|

  • 2\|\cdot\|_2:欧几里得范数,表示向量的标准长度,x2=ixi2\|x\|_2 = \sqrt{\sum_i x_i^2}

  • LL:Lipschitz常数,这里由梯度范数导出,f(x)2d=L\|\nabla f(x)\|_2 \leqslant \sqrt{d} = L

  • dd:问题维度。

  • TT:迭代次数。

  • f(xbest)f(x)f(x_{\text{best}}) - f(x^*):最优间隙,当前最佳解与最优解的函数值差。

  • ρ\rho:强凸系数,用于描述镜像势能 Φ\Phi 的凸性强度。

  • η\eta:步长,在Mirror Descent中设置为 η=2RLρT\eta = \frac{2R}{L} \sqrt{\frac{\rho}{T}}

  • RR:定义域半径,R2=supxXDΦ(x,x1)R^2 = \sup_{x \in X} D_\Phi(x, x_1),其中 x1x_1 是初始点。

预备知识

  • 范数与对偶范数:固定范数 \|\cdot\|,对偶范数定义为 g=supx1gx\|g\|_* = \sup_{\|x\| \leq 1} g^\top x

  • 函数性质

    • LL-Lipschitz:x,gf(x),gL\forall x, g \in \partial f(x), \|g\|_* \leqslant L
    • β\beta-平滑:满足特定光滑条件。
    • μ\mu-强凸:f(y)f(x)+g(yx)+μ2yx2f(y) \geq f(x) + g^\top (y-x) + \frac{\mu}{2} \|y-x\|^2

Mirror Descent 迭代过程

Mirror Descent 的迭代分为两步:对偶更新和投影。这个过程确保在每次迭代中,点都保持在可行域 X 内。

  • 对偶更新步骤

    yt+1=(Φ)1(Φ(xt)ηtgt)\boldsymbol{y}_{t+1} = (\nabla\Phi)^{-1}(\nabla\Phi(\boldsymbol{x}_{t}) - \eta_{t}\boldsymbol{g}_{t})

    其中:

    • xt\boldsymbol{x}_{t} 是当前迭代点(原始空间)。
    • Φ\nabla\Phi 是 Mirror Potential 的梯度,用于映射到对偶空间。
    • ηt\eta_{t} 是步长(学习率)。
    • gtf(xt)\boldsymbol{g}_{t} \in \partial f(\boldsymbol{x}_{t}) 是目标函数 f 在 xt\boldsymbol{x}_{t} 处的次梯度(如果 f 可微,则为梯度)。这一步在对偶空间中执行梯度下降。
  • 投影步骤

    xt+1=argminxXDΦ(x,yt+1)\boldsymbol{x}_{t+1} = \underset{\boldsymbol{x} \in X}{\arg\min} D_{\Phi}(\boldsymbol{x}, \boldsymbol{y}_{t+1})

    其中 DΦD_{\Phi} 是 Bregman Divergence 关联到 Φ。这一步将中间点 yt+1\boldsymbol{y}_{t+1} 投影回可行域 X,最小化 Bregman Divergence。

几何解释
Mirror Descent 的几何意义可以从对偶空间和原始空间的角度理解:

  • 对偶空间:梯度步骤 Φ(xt)ηtgt\nabla\Phi(\boldsymbol{x}_{t}) - \eta_{t}\boldsymbol{g}_{t} 在对偶空间中执行,这是一个线性更新。
  • 原始空间:通过逆映射 (Φ)1(\nabla\Phi)^{-1} 将对偶点映射回原始空间,然后通过 Bregman 投影确保可行性。
  • 示意图(如来自 Bubeck 2015)展示了这一过程:从对偶空间到原始空间的“镜像”映射,包括梯度步骤和投影,使算法在复杂几何下高效。
    截屏2025-10-15 00.27.22.png

关键要素

Mirror Potential(镜像势函数)

Mirror Potential 是 Mirror Descent 的核心函数,记作 Φ\Phi。它定义了从原始空间到对偶空间的映射。

  • 定义Φ:RdR\Phi: \mathbb{R}^{d} \rightarrow \mathbb{R} 是一个函数,满足以下性质:

    • 严格凸性(Strictly Convex):确保优化问题有唯一解。
    • 连续可微性(Continuously Differentiable):梯度 Φ\nabla \Phi 存在且连续,便于计算。
    • 极限条件:当 x2||x||_2 → \infty 时,Φ(x)||\nabla \Phi(x)|| → \infty。这防止算法发散,保证稳定性。

Bregman Divergence(Bregman 散度)

Bregman Divergence 是一种非对称距离度量,用于替代欧几里得距离,基于一个凸函数(通常为 Φ\Phi 或相关函数 ff)。它定义了点之间的“差异”,并在投影步骤中用于确保可行性。

  • 定义:对于函数 ff,Bregman Divergence 定义为:

    Df(x,y)=f(x)f(y)f(y)(xy)D_f(x, y) = f(x) - f(y) - \nabla f(y)^\top (x - y)

    这衡量了 xxyy 之间的凸性差异。

  • 性质:非负性(Df(x,y)0D_f(x, y) ≥ 0,且当 x=yx = y 时等号成立)、凸性在 xx 上。

截屏2025-10-15 00.33.14.png

投影算子

投影是 Mirror Descent 的关键部分,确保算法在约束集 X 上可行。

  • 投影定义:投影操作记为 ΠXΦ\Pi^{\Phi}_{X},使用 Bregman Divergence 关联到 Φ:

    ΠXΦ(y)=argminxXDΦ(x,y)\Pi^{\Phi}_{X}(\boldsymbol{y}) = \arg\min_{\boldsymbol{x} \in X} D_{\Phi}(\boldsymbol{x}, \boldsymbol{y})

  • 存在性与唯一性:由于 Φ 的严格凸性和连续可微性,投影 ΠXΦ\Pi^{\Phi}_{X} 存在且唯一。这意味着对于任何点,都能找到唯一的投影点,避免算法的不确定性。

镜像下降法的收敛性

镜像下降法更新规则

镜像下降法(Mirror Descent)是一种优化算法,适用于非欧几里得空间中的凸优化问题。其更新规则如下:

  • 初始化:选择初始点 x1x_1,使得 x1arg minxXΦ(x)x_1 \in \operatorname*{arg\,min}_{x \in X} \Phi(x),其中 Φ\Phi 是一个镜像映射(mirror map),XX 是可行域。

  • 对于每个时间步 t1t \geq 1

    • 计算次梯度 gtf(xt)g_t \in \partial f(x_t),其中 ff 是目标函数。
    • 然后,定义 yt+1Rdy_{t+1} \in \mathbb{R}^d 满足:

      Φ(yt+1)=Φ(xt)ηgt\nabla\Phi(y_{t+1}) = \nabla\Phi(x_t) - \eta g_t

      其中 η\eta 是步长参数。

核心思想:在镜像空间(由 Φ\Phi 定义)中执行梯度下降,然后通过镜像映射投影回原始空间。Φ\nabla\Phi 是映射的梯度,它将点从原始空间映射到对偶空间。

定理4: 收敛性保证

假设:

  • Φ\Phi 是镜像映射,且在 XX 上关于范数 \|\cdot\|ρ\rho-强凸的。

  • ff 是凸函数,且关于 \|\cdot\|LL-Lipschitz 连续的。则 Mirror Descent 算法在步长 η=2RLρT\eta = \frac{2R}{L} \sqrt{\frac{\rho}{T}} 时满足:

f(1Tt=1Txt)f(x)2RLρTf(\frac{1}{T} \sum_{t=1}^T{x_t}) - f(x^*) \leq \frac{2RL}{\sqrt{\rho T}}

其中 RR 是初始点与最优解 xx^* 之间的“距离”上界,TT 是迭代次数。

符号意义

  • ρ\rho:强凸性参数,衡量 Φ\Phi 的凸性强度。
  • LL:Lipschitz 常数,表示函数 ff 的变化率上界。
  • RR:通常定义为 R2=maxxXDΦ(x,x1)R^2 = \max_{x \in X} D_\Phi(x, x_1),反映问题规模。
  • η\eta:步长,控制更新幅度,依赖于问题参数以确保收敛。

标准设置示例

Ball Setup(球设置)

  • 镜像势能:Φ(x)=12x22\Phi(x) = \frac{1}{2} \|x\|_2^2

  • Bregman 散度:DΦ(x,y)=12xy22D_\Phi(x, y) = \frac{1}{2} \|x - y\|_2^2

  • 此时,Mirror Descent 等价于投影次梯度下降(Projected Subgradient Descent),因为投影在欧几里得空间中进行。

Simplex Setup(单纯形设置)

  • 镜像势能:Φ(x)=i=1dxilogxi\Phi(x) = \sum_{i=1}^d x_i \log x_i(负熵函数),定义在单纯形 d={xRd:xi0,ixi=1}\triangle_d = \{x \in \mathbb{R}^d : x_i \geq 0, \sum_i x_i = 1\} 上。

  • 梯度更新:Φ(yt+1)=Φ(xt)ηf(xt)\nabla \Phi(y_{t+1}) = \nabla \Phi(x_t) - \eta \nabla f(x_t) 可写为分量形式:

    yt+1,i=xt,iexp(η[f(xt)]i)y_{t+1,i} = x_{t,i} \exp(-\eta [\nabla f(x_t)]_i)

  • Bregman 散度:DΦ(x,y)=i=1dxilogxiyiD_\Phi(x, y) = \sum_{i=1}^d x_i \log \frac{x_i}{y_i}(Kullback-Leibler 散度)。

  • 投影:在单纯形上的投影等价于重归一化 yy/y1y \rightarrow y / \|y\|_1

  • 例子:当 X=dX = \triangle_d,初始点 x1=(1/d,,1/d)x_1 = (1/d, \ldots, 1/d),则 R2=logdR^2 = \log d,这适用于高维概率优化。

例子说明:Simplex setup 常用于机器学习中的概率模型优化,如在线学习或约束在概率单纯形上的问题。KL 散度的使用使得算法更适应概率分布的几何。

证明细节:
  1. 基础不等式:利用Bregman散度的性质,有:

    f(xt)f(x)1η(DΦ(x,xt)DΦ(x,xt+1))+η2ρgt2f(x_t) - f(x) \leq \frac{1}{\eta} \left( D_\Phi(x, x_t) - D_\Phi(x, x_{t+1}) \right) + \frac{\eta}{2\rho} \|g_t\|_*^2

    • 来源:附件2 P47,通过一阶最优性条件和强凸性导出。
  2. 求和与 Telescoping:对 t=1t=1TT 求和,DΦD_\Phi 项形成 telescoping 和:

    t=1T[DΦ(x,xt)DΦ(x,xt+1)]=DΦ(x,x1)DΦ(x,xT+1)R2\sum_{t=1}^T [D_\Phi(x, x_t) - D_\Phi(x, x_{t+1})] = D_\Phi(x, x_1) - D_\Phi(x, x_{T+1}) \leq R^2

    • 因为 x1=argminxXΦ(x)x_1 = \arg\min_{x \in X} \Phi(x),所以 DΦ(x,x1)R2D_\Phi(x, x_1) \leq R^2
  3. 界住梯度项:由于 ffLL-Lipschitz,gtL\|g_t\|_* \leq L,因此:

    t=1Tη2ρgt2ηTL22ρ\sum_{t=1}^T \frac{\eta}{2\rho} \|g_t\|_*^2 \leq \frac{\eta T L^2}{2\rho}

  4. 结合结果

    t=1T(f(xt)f(x))R2η+ηTL22ρ\sum_{t=1}^T (f(x_t) - f(x)) \leq \frac{R^2}{\eta} + \frac{\eta T L^2}{2\rho}

    • 选择 η=2RLρT\eta = \frac{2R}{L} \sqrt{\frac{\rho}{T}} 最小化右端,得到收敛率。
  5. Jensen不等式:最后应用 Jensen 不等式于平均点 1Tt=1Txt\frac{1}{T} \sum_{t=1}^T x_t