edu.cmu.minorthird.classify.algorithms.linear
Class MarginPerceptron

java.lang.Object
  extended by edu.cmu.minorthird.classify.OnlineClassifierLearner
      extended by edu.cmu.minorthird.classify.OnlineBinaryClassifierLearner
          extended by edu.cmu.minorthird.classify.algorithms.linear.MarginPerceptron
All Implemented Interfaces:
BinaryClassifierLearner, ClassifierLearner, java.lang.Cloneable

public class MarginPerceptron
extends OnlineBinaryClassifierLearner

Perceptron algorithm. Slighly modified to (a) update when examples don't satisfy a margin requirement and (b) optionally, classify with a voting scheme.

Author:
William Cohen

Constructor Summary
MarginPerceptron()
           
MarginPerceptron(double minMargin, boolean voteBeforeTrainingComplete, boolean voteAfterTrainingComplete)
           
 
Method Summary
 void addExample(Example example)
          Subclasses should use this method to perform whatever incremental update is needed after in response to a new example.
 void completeTraining()
          A promise from the caller that no further examples will be added.
 Classifier getClassifier()
          Subclasses should use this method to return the current classifier.
 void reset()
          'forget' everything about the last learning task, and start a new task.
 java.lang.String toString()
           
 
Methods inherited from class edu.cmu.minorthird.classify.OnlineBinaryClassifierLearner
getBinaryClassifier, getSchema, setSchema
 
Methods inherited from class edu.cmu.minorthird.classify.OnlineClassifierLearner
copy, hasNextQuery, nextQuery, setInstancePool
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.cmu.minorthird.classify.ClassifierLearner
copy, hasNextQuery, nextQuery, setInstancePool
 

Constructor Detail

MarginPerceptron

public MarginPerceptron()

MarginPerceptron

public MarginPerceptron(double minMargin,
                        boolean voteBeforeTrainingComplete,
                        boolean voteAfterTrainingComplete)
Method Detail

reset

public void reset()
Description copied from class: OnlineClassifierLearner
'forget' everything about the last learning task, and start a new task. Subclasses need to implement this method

Specified by:
reset in interface ClassifierLearner
Specified by:
reset in class OnlineClassifierLearner

addExample

public void addExample(Example example)
Description copied from class: OnlineClassifierLearner
Subclasses should use this method to perform whatever incremental update is needed after in response to a new example.

Specified by:
addExample in interface ClassifierLearner
Specified by:
addExample in class OnlineClassifierLearner

completeTraining

public void completeTraining()
Description copied from class: OnlineClassifierLearner
A promise from the caller that no further examples will be added. Override this method if it's appropriate.

Specified by:
completeTraining in interface ClassifierLearner
Overrides:
completeTraining in class OnlineClassifierLearner

getClassifier

public Classifier getClassifier()
Description copied from class: OnlineClassifierLearner
Subclasses should use this method to return the current classifier.

Specified by:
getClassifier in interface ClassifierLearner
Specified by:
getClassifier in class OnlineClassifierLearner

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object