gov.sandia.cognition.statistics
Class AbstractIncrementalEstimator<DataType,DistributionType extends Distribution<? extends DataType>,SufficientStatisticsType extends SufficientStatistic<DataType,DistributionType>>

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.learning.algorithm.AbstractBatchAndIncrementalLearner<DataType,SufficientStatisticsType>
          extended by gov.sandia.cognition.statistics.AbstractIncrementalEstimator<DataType,DistributionType,SufficientStatisticsType>
Type Parameters:
DataType - The type of data generated by the Distribution.
SufficientStatisticsType - The type of the sufficient statistics for the distribution.
DistributionType - The type of Distribution this is the sufficient statistics of.
All Implemented Interfaces:
BatchAndIncrementalLearner<DataType,SufficientStatisticsType>, BatchLearner<Collection<? extends DataType>,SufficientStatisticsType>, IncrementalLearner<DataType,SufficientStatisticsType>, IncrementalEstimator<DataType,DistributionType,SufficientStatisticsType>, CloneableSerializable, Serializable, Cloneable
Direct Known Subclasses:
MultivariateGaussian.IncrementalEstimator, MultivariateGaussian.IncrementalEstimatorCovarianceInverse, UnivariateGaussian.IncrementalEstimator

public abstract class AbstractIncrementalEstimator<DataType,DistributionType extends Distribution<? extends DataType>,SufficientStatisticsType extends SufficientStatistic<DataType,DistributionType>>
extends AbstractBatchAndIncrementalLearner<DataType,SufficientStatisticsType>
implements IncrementalEstimator<DataType,DistributionType,SufficientStatisticsType>

Partial implementation of IncrementalEstimator.

Since:
3.1.1
Author:
Kevin R. Dixon
See Also:
Serialized Form

Constructor Summary
AbstractIncrementalEstimator()
          Creates a new instance of AbstractIncrementalEstimator
 
Method Summary
 AbstractIncrementalEstimator<DataType,DistributionType,SufficientStatisticsType> clone()
          This makes public the clone method on the Object class and removes the exception that it throws.
 void update(SufficientStatisticsType target, DataType data)
          The update method updates an object of ResultType using the given new data of type DataType, using some form of "learning" algorithm.
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.AbstractBatchAndIncrementalLearner
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
createInitialLearnedObject, update
 

Constructor Detail

AbstractIncrementalEstimator

public AbstractIncrementalEstimator()
Creates a new instance of AbstractIncrementalEstimator

Method Detail

clone

public AbstractIncrementalEstimator<DataType,DistributionType,SufficientStatisticsType> clone()
Description copied from class: AbstractCloneableSerializable
This makes public the clone method on the Object class and removes the exception that it throws. Its default behavior is to automatically create a clone of the exact type of object that the clone is called on and to copy all primitives but to keep all references, which means it is a shallow copy. Extensions of this class may want to override this method (but call super.clone() to implement a "smart copy". That is, to target the most common use case for creating a copy of the object. Because of the default behavior being a shallow copy, extending classes only need to handle fields that need to have a deeper copy (or those that need to be reset). Some of the methods in ObjectUtil may be helpful in implementing a custom clone method. Note: The contract of this method is that you must use super.clone() as the basis for your implementation.

Specified by:
clone in interface CloneableSerializable
Overrides:
clone in class AbstractBatchAndIncrementalLearner<DataType,SufficientStatisticsType extends SufficientStatistic<DataType,DistributionType>>
Returns:
A clone of this object.

update

public void update(SufficientStatisticsType target,
                   DataType data)
Description copied from interface: IncrementalLearner
The update method updates an object of ResultType using the given new data of type DataType, using some form of "learning" algorithm.

Specified by:
update in interface IncrementalLearner<DataType,SufficientStatisticsType extends SufficientStatistic<DataType,DistributionType>>
Parameters:
target - The object to update.
data - The new data for the learning algorithm to use to update the object.