Class FMRegressionTrainer

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

public class FMRegressionTrainer extends AbstractFMTrainer<Regressor,DenseVector,FMRegressionModel>
A trainer for a regression factorization machine using SGD. Independently trains each output dimension, unless they are tied together in the optimiser.

See:

 Rendle, S.
 Factorization machines.
 2010 IEEE International Conference on Data Mining
 
  • Constructor Details

    • FMRegressionTrainer

      public FMRegressionTrainer(RegressionObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, int minibatchSize, long seed, int factorizedDimSize, double variance, boolean standardise)
      Constructs an SGD trainer for a factorization machine.
      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.
      factorizedDimSize - Size of the factorized feature representation.
      variance - The variance of the initializer.
      standardise - Standardise the output regressors before fitting the model.
    • FMRegressionTrainer

      public FMRegressionTrainer(RegressionObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, long seed, int factorizedDimSize, double variance, boolean standardise)
      Constructs an SGD trainer for a factorization machine.

      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.
      factorizedDimSize - Size of the factorized feature representation.
      variance - The variance of the initializer.
      standardise - Standardise the output regressors before fitting the model.
    • FMRegressionTrainer

      public FMRegressionTrainer(RegressionObjective objective, StochasticGradientOptimiser optimiser, int epochs, long seed, int factorizedDimSize, double variance, boolean standardise)
      Constructs an SGD trainer for a factorization machine.

      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.
      factorizedDimSize - Size of the factorized feature representation.
      variance - The variance of the initializer.
      standardise - Standardise the output regressors before fitting the model.
  • Method Details