gov.sandia.cognition.learning.algorithm.perceptron
Interface KernelizableBinaryCategorizerOnlineLearner

All Superinterfaces:
BatchAndIncrementalLearner<InputOutputPair<? extends Vectorizable,Boolean>,LinearBinaryCategorizer>, BatchLearner<Collection<? extends InputOutputPair<? extends Vectorizable,Boolean>>,LinearBinaryCategorizer>, Cloneable, CloneableSerializable, IncrementalLearner<InputOutputPair<? extends Vectorizable,Boolean>,LinearBinaryCategorizer>, Serializable, SupervisedBatchAndIncrementalLearner<Vectorizable,Boolean,LinearBinaryCategorizer>, SupervisedBatchLearner<Vectorizable,Boolean,LinearBinaryCategorizer>, SupervisedIncrementalLearner<Vectorizable,Boolean,LinearBinaryCategorizer>
All Known Implementing Classes:
AbstractKernelizableBinaryCategorizerOnlineLearner, AbstractLinearCombinationOnlineLearner, AggressiveRelaxedOnlineMaximumMarginAlgorithm, Ballseptron, OnlineBinaryMarginInfusedRelaxedAlgorithm, OnlinePassiveAggressivePerceptron, OnlinePassiveAggressivePerceptron.AbstractSoftMargin, OnlinePassiveAggressivePerceptron.LinearSoftMargin, OnlinePassiveAggressivePerceptron.QuadraticSoftMargin, OnlinePerceptron, OnlineRampPassiveAggressivePerceptron, OnlineShiftingPerceptron, RelaxedOnlineMaximumMarginAlgorithm

public interface KernelizableBinaryCategorizerOnlineLearner
extends SupervisedBatchAndIncrementalLearner<Vectorizable,Boolean,LinearBinaryCategorizer>

Interface for an online learner of a linear binary categorizer that can also be used with a kernel function. Thus, there are a second set of methods that are similar to the ones for the normal learner that are specifically for kernel learning. The companion to this class is LinearizableBinaryCategorizerOnlineLearner.

Since:
3.3.0
Author:
Justin Basilico
See Also:
LinearizableBinaryCategorizerOnlineLearner

Method Summary
<InputType>
DefaultKernelBinaryCategorizer<InputType>
createInitialLearnedObject(Kernel<? super InputType> kernel)
          Creates the initial learned object with a given kernel.
<InputType>
SupervisedBatchAndIncrementalLearner<InputType,Boolean,DefaultKernelBinaryCategorizer<InputType>>
createKernelLearner(Kernel<? super InputType> kernel)
          Creates a new kernel-based learner using the standard learning interfaces based on this learner and its parameters.
<InputType>
DefaultKernelBinaryCategorizer<InputType>
learn(Kernel<? super InputType> kernel, Iterable<? extends InputOutputPair<? extends InputType,Boolean>> data)
          Run this algorithm on a batch of data using the given kernel function.
<InputType>
void
update(DefaultKernelBinaryCategorizer<InputType> target, InputOutputPair<? extends InputType,Boolean> data)
          Performs a kernel-based incremental update step on the given object using the given supervised data.
<InputType>
void
update(DefaultKernelBinaryCategorizer<InputType> target, InputType input, boolean output)
          Performs a kernel-based incremental update step on the given object using the given supervised data.
<InputType>
void
update(DefaultKernelBinaryCategorizer<InputType> target, InputType input, Boolean output)
          Performs a kernel-based incremental update step on the given object using the given supervised data.
<InputType>
void
update(DefaultKernelBinaryCategorizer<InputType> target, Iterable<? extends InputOutputPair<? extends InputType,Boolean>> data)
          Performs a kernel-based incremental update step on the given object using the given supervised data.
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.SupervisedIncrementalLearner
update
 
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
createInitialLearnedObject, update, update
 
Methods inherited from interface gov.sandia.cognition.util.CloneableSerializable
clone
 

Method Detail

createInitialLearnedObject

<InputType> DefaultKernelBinaryCategorizer<InputType> createInitialLearnedObject(Kernel<? super InputType> kernel)
Creates the initial learned object with a given kernel.

Type Parameters:
InputType - The input type for supervised learning. Will be passed to the kernel function.
Parameters:
kernel - The kernel function to use.
Returns:
A new, empty learned object.

update

<InputType> void update(DefaultKernelBinaryCategorizer<InputType> target,
                        Iterable<? extends InputOutputPair<? extends InputType,Boolean>> data)
Performs a kernel-based incremental update step on the given object using the given supervised data.

Type Parameters:
InputType - The input type for supervised learning. Will be passed to the kernel function.
Parameters:
target - The target object to update.
data - The supervised training data.

update

<InputType> void update(DefaultKernelBinaryCategorizer<InputType> target,
                        InputOutputPair<? extends InputType,Boolean> data)
Performs a kernel-based incremental update step on the given object using the given supervised data.

Type Parameters:
InputType - The input type for supervised learning. Will be passed to the kernel function.
Parameters:
target - The target object to update.
data - The supervised training data.

update

<InputType> void update(DefaultKernelBinaryCategorizer<InputType> target,
                        InputType input,
                        Boolean output)
Performs a kernel-based incremental update step on the given object using the given supervised data.

Type Parameters:
InputType - The input type for supervised learning. Will be passed to the kernel function.
Parameters:
target - The target object to update.
input - The supervised input value.
output - The supervised output value (label).

update

<InputType> void update(DefaultKernelBinaryCategorizer<InputType> target,
                        InputType input,
                        boolean output)
Performs a kernel-based incremental update step on the given object using the given supervised data.

Type Parameters:
InputType - The input type for supervised learning. Will be passed to the kernel function.
Parameters:
target - The target object to update.
input - The supervised input value.
output - The supervised output value (label).

learn

<InputType> DefaultKernelBinaryCategorizer<InputType> learn(Kernel<? super InputType> kernel,
                                                            Iterable<? extends InputOutputPair<? extends InputType,Boolean>> data)
Run this algorithm on a batch of data using the given kernel function.

Type Parameters:
InputType - The input type for supervised learning. Will be passed to the kernel function.
Parameters:
kernel - The kernel function to use.
data - The supervised training data.
Returns:
A new object trained on the given data.

createKernelLearner

<InputType> SupervisedBatchAndIncrementalLearner<InputType,Boolean,DefaultKernelBinaryCategorizer<InputType>> createKernelLearner(Kernel<? super InputType> kernel)
Creates a new kernel-based learner using the standard learning interfaces based on this learner and its parameters.

Type Parameters:
InputType - The input type for supervised learning. Will be passed to the kernel function.
Parameters:
kernel - The kernel function to use.
Returns:
A kernel-based version of this learning algorithm.