gov.sandia.cognition.statistics.bayesian
Class BayesianRobustLinearRegression.IncrementalEstimator

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.statistics.bayesian.BayesianRobustLinearRegression
          extended by gov.sandia.cognition.statistics.bayesian.BayesianRobustLinearRegression.IncrementalEstimator
All Implemented Interfaces:
BatchLearner<Collection<? extends InputOutputPair<? extends Vectorizable,Double>>,MultivariateGaussianInverseGammaDistribution>, IncrementalLearner<InputOutputPair<? extends Vectorizable,Double>,BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic>, BayesianEstimator<InputOutputPair<? extends Vectorizable,Double>,Vector,MultivariateGaussianInverseGammaDistribution>, BayesianRegression<Double,MultivariateGaussianInverseGammaDistribution>, CloneableSerializable, Serializable, Cloneable
Enclosing class:
BayesianRobustLinearRegression

public static class BayesianRobustLinearRegression.IncrementalEstimator
extends BayesianRobustLinearRegression
implements IncrementalLearner<InputOutputPair<? extends Vectorizable,Double>,BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic>

Incremental estimator for BayesianRobustLinearRegression

See Also:
Serialized Form

Nested Class Summary
 class BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic
          SufficientStatistic for incremental Bayesian linear regression
 
Nested classes/interfaces inherited from class gov.sandia.cognition.statistics.bayesian.BayesianRobustLinearRegression
BayesianRobustLinearRegression.IncrementalEstimator, BayesianRobustLinearRegression.PredictiveDistribution
 
Field Summary
 
Fields inherited from class gov.sandia.cognition.statistics.bayesian.BayesianRobustLinearRegression
DEFAULT_WEIGHT_VARIANCE
 
Constructor Summary
BayesianRobustLinearRegression.IncrementalEstimator(int dimensionality)
          Creates a new instance of IncrementalEstimator
BayesianRobustLinearRegression.IncrementalEstimator(InverseGammaDistribution outputVariance, MultivariateGaussian weightPrior)
          Creates a new instance of IncrementalEstimator
 
Method Summary
 BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic createInitialLearnedObject()
          Creates a new initial learned object, before any data is given.
 MultivariateGaussianInverseGammaDistribution learn(Collection<? extends InputOutputPair<? extends Vectorizable,Double>> data)
          The learn method creates an object of ResultType using data of type DataType, using some form of "learning" algorithm.
 void update(BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic target, InputOutputPair<? extends Vectorizable,Double> data)
          The update method updates an object of ResultType using the given new data of type DataType, using some form of "learning" algorithm.
 void update(BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic target, Iterable<? extends InputOutputPair<? extends Vectorizable,Double>> data)
          The update method updates an object of ResultType using the given new Iterable containing some number of type DataType, using some form of "learning" algorithm.
 
Methods inherited from class gov.sandia.cognition.statistics.bayesian.BayesianRobustLinearRegression
clone, createConditionalDistribution, createPredictiveDistribution, getOutputVariance, getWeightPrior, setOutputVariance, setWeightPrior
 
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
 

Constructor Detail

BayesianRobustLinearRegression.IncrementalEstimator

public BayesianRobustLinearRegression.IncrementalEstimator(int dimensionality)
Creates a new instance of IncrementalEstimator

Parameters:
dimensionality - Sets up the parameters (except featureMap) for the given dimensionality of objects in feature space.

BayesianRobustLinearRegression.IncrementalEstimator

public BayesianRobustLinearRegression.IncrementalEstimator(InverseGammaDistribution outputVariance,
                                                           MultivariateGaussian weightPrior)
Creates a new instance of IncrementalEstimator

Parameters:
outputVariance - Distribution of the output (measurement) variance
weightPrior - Prior distribution of the weights, typically a zero-mean, diagonal-variance distribution.
Method Detail

createInitialLearnedObject

public BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic createInitialLearnedObject()
Description copied from interface: IncrementalLearner
Creates a new initial learned object, before any data is given.

Specified by:
createInitialLearnedObject in interface IncrementalLearner<InputOutputPair<? extends Vectorizable,Double>,BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic>
Returns:
The initial learned object.

learn

public MultivariateGaussianInverseGammaDistribution learn(Collection<? extends InputOutputPair<? extends Vectorizable,Double>> data)
Description copied from interface: BatchLearner
The learn method creates an object of ResultType using data of type DataType, using some form of "learning" algorithm.

Specified by:
learn in interface BatchLearner<Collection<? extends InputOutputPair<? extends Vectorizable,Double>>,MultivariateGaussianInverseGammaDistribution>
Overrides:
learn in class BayesianRobustLinearRegression
Parameters:
data - The data that the learning algorithm will use to create an object of ResultType.
Returns:
The object that is created based on the given data using the learning algorithm.

update

public void update(BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic target,
                   InputOutputPair<? extends Vectorizable,Double> 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<InputOutputPair<? extends Vectorizable,Double>,BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic>
Parameters:
target - The object to update.
data - The new data for the learning algorithm to use to update the object.

update

public void update(BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic target,
                   Iterable<? extends InputOutputPair<? extends Vectorizable,Double>> data)
Description copied from interface: IncrementalLearner
The update method updates an object of ResultType using the given new Iterable containing some number of type DataType, using some form of "learning" algorithm.

Specified by:
update in interface IncrementalLearner<InputOutputPair<? extends Vectorizable,Double>,BayesianRobustLinearRegression.IncrementalEstimator.SufficientStatistic>
Parameters:
target - The object to update.
data - The Iterable containing data for the learning algorithm to use to update the object.