public class MCMaxEntTrainer extends ClassifierTrainer implements Boostable, Serializable
| Modifier and Type | Field and Description |
|---|---|
static String |
EXP_GAIN |
static String |
GRADIENT_GAIN |
static String |
INFORMATION_GAIN |
| Constructor and Description |
|---|
MCMaxEntTrainer() |
MCMaxEntTrainer(boolean useHyperbolicPrior) |
MCMaxEntTrainer(CommandOption.List col) |
MCMaxEntTrainer(double gaussianPriorVariance)
Constructs a trainer with a parameter to avoid overtraining.
|
MCMaxEntTrainer(double gaussianPriorVariance,
boolean useMultiConditionalTraining) |
MCMaxEntTrainer(double hyperbolicPriorSlope,
double hyperbolicPriorSharpness) |
| Modifier and Type | Method and Description |
|---|---|
static CommandOption.List |
getCommandOptionList() |
Maximizable.ByGradient |
getMaximizableTrainer(InstanceList ilist) |
int |
getValueCalls()
Counts how many times this trainer has computed the
log probability of training labels.
|
int |
getValueGradientCalls()
Counts how many times this trainer has computed the gradient of the
log probability of training labels.
|
MCMaxEntTrainer |
setGaussianPriorVariance(double gaussianPriorVariance)
Sets a parameter to prevent overtraining.
|
MCMaxEntTrainer |
setHyperbolicPriorSharpness(double hyperbolicPriorSharpness) |
MCMaxEntTrainer |
setHyperbolicPriorSlope(double hyperbolicPriorSlope) |
MCMaxEntTrainer |
setNumIterations(int i)
Specifies the maximum number of iterations to run during a single call
to
train or trainWithFeatureInduction. |
MCMaxEntTrainer |
setUseHyperbolicPrior(boolean useHyperbolicPrior) |
String |
toString() |
Classifier |
train(InstanceList trainingSet,
InstanceList validationSet,
InstanceList testSet,
ClassifierEvaluating evaluator,
Classifier initialClassifier)
Return a new classifier tuned using the three arguments.
|
Classifier |
trainWithFeatureInduction(InstanceList trainingData,
InstanceList validationData,
InstanceList testingData,
ClassifierEvaluating evaluator,
int totalIterations,
int numIterationsBetweenFeatureInductions,
int numFeatureInductions,
int numFeaturesPerFeatureInduction)
Trains a maximum entropy model using feature selection and feature induction
(adding conjunctions of features as new features).
|
Classifier |
trainWithFeatureInduction(InstanceList trainingData,
InstanceList validationData,
InstanceList testingData,
ClassifierEvaluating evaluator,
MCMaxEnt maxent,
int totalIterations,
int numIterationsBetweenFeatureInductions,
int numFeatureInductions,
int numFeaturesPerFeatureInduction,
String gainName)
Like the other version of
trainWithFeatureInduction, but
allows some default options to be changed. |
public static final String EXP_GAIN
public static final String GRADIENT_GAIN
public static final String INFORMATION_GAIN
public MCMaxEntTrainer(CommandOption.List col)
public MCMaxEntTrainer()
public MCMaxEntTrainer(boolean useHyperbolicPrior)
public MCMaxEntTrainer(double gaussianPriorVariance)
public MCMaxEntTrainer(double gaussianPriorVariance,
boolean useMultiConditionalTraining)
public MCMaxEntTrainer(double hyperbolicPriorSlope,
double hyperbolicPriorSharpness)
public static CommandOption.List getCommandOptionList()
public Maximizable.ByGradient getMaximizableTrainer(InstanceList ilist)
public MCMaxEntTrainer setNumIterations(int i)
train or trainWithFeatureInduction. Not
currently functional.public MCMaxEntTrainer setUseHyperbolicPrior(boolean useHyperbolicPrior)
public MCMaxEntTrainer setGaussianPriorVariance(double gaussianPriorVariance)
public MCMaxEntTrainer setHyperbolicPriorSlope(double hyperbolicPriorSlope)
public MCMaxEntTrainer setHyperbolicPriorSharpness(double hyperbolicPriorSharpness)
public Classifier train(InstanceList trainingSet, InstanceList validationSet, InstanceList testSet, ClassifierEvaluating evaluator, Classifier initialClassifier)
ClassifierTrainertrain in class ClassifierTrainertrainingSet - examples used to set parameters.validationSet - examples used to tune meta-parameters. May be null.testSet - examples not examined at all for training, but passed on to diagnostic routines. May be null.initialClassifier - training process may start from here. The parameters of the initialClassifier are not modified. May be null.public Classifier trainWithFeatureInduction(InstanceList trainingData, InstanceList validationData, InstanceList testingData, ClassifierEvaluating evaluator, int totalIterations, int numIterationsBetweenFeatureInductions, int numFeatureInductions, int numFeaturesPerFeatureInduction)
Trains a maximum entropy model using feature selection and feature induction (adding conjunctions of features as new features).
trainingData - A list of Instances whose data
fields are binary, augmentable FeatureVectors.
and whose target fields are Labels.validationData - [not currently used] As trainingData,
or null.testingData - As trainingData, or null.evaluator - The evaluator to track training progress and decide whether
to continue, or null.totalIterations - The maximum total number of training iterations,
including those taken during feature induction.numIterationsBetweenFeatureInductions - How many iterations to train
between one round of feature induction and the next; this should usually
be fairly small, like 5 or 10, to avoid overfitting with current features.numFeatureInductions - How many rounds of feature induction to run
before beginning normal training.numFeaturesPerFeatureInduction - The maximum number of features to
choose during each round of featureInduction.MaxEnt classifierpublic Classifier trainWithFeatureInduction(InstanceList trainingData, InstanceList validationData, InstanceList testingData, ClassifierEvaluating evaluator, MCMaxEnt maxent, int totalIterations, int numIterationsBetweenFeatureInductions, int numFeatureInductions, int numFeaturesPerFeatureInduction, String gainName)
Like the other version of trainWithFeatureInduction, but
allows some default options to be changed.
maxent - An initial partially-trained classifier (default null).
This classifier may be modified during training.gainName - The estimate of gain (log-likelihood increase) we want our chosen
features to maximize.
Should be one of MaxEntTrainer.EXP_GAIN,
MaxEntTrainer.GRADIENT_GAIN, or
MaxEntTrainer.INFORMATION_GAIN (default EXP_GAIN).MaxEnt classifierpublic int getValueGradientCalls()
public int getValueCalls()
public String toString()
toString in class ClassifierTrainerCopyright © 2019 JULIE Lab, Germany. All rights reserved.