Class KernelSVMTrainer
java.lang.Object
org.tribuo.classification.sgd.kernel.KernelSVMTrainer
- 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 KernelSVMTrainer
extends Object
implements org.tribuo.Trainer<Label>, org.tribuo.WeightedExamples
A trainer for a kernelised model using the Pegasos optimiser.
The Pegasos optimiser is extremely sensitive to the lambda parameter, and this value must be tuned to get good performance.
See:
Shalev-Shwartz S, Singer Y, Srebro N, Cotter A "Pegasos: Primal Estimated Sub-Gradient Solver for SVM" Mathematical Programming, 2011.
-
Field Summary
Fields inherited from interface org.tribuo.Trainer
DEFAULT_SEED, INCREMENT_INVOCATION_COUNT -
Constructor Summary
ConstructorsConstructorDescriptionKernelSVMTrainer(Kernel kernel, double lambda, int epochs, int loggingInterval, long seed) Constructs a trainer for a kernel SVM model.KernelSVMTrainer(Kernel kernel, double lambda, int epochs, long seed) Constructs a trainer for a kernel SVM model. -
Method Summary
Modifier and TypeMethodDescriptionintorg.tribuo.provenance.TrainerProvenancevoidUsed by the OLCUT configuration system, and should not be called by external code.voidsetInvocationCount(int invocationCount) voidsetShuffle(boolean shuffle) Turn on or off shuffling of examples.toString()train(org.tribuo.Dataset<Label> examples, Map<String, com.oracle.labs.mlrg.olcut.provenance.Provenance> runProvenance) train(org.tribuo.Dataset<Label> examples, Map<String, com.oracle.labs.mlrg.olcut.provenance.Provenance> runProvenance, int invocationCount) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.tribuo.Trainer
train
-
Constructor Details
-
KernelSVMTrainer
Constructs a trainer for a kernel SVM model.- Parameters:
kernel- The kernel function to use as a similarity measure.lambda- l2 regulariser on the support vectors.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.
-
KernelSVMTrainer
Constructs a trainer for a kernel SVM model. Sets the logging interval to 1000.- Parameters:
kernel- The kernel function to use as a similarity measure.lambda- l2 regulariser on the support vectors.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
-
postConfig
Used by the OLCUT configuration system, and should not be called by external code.- Specified by:
postConfigin interfacecom.oracle.labs.mlrg.olcut.config.Configurable
-
setShuffle
Turn on or off shuffling of examples.This isn't exposed in the constructor as it defaults to on. This method should only be used for debugging.
- Parameters:
shuffle- If true shuffle the examples, if false leave them in their current order.
-
train
-
train
-
getInvocationCount
- Specified by:
getInvocationCountin interfaceorg.tribuo.Trainer<Label>
-
setInvocationCount
- Specified by:
setInvocationCountin interfaceorg.tribuo.Trainer<Label>
-
toString
-
getProvenance
- Specified by:
getProvenancein interfacecom.oracle.labs.mlrg.olcut.provenance.Provenancable<org.tribuo.provenance.TrainerProvenance>
-