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