|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umass.cs.mallet.base.classify.ClassifierTrainer
edu.umass.cs.mallet.base.classify.MaxEntTrainer
The trainer for a Maximum Entropy classifier.
Field Summary | |
static java.lang.String |
EXP_GAIN
|
static java.lang.String |
GRADIENT_GAIN
|
static java.lang.String |
INFORMATION_GAIN
|
Constructor Summary | |
MaxEntTrainer()
|
|
MaxEntTrainer(boolean useHyperbolicPrior)
|
|
MaxEntTrainer(CommandOption.List col)
|
|
MaxEntTrainer(double gaussianPriorVariance)
Constructs a trainer with a parameter to avoid overtraining. |
|
MaxEntTrainer(double gaussianPriorVariance,
boolean useMultiConditionalTraining)
|
|
MaxEntTrainer(double hyperbolicPriorSlope,
double hyperbolicPriorSharpness)
|
Method Summary | |
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. |
MaxEntTrainer |
setGaussianPriorVariance(double gaussianPriorVariance)
Sets a parameter to prevent overtraining. |
MaxEntTrainer |
setHyperbolicPriorSharpness(double hyperbolicPriorSharpness)
|
MaxEntTrainer |
setHyperbolicPriorSlope(double hyperbolicPriorSlope)
|
MaxEntTrainer |
setNumIterations(int i)
Specifies the maximum number of iterations to run during a single call to train or trainWithFeatureInduction . |
MaxEntTrainer |
setUseHyperbolicPrior(boolean useHyperbolicPrior)
|
java.lang.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,
MaxEnt maxent,
int totalIterations,
int numIterationsBetweenFeatureInductions,
int numFeatureInductions,
int numFeaturesPerFeatureInduction,
java.lang.String gainName)
Like the other version of trainWithFeatureInduction , but
allows some default options to be changed. |
Methods inherited from class edu.umass.cs.mallet.base.classify.ClassifierTrainer |
main, train, train, train, train |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final java.lang.String EXP_GAIN
public static final java.lang.String GRADIENT_GAIN
public static final java.lang.String INFORMATION_GAIN
Constructor Detail |
public MaxEntTrainer(CommandOption.List col)
public MaxEntTrainer()
public MaxEntTrainer(boolean useHyperbolicPrior)
public MaxEntTrainer(double gaussianPriorVariance)
public MaxEntTrainer(double gaussianPriorVariance, boolean useMultiConditionalTraining)
public MaxEntTrainer(double hyperbolicPriorSlope, double hyperbolicPriorSharpness)
Method Detail |
public static CommandOption.List getCommandOptionList()
public Maximizable.ByGradient getMaximizableTrainer(InstanceList ilist)
public MaxEntTrainer setNumIterations(int i)
train
or trainWithFeatureInduction
. Not
currently functional.
public MaxEntTrainer setUseHyperbolicPrior(boolean useHyperbolicPrior)
public MaxEntTrainer setGaussianPriorVariance(double gaussianPriorVariance)
public MaxEntTrainer setHyperbolicPriorSlope(double hyperbolicPriorSlope)
public MaxEntTrainer setHyperbolicPriorSharpness(double hyperbolicPriorSharpness)
public Classifier train(InstanceList trainingSet, InstanceList validationSet, InstanceList testSet, ClassifierEvaluating evaluator, Classifier initialClassifier)
ClassifierTrainer
train
in class ClassifierTrainer
trainingSet
- 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 Instance
s whose data
fields are binary, augmentable FeatureVector
s.
and whose target
fields are Label
s.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, MaxEnt maxent, int totalIterations, int numIterationsBetweenFeatureInductions, int numFeatureInductions, int numFeaturesPerFeatureInduction, java.lang.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 java.lang.String toString()
toString
in class ClassifierTrainer
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |