org.apache.ignite.ml.optimization.updatecalculators

## Class NesterovUpdateCalculator<M extends SmoothParametrized<M>>

- java.lang.Object
- - org.apache.ignite.ml.optimization.updatecalculators.NesterovUpdateCalculator<M>

- All Implemented Interfaces:
    Serializable, ParameterUpdateCalculator<M,NesterovParameterUpdate>

      public class NesterovUpdateCalculator<M extends SmoothParametrized<M>>
      extends Object
      implements ParameterUpdateCalculator<M,NesterovParameterUpdate>

  Class encapsulating Nesterov algorithm for MLP parameters updateCache.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected double` | `momentum` Momentum constant.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NesterovUpdateCalculator(double learningRate, double momentum)` Construct NesterovUpdateCalculator.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `NesterovParameterUpdate` | `calculateNewUpdate(M mdl, NesterovParameterUpdate updaterParameters, int iteration, Matrix inputs, Matrix groundTruth)` Calculate new update.
    `NesterovParameterUpdate` | `init(M mdl, IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss)` Initializes the update calculator.
    `<M1 extends M> M1` | `update(M1 obj, NesterovParameterUpdate update)` Update given obj with this parameters.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### momentum

          protected double momentum

      Momentum constant.

  - ### Constructor Detail

    - #### NesterovUpdateCalculator

          public NesterovUpdateCalculator(double learningRate,
                                          double momentum)

      Construct NesterovUpdateCalculator.
      Parameters:
        `momentum` - Momentum constant.

  - ### Method Detail

    - #### calculateNewUpdate

          public NesterovParameterUpdate calculateNewUpdate(M mdl,
                                                            NesterovParameterUpdate updaterParameters,
                                                            int iteration,
                                                            Matrix inputs,
                                                            Matrix groundTruth)

      Calculate new update.
      Specified by:
        `calculateNewUpdate` in interface `ParameterUpdateCalculator<M extends SmoothParametrized<M>,NesterovParameterUpdate>`
      Parameters:
        `mdl` - Model to be updated.
        `updaterParameters` - Updater parameters to updateCache.
        `iteration` - Current trainer iteration.
        `inputs` - Inputs.
        `groundTruth` - True values.
      Returns:
        Updated parameters.

    - #### init

          public NesterovParameterUpdate init(M mdl,
                                              IgniteFunction<Vector,IgniteDifferentiableVectorToDoubleFunction> loss)

      Initializes the update calculator.
      Specified by:
        `init` in interface `ParameterUpdateCalculator<M extends SmoothParametrized<M>,NesterovParameterUpdate>`
      Parameters:
        `mdl` - Model to be trained.
        `loss` - Loss function.
      Returns:
        Initialized parameters.

    - #### update

          public <M1 extends M> M1 update(M1 obj,
                                          NesterovParameterUpdate update)

      Update given obj with this parameters.
      Specified by:
        `update` in interface `ParameterUpdateCalculator<M extends SmoothParametrized<M>,NesterovParameterUpdate>`
      Parameters:
        `obj` - Object to be updated.

${current.year} Copyright © Apache Software Foundation
| Follow @ApacheIgnite
Ignite Database and Caching Platform | : ver. 2.15.0
Release Date | : April 25 2023