Package com.tibco.patterns.learn.training

## Interface ConvergenceObserver

- All Superinterfaces:
    `TrainingObserver`
  All Known Implementing Classes:
    `COErrorRate`, `COErrorRateMin`, `COIterationCount`, `COScoreChange`

      public interface ConvergenceObserver
      extends TrainingObserver

  Defines an object that makes decisions when to stop the training. The object also gathers training statistics for a certain dataset.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `double` | `getProgressEstimate()` | Returns an estimate of training progress, which can be used to indicate how close the desired convergence is.
    `boolean` | `isConverged()` | Returns whether the trained model has converged.
    `boolean` | `needStopTraining()` | Returns whether the training has to be stopped after current iteration.

    - ### Methods inherited from interface com.tibco.patterns.learn.training.TrainingObserver

      `beginIteration, endIteration, evaluatePrediction, hasIterations, isPerfectResult`

- - ### Method Detail

    - #### getProgressEstimate

          double getProgressEstimate()

      Returns an estimate of training progress, which can be used to indicate how close the desired convergence is. The interpretation and range of the returned value can vary between subclasses. Typically, the return value approaches 0 as the model is converging. Should be called after an iteration, not in the middle of iteration.

    - #### isConverged

          boolean isConverged()

      Returns whether the trained model has converged. Depending on implementation, this can be based on one or several iterations of evaluating the verification set.

    - #### needStopTraining

          boolean needStopTraining()

      Returns whether the training has to be stopped after current iteration. This may mean that the model has converged, based on all score evaluations that were performed. Or the model may have failed to converge and another termination condition was reached.