接口 Preconditioner

所有已知实现类:
NonLinearConjugateGradientOptimizer.IdentityPreconditioner

public interface Preconditioner
该接口表示可微标量目标函数优化器的预处理器。
  • 方法概要

    修饰符和类型
    方法
    说明
    double[]
    precondition(double[] point, double[] r)
    预处理搜索方向。
  • 方法详细资料

    • precondition

      double[] precondition(double[] point, double[] r)
      预处理搜索方向。

      返回的经过预处理的搜索方向必须快速计算,否则算法性能将急剧下降。一种经典的方法是仅计算hessian的对角线元素,并且如果这些元素都是正的,则将原始搜索方向除以这些元素。如果它们中至少有一个是负的,则更安全的做法是返回原始搜索方向的克隆,就好像hessian是单位矩阵一样。这种简化选择的基本原理是,负对角元素意味着当前点远离最优点,并且在这种情况下预处理也不会有效。

      参数:
      point - 计算搜索方向的当前点
      r - 原始搜索方向(即梯度的相反方向)
      返回:
      H-1r的近似,其中H是目标函数的hessian