Class LinearSGDTrainer

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

public class LinearSGDTrainer extends AbstractLinearSGDTrainer<Regressor,DenseVector,LinearSGDModel>
A trainer for a linear regression model which uses SGD. Independently trains each output dimension, unless they are tied together in the optimiser.

See:

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

    • LinearSGDTrainer

      public LinearSGDTrainer(RegressionObjective 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(RegressionObjective 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(RegressionObjective 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