org.apache.mahout.classifier.discriminative
Class WinnowTrainer

java.lang.Object
  extended by org.apache.mahout.classifier.discriminative.LinearTrainer
      extended by org.apache.mahout.classifier.discriminative.WinnowTrainer

public class WinnowTrainer
extends LinearTrainer

This class implements training according to the winnow update algorithm.


Constructor Summary
WinnowTrainer(int dimension)
          Initializes with dimension and promotionStep of 2.
WinnowTrainer(int dimension, double promotionStep)
           
WinnowTrainer(int dimension, double promotionStep, double threshold, double init, double initBias)
           
 
Method Summary
protected  void update(double label, Vector dataPoint, LinearModel model)
          Implement this method to match your training strategy.
 
Methods inherited from class org.apache.mahout.classifier.discriminative.LinearTrainer
getModel, train
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WinnowTrainer

public WinnowTrainer(int dimension,
                     double promotionStep,
                     double threshold,
                     double init,
                     double initBias)

WinnowTrainer

public WinnowTrainer(int dimension,
                     double promotionStep)

WinnowTrainer

public WinnowTrainer(int dimension)
Initializes with dimension and promotionStep of 2.

Parameters:
dimension - number of features.
Method Detail

update

protected void update(double label,
                      Vector dataPoint,
                      LinearModel model)
Implement this method to match your training strategy. Winnow update works such that in case the predicted label does not match the real label, the weight vector is updated as follows: In case the prediction was positiv but should have been negative, all entries in the weight vector that correspond to non null features in the example are doubled. In case the prediction was negative but should have been positive, all entries in the weight vector that correspond to non null features in the example are halfed.

Specified by:
update in class LinearTrainer
Parameters:
label - the target label of the wrongly classified data point.
dataPoint - the data point that was classified incorrectly.
model - the model to update.


Copyright © 2008-2012 The Apache Software Foundation. All Rights Reserved.