gov.sandia.cognition.learning.algorithm.confidence
Class ConfidenceWeightedDiagonalVarianceProject

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.learning.algorithm.AbstractBatchAndIncrementalLearner<InputOutputPair<? extends InputType,OutputType>,ResultType>
          extended by gov.sandia.cognition.learning.algorithm.AbstractSupervisedBatchAndIncrementalLearner<Vectorizable,Boolean,DiagonalConfidenceWeightedBinaryCategorizer>
              extended by gov.sandia.cognition.learning.algorithm.confidence.ConfidenceWeightedDiagonalVariance
                  extended by gov.sandia.cognition.learning.algorithm.confidence.ConfidenceWeightedDiagonalVarianceProject
All Implemented Interfaces:
BatchAndIncrementalLearner<InputOutputPair<? extends Vectorizable,Boolean>,DiagonalConfidenceWeightedBinaryCategorizer>, BatchLearner<Collection<? extends InputOutputPair<? extends Vectorizable,Boolean>>,DiagonalConfidenceWeightedBinaryCategorizer>, IncrementalLearner<InputOutputPair<? extends Vectorizable,Boolean>,DiagonalConfidenceWeightedBinaryCategorizer>, SupervisedBatchAndIncrementalLearner<Vectorizable,Boolean,DiagonalConfidenceWeightedBinaryCategorizer>, SupervisedBatchLearner<Vectorizable,Boolean,DiagonalConfidenceWeightedBinaryCategorizer>, SupervisedIncrementalLearner<Vectorizable,Boolean,DiagonalConfidenceWeightedBinaryCategorizer>, CloneableSerializable, Serializable, Cloneable

@PublicationReference(title="Confidence-Weighted Linear Classification",
                      author={"Mark Dredze","Koby Crammer","Fernando Pereira"},
                      year=2008,
                      type=Conference,
                      publication="International Conference on Machine Learning",
                      url="http://portal.acm.org/citation.cfm?id=1390190")
public class ConfidenceWeightedDiagonalVarianceProject
extends ConfidenceWeightedDiagonalVariance

An implementation of the Variance algorithm for learning a confidence-weighted linear categorizer. It updates only the diagonal of the covariance matrix, thus computing the variance of each dimension. It is roughly based on the Passive-Aggressive algorithm PA-I, which uses a linear soft margin. This corresponds to the "Variance-project" version.

Since:
3.3.0
Author:
Justin Basilico
See Also:
Serialized Form

Field Summary
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.confidence.ConfidenceWeightedDiagonalVariance
confidence, DEFAULT_CONFIDENCE, DEFAULT_DEFAULT_VARIANCE, defaultVariance, phi
 
Constructor Summary
ConfidenceWeightedDiagonalVarianceProject()
          Creates a new ConfidenceWeightedDiagonalVarianceProject with default parameters.
ConfidenceWeightedDiagonalVarianceProject(double confidence, double defaultVariance)
          Creates a new ConfidenceWeightedDiagonalVarianceProject with the given parameters.
 
Method Summary
 void update(DiagonalConfidenceWeightedBinaryCategorizer target, Vector input, boolean label)
          Updates the target using the given input and associated label.
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.confidence.ConfidenceWeightedDiagonalVariance
createInitialLearnedObject, getConfidence, getDefaultVariance, setConfidence, setDefaultVariance, update
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.AbstractSupervisedBatchAndIncrementalLearner
update
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.AbstractBatchAndIncrementalLearner
clone, learn, learn, update
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.BatchAndIncrementalLearner
learn
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.BatchLearner
learn
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.IncrementalLearner
update
 
Methods inherited from interface gov.sandia.cognition.util.CloneableSerializable
clone
 

Constructor Detail

ConfidenceWeightedDiagonalVarianceProject

public ConfidenceWeightedDiagonalVarianceProject()
Creates a new ConfidenceWeightedDiagonalVarianceProject with default parameters.


ConfidenceWeightedDiagonalVarianceProject

public ConfidenceWeightedDiagonalVarianceProject(double confidence,
                                                 double defaultVariance)
Creates a new ConfidenceWeightedDiagonalVarianceProject with the given parameters.

Parameters:
confidence - The confidence to use. Must be in [0, 1].
defaultVariance - The default value to initialize the covariance matrix to.
Method Detail

update

public void update(DiagonalConfidenceWeightedBinaryCategorizer target,
                   Vector input,
                   boolean label)
Description copied from class: ConfidenceWeightedDiagonalVariance
Updates the target using the given input and associated label.

Overrides:
update in class ConfidenceWeightedDiagonalVariance
Parameters:
target - The target to update.
input - The supervised input value.
label - The output label associated with the input.