非线性规划中的自适应正则化拟牛顿法(Adaptive Regularized Quasi-Newton Method)进阶题
题目描述
考虑一个无约束光滑非凸优化问题:
\[\min_{x \in \mathbb{R}^n} f(x) \]
其中目标函数 \(f: \mathbb{R}^n \to \mathbb{R}\) 是二阶连续可微的,但其 Hessian 矩阵可能非正定或条件数很大。
设计一种 自适应正则化拟牛顿法 来求解该问题,其核心思想是:
- 在每次迭代中构建一个拟牛顿模型,但为了避免拟牛顿矩阵 \(B_k\) 在非凸区域导致模型不具凸性,引入自适应正则化项,将模型修正为强凸的。
- 自适应调整正则化参数,使得模型既能保持局部超线性收敛潜力,又能保证全局收敛。
具体任务是:
- 推导算法的迭代格式。
- 说明自适应正则化参数的选择策略。
- 分析算法的全局收敛性条件。
解题过程
步骤 1:问题重述与背景
在标准的拟牛顿法中,我们利用迭代 \(x_{k+1} = x_k - B_k^{-1} \nabla f(x_k)\),其中 \(B_k \approx \nabla^2 f(x_k)\)。但在非凸区域,\(B_k\) 可能非正定,导致搜索方向不是下降方向,甚至模型函数 \(m_k(p) = f(x_k) + \nabla f(x_k)^\top p + \frac{1}{2} p^\top B_k p\) 无界。
为了解决此问题,可对模型加入正则化项 \(\frac{\sigma_k}{2} \|p\|^2\),其中 \(\sigma_k \geq 0\) 是自适应参数,使修正后的模型
\[\tilde{m}_k(p) = f(x_k) + \nabla f(x_k)^\top p + \frac{1}{2} p^\top (B_k + \sigma_k I) p \]
是强凸的(即 \(B_k + \sigma_k I \succ 0\))。
步骤 2:算法迭代格式推导
- 构建正则化子问题:在第 \(k\) 步,求解
\[ p_k = \arg\min_{p \in \mathbb{R}^n} \tilde{m}_k(p) = \arg\min_{p} \left\{ f(x_k) + \nabla f_k^\top p + \frac{1}{2} p^\top (B_k + \sigma_k I) p \right\} \]
其解析解为
\[ p_k = -(B_k + \sigma_k I)^{-1} \nabla f_k. \]
若 \(\sigma_k = 0\) 且 \(B_k \succ 0\),则退化为标准拟牛顿步。
- 计算试验点:
\[ x_k^+ = x_k + p_k. \]
- 实际下降量与预测下降量:
定义实际下降
\[ \text{ared}_k = f(x_k) - f(x_k^+), \]
预测下降
\[ \text{pred}_k = -\nabla f_k^\top p_k - \frac{1}{2} p_k^\top (B_k + \sigma_k I) p_k. \]
- 接受试验点条件:
如果
\[ \frac{\text{ared}_k}{\text{pred}_k} \geq \eta_1 \quad (0 < \eta_1 < 1), \]
则接受这一步,令 \(x_{k+1} = x_k^+\)。否则,拒绝这一步,增大正则化参数 \(\sigma_k\) 并重新求解子问题。
- 更新拟牛顿矩阵:
若接受这一步,用 BFGS 或 DFP 等公式更新 \(B_{k+1}\),利用位移 \(s_k = x_{k+1} - x_k\) 和梯度差 \(y_k = \nabla f_{k+1} - \nabla f_k\)。
步骤 3:自适应正则化参数选择策略
自适应策略的目标是:使 \(\sigma_k\) 尽可能小(保持拟牛顿逼近的精度),但必须保证 \(B_k + \sigma_k I\) 的最小特征值足够大,使得模型 \(\tilde{m}_k(p)\) 强凸,并且能控制实际下降与预测下降的比例。
一种实用策略是:
- 初始化:给定初始 \(\sigma_0 \geq 0\)(例如 0)。
- 每次迭代开始时,检查 \(B_k + \sigma_k I\) 的最小特征值 \(\lambda_{\min}\)。
- 如果 \(\lambda_{\min} \leq \delta\)(\(\delta > 0\) 是一个小阈值,如 \(10^{-8}\)),则增大 \(\sigma_k\) 为 \(\sigma_k \leftarrow 2\sigma_k + \tau\),其中 \(\tau > 0\) 是一个增量。
- 在试验步被拒绝时(即实际下降与预测下降之比太小),增加正则化参数:
\[ \sigma_k \leftarrow \gamma \sigma_k, \quad \gamma > 1 \ (\text{例如 } \gamma = 2). \]
- 在试验步成功时,可适当减小正则化参数,以便后续迭代更接近拟牛顿步:
\[ \sigma_{k+1} = \max(\sigma_k / \gamma, 0) \quad \text{或} \quad \sigma_{k+1} = \sigma_k. \]
这样,\(\sigma_k\) 在迭代中自适应调整,在曲率信息可靠时变小,在非凸或病态时变大。
步骤 4:全局收敛性分析
要证明算法全局收敛到稳定点(即梯度趋于零),需假设:
- 目标函数 \(f\) 下有界,在水平集 \(\{x: f(x) \leq f(x_0)\}\) 上 Lipschitz 连续可微。
- 拟牛顿矩阵 \(B_k\) 有界(通过正则化保证)。
关键步骤:
- 由于每次尝试步之前,模型被修正为强凸,预测下降 \(\text{pred}_k\) 满足
\[ \text{pred}_k \geq \frac{1}{2} \| \nabla f_k \| \min\left\{ \frac{\| \nabla f_k \|}{\| B_k + \sigma_k I \|}, c \right\} \]
对某个 \(c>0\) 成立。
- 如果某步被拒绝,则 \(\sigma_k\) 增大,最终模型足够凸,使得实际下降与预测下降之比超过 \(\eta_1\),从而步被接受。
- 由于实际下降至少为 \(\eta_1 \cdot \text{pred}_k\),且 \(\text{pred}_k\) 与梯度大小相关,可证明梯度序列的子列收敛到零。
- 结合 Zoutendijk 条件或类似信任域框架的分析,可得到全局收敛:
\[ \liminf_{k \to \infty} \| \nabla f_k \| = 0. \]
总结
自适应正则化拟牛顿法通过动态调整正则化参数,既继承了拟牛顿法的超线性收敛潜力,又保证了在非凸区域的全局收敛性。其核心是:
- 用 \(B_k + \sigma_k I\) 保证模型强凸。
- 根据实际下降与预测下降之比自适应调整 \(\sigma_k\)。
- 在曲率信息可靠时减少正则化,接近拟牛顿步;在模型不可靠时增大正则化,类似信任域机制。
该方法尤其适合大规模非凸问题,其中精确 Hessian 计算昂贵,而拟牛顿法可有效利用梯度信息。