gov.sandia.cognition.statistics.bayesian
Class DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.statistics.bayesian.DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater
All Implemented Interfaces:
DirichletProcessMixtureModel.Updater<Vector>, CloneableSerializable, Serializable, Cloneable
Enclosing class:
DirichletProcessMixtureModel<ObservationType>

public static class DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater
extends AbstractCloneableSerializable
implements DirichletProcessMixtureModel.Updater<Vector>

Updater that creates specified clusters with distinct means and covariances

See Also:
Serialized Form

Constructor Summary
DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater()
          Default constructor
DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater(int dimensionality)
          Creates a new instance of MultivariateMeanCovarianceUpdater
DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater(MultivariateGaussianMeanCovarianceBayesianEstimator estimator)
          Creates a new instance of MultivariateMeanCovarianceUpdater
 
Method Summary
 DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater clone()
          This makes public the clone method on the Object class and removes the exception that it throws.
 MultivariateGaussian.PDF createClusterPosterior(Iterable<? extends Vector> values, Random random)
          Updates the cluster from the values assigned to it
 MultivariateStudentTDistribution.PDF createPriorPredictive(Iterable<? extends Vector> data)
          Creates the prior predictive distribution from the data.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater

public DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater()
Default constructor


DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater

public DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater(int dimensionality)
Creates a new instance of MultivariateMeanCovarianceUpdater

Parameters:
dimensionality - Dimensionality of the Vectors

DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater

public DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater(MultivariateGaussianMeanCovarianceBayesianEstimator estimator)
Creates a new instance of MultivariateMeanCovarianceUpdater

Parameters:
estimator - Bayesian estimator for the parameters
Method Detail

clone

public DirichletProcessMixtureModel.MultivariateMeanCovarianceUpdater 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 AbstractCloneableSerializable
Returns:
A clone of this object.

createPriorPredictive

public MultivariateStudentTDistribution.PDF createPriorPredictive(Iterable<? extends Vector> data)
Description copied from interface: DirichletProcessMixtureModel.Updater
Creates the prior predictive distribution from the data.

Specified by:
createPriorPredictive in interface DirichletProcessMixtureModel.Updater<Vector>
Parameters:
data - Data from which to create the prior predictive
Returns:
Prior predictive distribution from the data

createClusterPosterior

public MultivariateGaussian.PDF createClusterPosterior(Iterable<? extends Vector> values,
                                                       Random random)
Description copied from interface: DirichletProcessMixtureModel.Updater
Updates the cluster from the values assigned to it

Specified by:
createClusterPosterior in interface DirichletProcessMixtureModel.Updater<Vector>
Parameters:
values - Values assigned to the cluster
random - Random number generator
Returns:
Updated cluster value