Class FMClassificationTrainer
java.lang.Object
org.tribuo.common.sgd.AbstractSGDTrainer<Label, Integer, FMClassificationModel, FMParameters>
org.tribuo.common.sgd.AbstractFMTrainer<Label, Integer, FMClassificationModel>
org.tribuo.classification.sgd.fm.FMClassificationTrainer
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable,com.oracle.labs.mlrg.olcut.provenance.Provenancable<org.tribuo.provenance.TrainerProvenance>,org.tribuo.Trainer<Label>,org.tribuo.WeightedExamples
public class FMClassificationTrainer
extends AbstractFMTrainer<Label, Integer, FMClassificationModel>
A trainer for a classification factorization machine using SGD.
See:
Rendle, S. Factorization machines. 2010 IEEE International Conference on Data Mining
-
Field Summary
Fields inherited from class org.tribuo.common.sgd.AbstractFMTrainer
factorizedDimSize, varianceFields inherited from class org.tribuo.common.sgd.AbstractSGDTrainer
addBias, epochs, loggingInterval, minibatchSize, optimiser, rng, seed, shuffleFields inherited from interface org.tribuo.Trainer
DEFAULT_SEED, INCREMENT_INVOCATION_COUNT -
Constructor Summary
ConstructorsConstructorDescriptionFMClassificationTrainer(LabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, int minibatchSize, long seed, int factorizedDimSize, double variance) Constructs an SGD trainer for a factorization machine.FMClassificationTrainer(LabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, long seed, int factorizedDimSize, double variance) Constructs an SGD trainer for a factorization machine.FMClassificationTrainer(LabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, long seed, int factorizedDimSize, double variance) Constructs an SGD trainer for a factorization machine. -
Method Summary
Modifier and TypeMethodDescriptionprotected FMClassificationModelcreateModel(String name, org.tribuo.provenance.ModelProvenance provenance, org.tribuo.ImmutableFeatureMap featureMap, org.tribuo.ImmutableOutputInfo<Label> outputInfo, FMParameters parameters) protected Stringprotected SGDObjective<Integer> protected IntegertoString()Methods inherited from class org.tribuo.common.sgd.AbstractFMTrainer
createParameters, getName, postConfigMethods inherited from class org.tribuo.common.sgd.AbstractSGDTrainer
getInvocationCount, getProvenance, setInvocationCount, setShuffle, shuffleInPlace, train, train, train
-
Constructor Details
-
FMClassificationTrainer
public FMClassificationTrainer(LabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, int minibatchSize, long seed, int factorizedDimSize, double variance) 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.
-
FMClassificationTrainer
public FMClassificationTrainer(LabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, int loggingInterval, long seed, int factorizedDimSize, double variance) 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.
-
FMClassificationTrainer
public FMClassificationTrainer(LabelObjective objective, StochasticGradientOptimiser optimiser, int epochs, long seed, int factorizedDimSize, double variance) 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.
-
-
Method Details
-
getTarget
- Specified by:
getTargetin classAbstractSGDTrainer<Label, Integer, FMClassificationModel, FMParameters>
-
getObjective
- Specified by:
getObjectivein classAbstractSGDTrainer<Label, Integer, FMClassificationModel, FMParameters>
-
createModel
protected FMClassificationModel createModel(String name, org.tribuo.provenance.ModelProvenance provenance, org.tribuo.ImmutableFeatureMap featureMap, org.tribuo.ImmutableOutputInfo<Label> outputInfo, FMParameters parameters) - Specified by:
createModelin classAbstractSGDTrainer<Label, Integer, FMClassificationModel, FMParameters>
-
getModelClassName
- Specified by:
getModelClassNamein classAbstractSGDTrainer<Label, Integer, FMClassificationModel, FMParameters>
-
toString
-