类 GaussNewtonOptimizer

java.lang.Object
org.hipparchus.optim.nonlinear.vector.leastsquares.GaussNewtonOptimizer
所有已实现的接口:
最小二乘优化器

public class GaussNewtonOptimizer extends Object implements LeastSquaresOptimizer
高斯牛顿最小二乘求解器。

该类通过在每次迭代中解决线性化问题的正规方程来解决最小二乘问题。可以使用LU分解或Cholesky分解来解决正规方程,也可以使用QR分解或SVD分解来解决线性系统。Cholesky/LU分解速度更快,但QR分解对于困难问题更加稳健,而SVD可以计算秩缺陷问题的解。

  • 构造器详细资料

    • GaussNewtonOptimizer

      public GaussNewtonOptimizer()
      创建一个高斯牛顿优化器。

      算法的默认设置是使用QR分解,不形成正规方程。

    • GaussNewtonOptimizer

      public GaussNewtonOptimizer(MatrixDecomposer decomposer, boolean formNormalEquations)
      创建一个使用给定矩阵分解算法来解决正规方程的高斯牛顿优化器。
      参数:
      decomposer - 要使用的分解算法。
      formNormalEquations - 正规方程是否应显式形成。如果为true,则使用decomposer来解决JTJx=JTr,否则使用decomposer来解决Jx=r。如果decomposer只能解决方阵系统,则此参数应为true
  • 方法详细资料

    • getDecomposer

      public MatrixDecomposer getDecomposer()
      获取矩阵分解算法。
      返回:
      分解算法。
    • withDecomposer

      public GaussNewtonOptimizer withDecomposer(MatrixDecomposer newDecomposer)
      配置矩阵分解算法。
      参数:
      newDecomposer - 要使用的分解算法。
      返回:
      一个新实例。
    • isFormNormalEquations

      public boolean isFormNormalEquations()
      获取正规方程是否显式形成。
      返回:
      正规方程是否应显式形成。如果为true,则使用decomposer来解决JTJx=JTr,否则使用decomposer来解决Jx=r。
    • withFormNormalEquations

      public GaussNewtonOptimizer withFormNormalEquations(boolean newFormNormalEquations)
      配置正规方程是否应显式形成。
      参数:
      newFormNormalEquations - 正规方程是否应显式形成。如果为true,则使用decomposer来解决JTJx=JTr,否则使用decomposer来解决Jx=r。如果decomposer只能解决方阵系统,则此参数应为true
      返回:
      一个新实例。
    • optimize

      解决非线性最小二乘问题。
      指定者:
      optimize 在接口中 最小二乘优化器
      参数:
      lsp - 问题定义,包括模型函数和收敛标准。
      返回:
      最优解。
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object