Class FMMultiLabelTrainer

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

public class FMMultiLabelTrainer extends AbstractFMTrainer<MultiLabel,SGDVector,FMMultiLabelModel>
A trainer for a multi-label classification factorization machine using SGD.

See:

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

    • FMMultiLabelTrainer

      public FMMultiLabelTrainer(MultiLabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, int minibatchSize, long seed, int factorizedDimSize, double variance)
      Constructs an SGD trainer for a multi-label 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.
    • FMMultiLabelTrainer

      public FMMultiLabelTrainer(MultiLabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, long seed, int factorizedDimSize, double variance)
      Constructs an SGD trainer for a multi-label 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.
    • FMMultiLabelTrainer

      public FMMultiLabelTrainer(MultiLabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, long seed, int factorizedDimSize, double variance)
      Constructs an SGD trainer for a multi-label 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.
  • Method Details