非线性规划中的坐标下降法
首先,我们来理解坐标下降法的基本思想。想象一下,你站在一个复杂多变的山地地形中,目标是找到最低的谷底(即目标函数的最小值点)。然而,山路崎岖,一次观察和移动所有方向非常困难。一个直观的策略是:每次你只选择沿着“东西方向”(即一个坐标轴的方向)看,找到这个方向上的最低点并移动过去,然后再选择“南北方向”(另一个坐标轴方向)重复此过程。如此循环往复,每次只优化一个变量而固定其他所有变量,这就是坐标下降法的核心理念。它是一种解决多变量优化问题的迭代方法,尤其适用于目标函数虽然关于所有变量联合来看很复杂,但关于单个变量进行优化却相对简单的情况。
接下来,我们深入其数学描述和迭代格式。考虑一个无约束非线性规划问题:
\[\min_{\mathbf{x} \in \mathbb{R}^n} f(x_1, x_2, ..., x_n) \]
其中 \(f: \mathbb{R}^n \rightarrow \mathbb{R}\) 是目标函数。坐标下降法从初始点 \(\mathbf{x}^{(0)}\) 开始,在第 \(k\) 次迭代中(\(k = 0, 1, 2, ...\)),它按照某种规则(如循环顺序:1,2,...,n,1,2,...)选择一个坐标索引 \(i_k \in \{1, 2, ..., n\}\)。然后,进行如下更新:
\[x_{i_k}^{(k+1)} = \arg\min_{t \in \mathbb{R}} f(x_1^{(k)}, ..., x_{i_k-1}^{(k)}, t, x_{i_k+1}^{(k)}, ..., x_n^{(k)}) \]
而其他坐标保持不变,即 \(x_j^{(k+1)} = x_j^{(k)}\) 对 \(j \neq i_k\)。简单说,就是固定除了第 \(i_k\) 个变量之外的所有变量,求解一个单变量最小化问题,用其解更新 \(x_{i_k}\)。这个过程不断重复,直至满足某个停止准则(如迭代点变化足够小或目标函数下降量足够小)。
为了让你更具体地感受这个过程,我们看一个经典例子:岭回归(Ridge Regression)。其问题形式为 \(\min_{\mathbf{w} \in \mathbb{R}^n} \frac{1}{2} \| \mathbf{y} - \mathbf{X}\mathbf{w} \|_2^2 + \frac{\lambda}{2} \|\mathbf{w}\|_2^2\),其中 \(\mathbf{X}\) 是设计矩阵,\(\mathbf{y}\) 是响应向量,\(\lambda > 0\) 是正则化参数。虽然此问题有解析解,但用坐标下降法求解能清晰展示其运作。目标函数关于单个权重 \(w_j\) 是二次的,固定其他 \(w_l (l \neq j)\) 时,最优解有显式表达式:
\[w_j^{new} = \frac{\mathbf{X}_j^T (\mathbf{y} - \sum_{l \neq j} \mathbf{X}_l w_l)}{\mathbf{X}_j^T \mathbf{X}_j + \lambda} \]
其中 \(\mathbf{X}_j\) 是 \(\mathbf{X}\) 的第 \(j\) 列。算法会按顺序或随机选择下标 \(j\),循环使用此更新公式计算每个 \(w_j\),直至收敛。这个例子也揭示了坐标下降法的一个关键优势:当单变量子问题能高效求解(甚至解析求解)时,算法实现简单,迭代成本低。
然而,坐标下降法并非万能,其收敛性依赖于目标函数的性质。在理论上,一个重要且能保证收敛的条件是目标函数为可分的,即 \(f(\mathbf{x}) = \sum_{i=1}^n f_i(x_i)\),此时各变量独立,算法一步就收敛。但更一般地,对于连续可微的函数,如果每次单变量最小化都能找到唯一且精确的极小点,且目标函数在水平集上强制(即集合 \(\{ \mathbf{x} : f(\mathbf{x}) \le f(\mathbf{x}^{(0)}) \}\) 有界),那么算法产生的任何极限点都是驻点。对于更广的凸函数,坐标下降法在适当的更新规则(如循环规则或Gauss-Seidel规则,即每次按固定顺序1到n更新)下,可以证明目标函数值会收敛到全局最优值,并且迭代点本身也收敛到全局最优解,前提是该凸函数是连续且在某点处达到有限最小值。
在实际应用中,坐标更新的顺序和子问题的求解精度是重要考量。顺序选择除了经典的循环顺序,还有随机排列循环、随机选择坐标(随机坐标下降法)等,后者在现代大规模优化中尤其流行,因为其随机性能带来更好的初始收敛速度和并行潜力。子问题通常不需要精确求解,一个或几个梯度步骤(对于可微函数)可能就足够,这催生了诸如坐标梯度下降等变体。此外,当问题带有可分离的约束时(如每个变量有边界约束 \(l_i \le x_i \le u_i\)),坐标下降法也能自然融入,因为单变量子问题是一个带界的一维优化,依然易于处理。
最后,将坐标下降法置于更广阔的优化图景中来看。它与块坐标下降法密切相关,后者每次更新一个变量子集(块),是更一般的框架。与梯度类方法(如最速下降法)相比,它每次迭代成本更低,但收敛速率通常与问题条件数和坐标系统的选取有关,在最坏情况下可能较慢。与高阶方法(如牛顿法)相比,它不需要二阶信息,适用于变量维度很高但单变量更新廉价的问题,常见于统计学习、矩阵补全、某些信号处理等领域。因此,坐标下降法以其简单、低迭代成本和对大规模问题的适应性,在优化算法家族中占有一席之地,是处理特定结构问题的一把有效而锋利的“手术刀”。