Package opennlp.tools.ml.perceptron
Class PerceptronTrainer
java.lang.Object
opennlp.tools.ml.AbstractTrainer
opennlp.tools.ml.AbstractEventTrainer
opennlp.tools.ml.perceptron.PerceptronTrainer
- All Implemented Interfaces:
- Trainer,- EventTrainer
Trains 
models using the perceptron algorithm.
 Each outcome is represented as a binary perceptron classifier. This supports standard (integer) weighting as well average weighting as described in:
Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with the Perceptron Algorithm. Michael Collins, EMNLP 2002.
- See Also:
- 
Field SummaryFieldsFields inherited from class opennlp.tools.ml.AbstractEventTrainerDATA_INDEXER_ONE_PASS_REAL_VALUE, DATA_INDEXER_ONE_PASS_VALUE, DATA_INDEXER_PARAM, DATA_INDEXER_TWO_PASS_VALUEFields inherited from interface opennlp.tools.ml.EventTrainerEVENT_VALUE
- 
Constructor SummaryConstructorsConstructorDescriptionInstantiates aPerceptronTrainerwith default training parameters.PerceptronTrainer(TrainingParameters parameters) Instantiates aPerceptronTrainerwith specificTrainingParameters.
- 
Method SummaryModifier and TypeMethodDescriptiondoTrain(DataIndexer indexer) booleanvoidsetSkippedAveraging(boolean averaging) Enables skipped averaging, this flag changes the standard averaging to special averaging instead.voidsetStepSizeDecrease(double decrease) Enables and sets step size decrease.voidsetTolerance(double tolerance) Specifies the tolerance.trainModel(int iterations, DataIndexer di, int cutoff) Trains aPerceptronModelwith given parameters.trainModel(int iterations, DataIndexer di, int cutoff, boolean useAverage) Trains aPerceptronModelwith given parameters.voidvalidate()Checks the configuredparameters.Methods inherited from class opennlp.tools.ml.AbstractEventTrainergetDataIndexer, train, trainMethods inherited from class opennlp.tools.ml.AbstractTrainergetAlgorithm, getCutoff, getIterations, init
- 
Field Details- 
PERCEPTRON_VALUE- See Also:
 
- 
TOLERANCE_DEFAULTpublic static final double TOLERANCE_DEFAULT- See Also:
 
 
- 
- 
Constructor Details- 
PerceptronTrainerpublic PerceptronTrainer()Instantiates aPerceptronTrainerwith default training parameters.
- 
PerceptronTrainerInstantiates aPerceptronTrainerwith specificTrainingParameters.- Parameters:
- parameters- The- parameterto use.
 
 
- 
- 
Method Details- 
validatepublic void validate()Checks the configuredparameters. If a subclass overrides this, it should callsuper.validate();.- Overrides:
- validatein class- AbstractEventTrainer
- Throws:
- IllegalArgumentException- Thrown if the algorithm name is not equal to- PERCEPTRON_VALUE.
 
- 
isSortAndMergepublic boolean isSortAndMerge()- Specified by:
- isSortAndMergein class- AbstractEventTrainer
 
- 
doTrain- Specified by:
- doTrainin class- AbstractEventTrainer
- Throws:
- IOException
 
- 
setTolerancepublic void setTolerance(double tolerance) Specifies the tolerance. If the change in training set accuracy is less than this, stop iterating.- Parameters:
- tolerance- The level of tolerance. Must not be negative.
- Throws:
- IllegalArgumentException- Thrown if parameters are invalid.
 
- 
setStepSizeDecreasepublic void setStepSizeDecrease(double decrease) Enables and sets step size decrease. The step size is decreased every iteration by the specified value.- Parameters:
- decrease- The step size decrease in percent. Must not be negative.
- Throws:
- IllegalArgumentException- Thrown if parameters are invalid.
 
- 
setSkippedAveragingpublic void setSkippedAveraging(boolean averaging) Enables skipped averaging, this flag changes the standard averaging to special averaging instead.If we are doing averaging, and the current iteration is one of the first 20, or if it is a perfect square, then updated the summed parameters. The reason we don't take all of them is that the parameters change less toward the end of training, so they drown out the contributions of the more volatile early iterations. The use of perfect squares allows us to sample from successively farther apart iterations. - Parameters:
- averaging- Whether to skip 'averaging', or not.
 
- 
trainModelTrains aPerceptronModelwith given parameters.- Parameters:
- iterations- The number of iterations to use for training.
- di- The- DataIndexerused as data input.
- cutoff- The- TrainingParameters.CUTOFF_PARAMvalue to use for training.
- Returns:
- A valid, trained perceptron model.
 
- 
trainModelTrains aPerceptronModelwith given parameters.- Parameters:
- iterations- The number of iterations to use for training.
- di- The- DataIndexerused as data input.
- cutoff- The- TrainingParameters.CUTOFF_PARAMvalue to use for training.
- useAverage- Whether to use 'averaging', or not. See- setSkippedAveraging(boolean)for details.
- Returns:
- A valid, trained perceptron model.
 
 
-