Package opennlp.tools.ml.maxent.quasinewton

## Class QNTrainer

- java.lang.Object
- - opennlp.tools.ml.AbstractTrainer
  - - opennlp.tools.ml.AbstractEventTrainer
    - - opennlp.tools.ml.maxent.quasinewton.QNTrainer

- All Implemented Interfaces:
    `Trainer`, `EventTrainer`

      public class QNTrainer
      extends AbstractEventTrainer

  A Maxent model `Trainer` using L-BFGS algorithm.
  See Also:
    `QNModel`, `AbstractEventTrainer`

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static double` | `L1COST_DEFAULT` |
    `static String` | `L1COST_PARAM` |
    `static double` | `L2COST_DEFAULT` |
    `static String` | `L2COST_PARAM` |
    `static int` | `M_DEFAULT` |
    `static String` | `M_PARAM` |
    `static int` | `MAX_FCT_EVAL_DEFAULT` |
    `static String` | `MAX_FCT_EVAL_PARAM` |
    `static String` | `MAXENT_QN_VALUE` |
    `static int` | `THREADS_DEFAULT` |
    `static String` | `THREADS_PARAM` |

    - ### Fields inherited from class opennlp.tools.ml.AbstractEventTrainer

      `DATA_INDEXER_ONE_PASS_REAL_VALUE, DATA_INDEXER_ONE_PASS_VALUE, DATA_INDEXER_PARAM, DATA_INDEXER_TWO_PASS_VALUE`

    - ### Fields inherited from class opennlp.tools.ml.AbstractTrainer

      `ALGORITHM_PARAM, CUTOFF_DEFAULT, CUTOFF_PARAM, ITERATIONS_DEFAULT, ITERATIONS_PARAM, TRAINER_TYPE_PARAM`

    - ### Fields inherited from interface opennlp.tools.ml.EventTrainer

      `EVENT_VALUE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `QNTrainer()` | Initializes a `QNTrainer`.
    `QNTrainer​(int m)` | Initializes a `QNTrainer`.
    `QNTrainer​(int m, int maxFctEval)` | Initializes a `QNTrainer`.
    `QNTrainer​(TrainingParameters parameters)` | Initializes a `QNTrainer`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AbstractModel` | `doTrain​(DataIndexer indexer)` |
    `void` | `init​(Map<String,​Object> trainParams, Map<String,​String> reportMap)` | Initializes a `AbstractTrainer` via `TrainingParameters` and a `report map`.
    `void` | `init​(TrainingParameters trainingParameters, Map<String,​String> reportMap)` | Initializes a `AbstractTrainer` via `TrainingParameters` and a `report map`.
    `boolean` | `isSortAndMerge()` |
    `boolean` | `isValid()` | Deprecated. Use `validate()` instead.
    `QNModel` | `trainModel​(int iterations, DataIndexer indexer)` | Trains a model using the QN algorithm.
    `void` | `validate()` | Checks the configured `parameters`.

    - ### Methods inherited from class opennlp.tools.ml.AbstractEventTrainer

      `getDataIndexer, train, train`

    - ### Methods inherited from class opennlp.tools.ml.AbstractTrainer

      `getAlgorithm, getCutoff, getIterations`

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

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

- - ### Field Detail

    - #### MAXENT_QN_VALUE

          public static final String MAXENT_QN_VALUE

      See Also:
        Constant Field Values

    - #### THREADS_PARAM

          public static final String THREADS_PARAM

      See Also:
        Constant Field Values

    - #### THREADS_DEFAULT

          public static final int THREADS_DEFAULT

      See Also:
        Constant Field Values

    - #### L1COST_PARAM

          public static final String L1COST_PARAM

      See Also:
        Constant Field Values

    - #### L1COST_DEFAULT

          public static final double L1COST_DEFAULT

      See Also:
        Constant Field Values

    - #### L2COST_PARAM

          public static final String L2COST_PARAM

      See Also:
        Constant Field Values

    - #### L2COST_DEFAULT

          public static final double L2COST_DEFAULT

      See Also:
        Constant Field Values

    - #### M_PARAM

          public static final String M_PARAM

      See Also:
        Constant Field Values

    - #### M_DEFAULT

          public static final int M_DEFAULT

      See Also:
        Constant Field Values

    - #### MAX_FCT_EVAL_PARAM

          public static final String MAX_FCT_EVAL_PARAM

      See Also:
        Constant Field Values

    - #### MAX_FCT_EVAL_DEFAULT

          public static final int MAX_FCT_EVAL_DEFAULT

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### QNTrainer

          public QNTrainer()

      Initializes a `QNTrainer`.

      Note:
      The resulting instance does not print progress messages about training to STDOUT.

    - #### QNTrainer

          public QNTrainer​(TrainingParameters parameters)

      Initializes a `QNTrainer`.
      Parameters:
        `parameters` - The `TrainingParameters` to use.

    - #### QNTrainer

          public QNTrainer​(int m)

      Initializes a `QNTrainer`.
      Parameters:
        `m` - The number of hessian updates to store.

    - #### QNTrainer

          public QNTrainer​(int m,
                           int maxFctEval)

      Initializes a `QNTrainer`.
      Parameters:
        `m` - The number of hessian updates to store.

  - ### Method Detail

    - #### init

          public void init​(TrainingParameters trainingParameters,
                           Map<String,​String> reportMap)

      Description copied from class: `AbstractTrainer`
      Initializes a `AbstractTrainer` via `TrainingParameters` and a `report map`.
      Specified by:
        `init` in interface `Trainer`
      Overrides:
        `init` in class `AbstractTrainer`
      Parameters:
        `trainingParameters` - The `TrainingParameters` to use.
        `reportMap` - The `Map` instance used as report map.

    - #### init

          public void init​(Map<String,​Object> trainParams,
                           Map<String,​String> reportMap)

      Description copied from class: `AbstractTrainer`
      Initializes a `AbstractTrainer` via `TrainingParameters` and a `report map`.
      Overrides:
        `init` in class `AbstractTrainer`
      Parameters:
        `trainParams` - The `Map` that maps training parameters on a key-value basis.
        `reportMap` - The `Map` instance used as report map.

    - #### validate

          public void validate()

      Description copied from class: `AbstractTrainer`
      Checks the configured `parameters`. If a subclass overrides this, it should call `super.validate();`.
      Overrides:
        `validate` in class `AbstractEventTrainer`

    - #### isValid

          @Deprecated
          public boolean isValid()

      Deprecated.
      Use `validate()` instead.
      Overrides:
        `isValid` in class `AbstractEventTrainer`
      Returns:
        `true` if the validation of the internal configuration succeeds, `false` otherwise.

    - #### isSortAndMerge

          public boolean isSortAndMerge()

      Specified by:
        `isSortAndMerge` in class `AbstractEventTrainer`

    - #### doTrain

          public AbstractModel doTrain​(DataIndexer indexer)
                                throws IOException

      Specified by:
        `doTrain` in class `AbstractEventTrainer`
      Throws:
        `IOException`

    - #### trainModel

          public QNModel trainModel​(int iterations,
                                    DataIndexer indexer)

      Trains a model using the QN algorithm.
      Parameters:
        `iterations` - The number of QN iterations to perform.
        `indexer` - The `DataIndexer` used to compress events in memory.
      Returns:
        A trained `QNModel` which can be used immediately or saved to disk using an `QNModelWriter`.
      Throws:
        `IllegalArgumentException` - Thrown if parameters were invalid.