Class LinearSGDTrainer

All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable, com.oracle.labs.mlrg.olcut.provenance.Provenancable<TrainerProvenance>, Trainer<MultiLabel>, WeightedExamples

public class LinearSGDTrainer extends AbstractLinearSGDTrainer<MultiLabel,SGDVector,LinearSGDModel>
A trainer for a multi-label linear model which uses SGD.

See:

 Bottou L.
 "Large-Scale Machine Learning with Stochastic Gradient Descent"
 Proceedings of COMPSTAT, 2010.
 
  • Constructor Details

    • LinearSGDTrainer

      public LinearSGDTrainer(MultiLabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, int minibatchSize, long seed)
      Constructs an SGD trainer for a linear model.
      Parameters:
      objective - The objective function to optimise.
      optimiser - The gradient optimiser to use.
      epochs - The number of epochs (complete passes through the training data).
      loggingInterval - Log the loss after this many iterations. If -1 don't log anything.
      minibatchSize - The size of any minibatches.
      seed - A seed for the random number generator, used to shuffle the examples before each epoch.
    • LinearSGDTrainer

      public LinearSGDTrainer(MultiLabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, long seed)
      Constructs an SGD trainer for a linear model.

      Sets the minibatch size to 1.

      Parameters:
      objective - The objective function to optimise.
      optimiser - The gradient optimiser to use.
      epochs - The number of epochs (complete passes through the training data).
      loggingInterval - Log the loss after this many iterations. If -1 don't log anything.
      seed - A seed for the random number generator, used to shuffle the examples before each epoch.
    • LinearSGDTrainer

      public LinearSGDTrainer(MultiLabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, long seed)
      Constructs an SGD trainer for a linear model.

      Sets the minibatch size to 1 and the logging interval to 1000.

      Parameters:
      objective - The objective function to optimise.
      optimiser - The gradient optimiser to use.
      epochs - The number of epochs (complete passes through the training data).
      seed - A seed for the random number generator, used to shuffle the examples before each epoch.
  • Method Details