gov.sandia.cognition.learning.algorithm.perceptron.kernel
Class Forgetron.Greedy<InputType>

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<InputType,Boolean,DefaultKernelBinaryCategorizer<InputType>>
              extended by gov.sandia.cognition.learning.algorithm.perceptron.kernel.AbstractOnlineKernelBinaryCategorizerLearner<InputType>
                  extended by gov.sandia.cognition.learning.algorithm.perceptron.kernel.AbstractOnlineBudgetedKernelBinaryCategorizerLearner<InputType>
                      extended by gov.sandia.cognition.learning.algorithm.perceptron.kernel.Forgetron<InputType>
                          extended by gov.sandia.cognition.learning.algorithm.perceptron.kernel.Forgetron.Greedy<InputType>
Type Parameters:
InputType - The type of input to learn over. Passed to the kernel function.
All Implemented Interfaces:
BatchAndIncrementalLearner<InputOutputPair<? extends InputType,Boolean>,DefaultKernelBinaryCategorizer<InputType>>, BatchLearner<Collection<? extends InputOutputPair<? extends InputType,Boolean>>,DefaultKernelBinaryCategorizer<InputType>>, IncrementalLearner<InputOutputPair<? extends InputType,Boolean>,DefaultKernelBinaryCategorizer<InputType>>, SupervisedBatchAndIncrementalLearner<InputType,Boolean,DefaultKernelBinaryCategorizer<InputType>>, SupervisedBatchLearner<InputType,Boolean,DefaultKernelBinaryCategorizer<InputType>>, SupervisedIncrementalLearner<InputType,Boolean,DefaultKernelBinaryCategorizer<InputType>>, KernelContainer<InputType>, CloneableSerializable, Serializable, Cloneable
Enclosing class:
Forgetron<InputType>

@PublicationReference(author={"Ofer Dekel","Shai Shalev-Shwartz","Yoram Singer"},
                      title="The Forgetron: A Kernel-based Perceptron on a Budget",
                      year=2008,
                      type=Journal,
                      publication="SIAM Journal on Computing",
                      pages={1342,1372},
                      url="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.134.7604&rep=rep1&type=pdf",
                      notes="This is the greedy version.")
public static class Forgetron.Greedy<InputType>
extends Forgetron<InputType>

An implementation of the "greedy" Forgetron algorithm, which is an online budgeted kernel binary categorizer learner. It is an extension of the "self-tuned" algorithm that

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

Nested Class Summary
 
Nested classes/interfaces inherited from class gov.sandia.cognition.learning.algorithm.perceptron.kernel.Forgetron
Forgetron.Basic<InputType>, Forgetron.Greedy<InputType>, Forgetron.Result<InputType>
 
Field Summary
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.perceptron.kernel.AbstractOnlineBudgetedKernelBinaryCategorizerLearner
budget, DEFAULT_BUDGET
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.perceptron.kernel.AbstractOnlineKernelBinaryCategorizerLearner
kernel
 
Constructor Summary
Forgetron.Greedy()
          Creates a new Forgetron.Greedy with a null kernel and default budget.
Forgetron.Greedy(Kernel<? super InputType> kernel, int budget)
          Creates a new Forgetron.Greedy with the given kernel and budget.
 
Method Summary
protected  void shrink(Forgetron.Result<InputType> result)
          Apply the shrinking step of the algorithm.
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.perceptron.kernel.Forgetron
createInitialLearnedObject, update
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.perceptron.kernel.AbstractOnlineBudgetedKernelBinaryCategorizerLearner
getBudget, setBudget
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.perceptron.kernel.AbstractOnlineKernelBinaryCategorizerLearner
getKernel, setKernel, 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.util.CloneableSerializable
clone
 
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
 

Constructor Detail

Forgetron.Greedy

public Forgetron.Greedy()
Creates a new Forgetron.Greedy with a null kernel and default budget.


Forgetron.Greedy

public Forgetron.Greedy(Kernel<? super InputType> kernel,
                        int budget)
Creates a new Forgetron.Greedy with the given kernel and budget.

Parameters:
kernel - The kernel to use.
budget - The budget for the maximum number of supports.
Method Detail

shrink

protected void shrink(Forgetron.Result<InputType> result)
Description copied from class: Forgetron
Apply the shrinking step of the algorithm.

Overrides:
shrink in class Forgetron<InputType>
Parameters:
result - The shrinking step.