cc.mallet.classify
Class WinnowTrainer
java.lang.Object
cc.mallet.classify.ClassifierTrainer<Winnow>
cc.mallet.classify.WinnowTrainer
public class WinnowTrainer
- extends ClassifierTrainer<Winnow>
An implementation of the training methods of a
Winnow2 on-line classifier. Given an instance xi,
the algorithm computes Sum(xi*wi), where wi is
the weight for that feature in the given class.
If the Sum is greater than some threshold
theta
, then the classifier guess
true for that class.
Only when the classifier makes a mistake are the
weights updated in one of two steps:
Promote: guessed 0 and answer was 1. Multiply
all weights of present features by alpha
.
Demote: guessed 1 and answer was 0. Divide
all weights of present features by beta
.
Limitations: Winnow2 only considers binary feature
vectors (i.e. whether or not the feature is present,
not its value).
Constructor Summary |
WinnowTrainer()
Default constructor. |
WinnowTrainer(double a,
double b)
Sets alpha and beta and default value for theta |
WinnowTrainer(double a,
double b,
double nfact)
Sets alpha, beta, and nfactor |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WinnowTrainer
public WinnowTrainer()
- Default constructor. Sets all features to defaults.
WinnowTrainer
public WinnowTrainer(double a,
double b)
- Sets alpha and beta and default value for theta
- Parameters:
a
- alpha valueb
- beta value
WinnowTrainer
public WinnowTrainer(double a,
double b,
double nfact)
- Sets alpha, beta, and nfactor
- Parameters:
a
- alpha valueb
- beta valuenfact
- nfactor value
getClassifier
public Winnow getClassifier()
- Specified by:
getClassifier
in class ClassifierTrainer<Winnow>
train
public Winnow train(InstanceList trainingList)
- Trains winnow on the instance list, updating
weights
according to errors
- Specified by:
train
in class ClassifierTrainer<Winnow>
- Parameters:
ilist
- Instance list to be trained on
- Returns:
- Classifier object containing learned weights