好的,我将为你讲解一个尚未涵盖的重要运筹学词条:
非线性规划中的坐标轮换法
第一步:从最直观的想法出发——为什么需要这种方法?
想象一下,你在一个多山的地区,被蒙上眼睛,需要找到最低的谷底(即优化问题中的最小值点)。你手里只有一根探杖,可以探测你脚边各个方向的坡度。一个最朴素的方法是:你每次只沿着“正东-正西”方向移动,找到这个方向上的最低点,然后停下;接着,你只沿着“正南-正北”方向移动,找到这个方向上的最低点,再停下。如此反复,沿着“东-西”、“南-北”这两个固定的方向交替进行搜索。这个“沿着固定坐标轴方向,一个一个地优化”的思路,就是坐标轮换法 最核心、最直观的思想。
在数学上,对于一个无约束非线性规划问题:
min f(x₁, x₂, ..., xₙ)
其中 x = (x₁, x₂, ..., xₙ)^T 是一个n维向量。坐标轮换法并不像梯度法那样同时考虑所有变量的变化,而是在每一次迭代中,只优化一个变量,而固定其他所有变量。它依次沿着坐标轴的方向(e₁ = (1,0,...,0), e₂ = (0,1,...,0), ..., eₙ = (0,0,...,1))进行一维搜索。
第二步:方法的精确步骤分解
让我们把这个直观想法转化为精确的算法步骤。假设当前迭代点为 x^k = (x₁^k, x₂^k, ..., xₙ^k)。
-
初始化:选择一个初始点
x^0,设定收敛精度 ε > 0,令迭代计数器 k = 0。 -
开始一轮“轮换”:这一轮操作会遍历所有n个坐标方向。
- 从
i = 1到n,执行以下循环:
a. 构建一维子问题:在当前点y^(i-1)(注:y^0 = x^k),固定除第i个变量外的所有变量。定义一维函数:
φ_i(α) = f(y₁^(i-1), ..., y_{i-1}^(i-1), y_i^(i-1) + α, y_{i+1}^(i-1), ..., y_n^(i-1))
这本质上就是原始函数f沿着第i个坐标轴方向(e_i)的“切片”。
b. 一维搜索:精确或近似地求解这个一维优化问题,找到最优步长 α_i^*:
α_i^* = argmin φ_i(α)
c. 更新当前点:沿着第i个坐标轴移动:
y^i = y^(i-1) + α_i^* * e_i
也就是说,只有第i个分量被更新了:y_i^i = y_i^(i-1) + α_i^*,其他分量保持不变。
- 从
-
完成一轮,得到新迭代点:经过上述n次一维搜索后,我们得到
y^n。令新的迭代点为x^{k+1} = y^n。 -
收敛性检验:检查迭代是否应该停止。一个常用的准则是判断改进是否足够小:
||x^{k+1} - x^k|| < ε
如果满足,则算法终止,x^{k+1}即为近似最优解。否则,令k = k+1,返回步骤2开始新的一轮坐标轮换。
第三步:方法的几何直观与特点
- “之”字形路径:由于每次只沿一个坐标方向优化,算法的搜索路径通常呈现“之”字形,交替平行于各个坐标轴。它不像最速下降法那样沿着局部最陡的梯度方向直接下山,而像在下台阶,一次下一级。
- 无需计算梯度:这是该方法一个巨大的优势。你只需要能够计算函数值
f(x),就可以通过一维搜索(如黄金分割法、二次插值法等)来找到沿坐标轴的最佳点。这在梯度难以计算或不存在的情况下非常有用。 - 实现简单:概念清晰,编程容易。
- 适用于部分可分离问题:如果目标函数是“可分离”的,即
f(x) = f₁(x₁) + f₂(x₂) + ... + fₙ(xₙ),那么坐标轮换法在一轮之内就能找到全局最优解,因为各个变量互不影响。
第四步:方法的局限性、收敛性与改进
- 收敛速度慢:这是其主要缺点。尤其是当变量之间存在强交互(即函数的等值线是倾斜的椭圆)时,算法可能需要非常多轮“之”字形移动才能接近最优点,收敛速度可以非常慢,甚至出现“拉锯”现象。
- 收敛性条件:对于连续可微且强凸的函数,坐标轮换法可以保证收敛到全局最小值。对于一般的连续可微函数,它可能收敛到稳定点(梯度为零的点,可能是局部极小、极大或鞍点)。
- 改进方向:
- 模式移动:在完成一轮坐标搜索(
x^k到x^{k+1})后,沿着“模式方向”d = x^{k+1} - x^k再进行一次一维搜索。这构成了经典的模式搜索法(如Hooke-Jeeves方法)的核心思想,能有效加速收敛。 - 改变搜索方向:不再局限于固定的坐标轴方向,而是使用一组共轭方向,这就演变成了共轭方向法。如果这组方向是关于Hessian矩阵共轭的,并且使用精确一维搜索,那么对于二次函数能在n步内收敛,性能大幅提升。
- 循环坐标下降法:在现代大规模机器学习中,坐标轮换法的思想以“坐标下降法”的形式重现。对于某些特定问题(如LASSO回归、支持向量机),由于其问题结构,沿一个坐标方向的最小化有解析解,使得该算法非常高效。
- 模式移动:在完成一轮坐标搜索(
总结
非线性规划中的坐标轮换法 是一种经典、直观的直接搜索方法。其核心是将复杂的多维优化问题,分解为一系列简单的一维优化子问题,并沿坐标轴方向依次求解。它优点在于不依赖梯度、实现简单,尤其适合变量耦合不紧密或梯度难以获取的问题。但其主要缺陷是收敛速度较慢,尤其是在变量相关性强的场景下。理解坐标轮换法,是学习更高级的共轭方向法、模式搜索法以及现代大规模优化中坐标下降类算法的重要基础。