信赖域方法
字数 2349 2025-10-30 21:16:02

信赖域方法

信赖域方法是一类用于求解非线性优化问题的数值算法,特别适用于目标函数或约束条件为复杂非线性的情形。其核心思想是:在每次迭代中,在当前迭代点附近的一个小区域(即“信赖域”)内,用一个简单的模型(通常是二次模型)来近似原始复杂函数,然后在这个信赖域内求解该近似模型的极小值点,从而得到候选迭代点。通过比较候选点处实际函数的下降量与近似模型的预测下降量,来决定是否接受该候选点,并动态调整信赖域的大小。

  1. 基本思想与动机
    在优化问题中,我们常常需要最小化一个非线性函数 \(f(x)\)。如果 \(f(x)\) 非常复杂(例如,高度非线性、计算代价高昂),直接在其整个定义域上寻找极小值点会非常困难。信赖域方法的策略是“局部近似,逐步推进”。它在当前点 \(x_k\) 周围定义一个可信赖的区域(信赖域)\(\Delta_k\),通常是一个球域 \(\{ x : \|x - x_k\| \le \Delta_k \}\)。在这个有限的区域内,我们用一个更简单的函数 \(m_k(s)\)(其中 \(s = x - x_k\) 是位移)来近似 \(f(x_k + s)\)。这个近似模型 \(m_k(s)\) 通常取为二次函数:

\[ m_k(s) = f(x_k) + \nabla f(x_k)^T s + \frac{1}{2} s^T B_k s \]

其中,\(B_k\) 是Hessian矩阵 \(\nabla^2 f(x_k)\) 或其某个近似。然后,我们在信赖域约束 \(\|s\| \le \Delta_k\) 下求解子问题:

\[ \min_{s} m_k(s) \quad \text{subject to} \quad \|s\| \le \Delta_k \]

得到位移 \(s_k\)。这个子问题是一个带约束的二次规划问题,有高效的数值解法。

  1. 算法框架与关键步骤
    信赖域方法的一个标准迭代框架包含以下核心步骤:
    a. 模型构建:在当前迭代点 \(x_k\),构建局部二次近似模型 \(m_k(s)\)
    b. 子问题求解:在信赖域 \(\|s\| \le \Delta_k\) 内,求解 \(\min m_k(s)\) 得到试探步 \(s_k\)
    c. 实际下降与预测下降的比较:计算实际函数下降量 \(\text{ared}_k = f(x_k) - f(x_k + s_k)\) 和模型预测下降量 \(\text{pred}_k = m_k(0) - m_k(s_k)\)
    d. 比率计算与迭代更新:计算比率 \(\rho_k = \frac{\text{ared}_k}{\text{pred}_k}\)。这个比率衡量了近似模型在当前信赖域内的准确程度。
  • 如果 \(\rho_k\) 接近1(例如,大于某个阈值 \(\eta_1 > 0\)),说明模型预测很准确,我们接受该步长,令 \(x_{k+1} = x_k + s_k\)
  • 如果 \(\rho_k\) 很小甚至是负值,说明模型预测很差,我们拒绝该步长,保持 \(x_{k+1} = x_k\)
    e. 信赖域半径调整:根据比率 \(\rho_k\) 动态调整信赖域半径 \(\Delta_k\)\(\Delta_{k+1}\)
  • 如果 \(\rho_k\) 很大(例如,大于另一个阈值 \(\eta_2\)),说明模型在更大的区域内可能仍然准确,可以尝试增大信赖域半径 \(\Delta_{k+1} > \Delta_k\)
  • 如果 \(\rho_k\) 很小,说明当前信赖域过大,模型已经不准确,需要缩小信赖域半径 \(\Delta_{k+1} < \Delta_k\)
    - 否则,保持信赖域半径基本不变。
  1. 子问题求解技术
    求解信赖域子问题 \(\min_{\|s\| \le \Delta} m_k(s)\) 是算法的核心计算步骤。主要有两种思路:
    a. 精确求解法(柯西点与狗腿法):对于中小规模问题,可以高效地求得子问题的全局解或高质量近似解。著名的“狗腿法”适用于当 \(B_k\) 正定时,它通过结合最速下降方向(柯西点)和牛顿方向,找到一条折衷路径,并在这条路径上寻找满足约束的最优解。当 \(B_k\) 不定时,需要更复杂的策略,如求解一个带参数的特征值问题。
    b. 共轭梯度法(截断CG法):对于大规模问题,精确求解子问题计算量过大。通常采用截断的共轭梯度法来近似求解。该方法从最速下降方向开始,进行共轭梯度迭代。一旦迭代点触及信赖域边界,或者产生了负曲率方向,就停止迭代。这种方法计算效率高,且能产生满足全局收敛要求的解。

  2. 收敛性分析与实际应用
    在适当的正则性条件下(例如,函数 \(f\) 连续可微且有下界,近似Hessian矩阵 \(B_k\) 一致有界),信赖域方法具有强健的全局收敛性,即算法产生的序列至少有一个聚点是稳定点(梯度为零的点)。与线搜索方法(如最速下降法、牛顿法)相比,信赖域方法在处理高度非线性、非凸函数或病态Hessian矩阵时通常更为稳定可靠,因为它通过信赖域半径直接控制了步长,避免了可能使迭代发散的大步长。因此,信赖域方法被广泛应用于科学计算、工程优化、机器学习等领域的复杂非线性优化问题中。

信赖域方法 信赖域方法是一类用于求解非线性优化问题的数值算法,特别适用于目标函数或约束条件为复杂非线性的情形。其核心思想是:在每次迭代中,在当前迭代点附近的一个小区域(即“信赖域”)内,用一个简单的模型(通常是二次模型)来近似原始复杂函数,然后在这个信赖域内求解该近似模型的极小值点,从而得到候选迭代点。通过比较候选点处实际函数的下降量与近似模型的预测下降量,来决定是否接受该候选点,并动态调整信赖域的大小。 基本思想与动机 在优化问题中,我们常常需要最小化一个非线性函数 \( f(x) \)。如果 \( f(x) \) 非常复杂(例如,高度非线性、计算代价高昂),直接在其整个定义域上寻找极小值点会非常困难。信赖域方法的策略是“局部近似,逐步推进”。它在当前点 \( x_ k \) 周围定义一个可信赖的区域(信赖域)\( \Delta_ k \),通常是一个球域 \( \{ x : \|x - x_ k\| \le \Delta_ k \} \)。在这个有限的区域内,我们用一个更简单的函数 \( m_ k(s) \)(其中 \( s = x - x_ k \) 是位移)来近似 \( f(x_ k + s) \)。这个近似模型 \( m_ k(s) \) 通常取为二次函数: \[ m_ k(s) = f(x_ k) + \nabla f(x_ k)^T s + \frac{1}{2} s^T B_ k s \] 其中,\( B_ k \) 是Hessian矩阵 \( \nabla^2 f(x_ k) \) 或其某个近似。然后,我们在信赖域约束 \( \|s\| \le \Delta_ k \) 下求解子问题: \[ \min_ {s} m_ k(s) \quad \text{subject to} \quad \|s\| \le \Delta_ k \] 得到位移 \( s_ k \)。这个子问题是一个带约束的二次规划问题,有高效的数值解法。 算法框架与关键步骤 信赖域方法的一个标准迭代框架包含以下核心步骤: a. 模型构建 :在当前迭代点 \( x_ k \),构建局部二次近似模型 \( m_ k(s) \)。 b. 子问题求解 :在信赖域 \( \|s\| \le \Delta_ k \) 内,求解 \( \min m_ k(s) \) 得到试探步 \( s_ k \)。 c. 实际下降与预测下降的比较 :计算实际函数下降量 \( \text{ared} k = f(x_ k) - f(x_ k + s_ k) \) 和模型预测下降量 \( \text{pred} k = m_ k(0) - m_ k(s_ k) \)。 d. 比率计算与迭代更新 :计算比率 \( \rho_ k = \frac{\text{ared} k}{\text{pred} k} \)。这个比率衡量了近似模型在当前信赖域内的准确程度。 - 如果 \( \rho_ k \) 接近1(例如,大于某个阈值 \( \eta_ 1 > 0 \)),说明模型预测很准确,我们接受该步长,令 \( x {k+1} = x_ k + s_ k \)。 - 如果 \( \rho_ k \) 很小甚至是负值,说明模型预测很差,我们拒绝该步长,保持 \( x {k+1} = x_ k \)。 e. 信赖域半径调整 :根据比率 \( \rho_ k \) 动态调整信赖域半径 \( \Delta_ k \) 为 \( \Delta {k+1} \)。 - 如果 \( \rho_ k \) 很大(例如,大于另一个阈值 \( \eta_ 2 \)),说明模型在更大的区域内可能仍然准确,可以尝试增大信赖域半径 \( \Delta {k+1} > \Delta_ k \)。 - 如果 \( \rho_ k \) 很小,说明当前信赖域过大,模型已经不准确,需要缩小信赖域半径 \( \Delta_ {k+1} < \Delta_ k \)。 - 否则,保持信赖域半径基本不变。 子问题求解技术 求解信赖域子问题 \( \min_ {\|s\| \le \Delta} m_ k(s) \) 是算法的核心计算步骤。主要有两种思路: a. 精确求解法(柯西点与狗腿法) :对于中小规模问题,可以高效地求得子问题的全局解或高质量近似解。著名的“狗腿法”适用于当 \( B_ k \) 正定时,它通过结合最速下降方向(柯西点)和牛顿方向,找到一条折衷路径,并在这条路径上寻找满足约束的最优解。当 \( B_ k \) 不定时,需要更复杂的策略,如求解一个带参数的特征值问题。 b. 共轭梯度法(截断CG法) :对于大规模问题,精确求解子问题计算量过大。通常采用截断的共轭梯度法来近似求解。该方法从最速下降方向开始,进行共轭梯度迭代。一旦迭代点触及信赖域边界,或者产生了负曲率方向,就停止迭代。这种方法计算效率高,且能产生满足全局收敛要求的解。 收敛性分析与实际应用 在适当的正则性条件下(例如,函数 \( f \) 连续可微且有下界,近似Hessian矩阵 \( B_ k \) 一致有界),信赖域方法具有强健的全局收敛性,即算法产生的序列至少有一个聚点是稳定点(梯度为零的点)。与线搜索方法(如最速下降法、牛顿法)相比,信赖域方法在处理高度非线性、非凸函数或病态Hessian矩阵时通常更为稳定可靠,因为它通过信赖域半径直接控制了步长,避免了可能使迭代发散的大步长。因此,信赖域方法被广泛应用于科学计算、工程优化、机器学习等领域的复杂非线性优化问题中。