cc.mallet.classify
Class MaxEntTrainer
java.lang.Object
cc.mallet.classify.ClassifierTrainer<MaxEnt>
cc.mallet.classify.MaxEntTrainer
- All Implemented Interfaces:
- Boostable, ClassifierTrainer.ByOptimization<MaxEnt>, java.io.Serializable
- Direct Known Subclasses:
- RankMaxEntTrainer
public class MaxEntTrainer
- extends ClassifierTrainer<MaxEnt>
- implements ClassifierTrainer.ByOptimization<MaxEnt>, Boostable, java.io.Serializable
The trainer for a Maximum Entropy classifier.
- Author:
- Andrew McCallum mccallum@cs.umass.edu
- See Also:
- Serialized Form
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
EXP_GAIN
public static final java.lang.String EXP_GAIN
- See Also:
- Constant Field Values
GRADIENT_GAIN
public static final java.lang.String GRADIENT_GAIN
- See Also:
- Constant Field Values
INFORMATION_GAIN
public static final java.lang.String INFORMATION_GAIN
- See Also:
- Constant Field Values
MaxEntTrainer
public MaxEntTrainer()
MaxEntTrainer
public MaxEntTrainer(MaxEnt theClassifierToTrain)
MaxEntTrainer
public MaxEntTrainer(double gaussianPriorVariance)
- Constructs a trainer with a parameter to avoid overtraining. 1.0 is
usually a reasonable default value.
getClassifier
public MaxEnt getClassifier()
- Specified by:
getClassifier in class ClassifierTrainer<MaxEnt>
setClassifier
public void setClassifier(MaxEnt theClassifierToTrain)
getOptimizable
public Optimizable getOptimizable()
getOptimizable
public MaxEntOptimizableByLabelLikelihood getOptimizable(InstanceList trainingSet)
getOptimizable
public MaxEntOptimizableByLabelLikelihood getOptimizable(InstanceList trainingSet,
MaxEnt initialClassifier)
getOptimizer
public Optimizer getOptimizer()
- Specified by:
getOptimizer in interface ClassifierTrainer.ByOptimization<MaxEnt>
getOptimizer
public Optimizer getOptimizer(InstanceList trainingSet)
setNumIterations
public MaxEntTrainer setNumIterations(int i)
- Specifies the maximum number of iterations to run during a single call
to
train or trainWithFeatureInduction. Not
currently functional.
- Returns:
- This trainer
getIteration
public int getIteration()
- Specified by:
getIteration in interface ClassifierTrainer.ByOptimization<MaxEnt>
setGaussianPriorVariance
public MaxEntTrainer setGaussianPriorVariance(double gaussianPriorVariance)
- Sets a parameter to prevent overtraining. A smaller variance for the prior
means that feature weights are expected to hover closer to 0, so extra
evidence is required to set a higher weight.
- Returns:
- This trainer
train
public MaxEnt train(InstanceList trainingSet)
- Specified by:
train in class ClassifierTrainer<MaxEnt>
train
public MaxEnt train(InstanceList trainingSet,
int numIterations)
- Specified by:
train in interface ClassifierTrainer.ByOptimization<MaxEnt>
toString
public java.lang.String toString()
Like the other version of trainWithFeatureInduction, but
allows some default options to be changed.
- Overrides:
toString in class java.lang.Object
- Parameters:
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).
- Returns:
- The trained
MaxEnt classifier