statistics
Class Trainer

java.lang.Object
  extended by statistics.Trainer

public abstract class Trainer
extends java.lang.Object

Implementation of sequential training algorithms for (mixture) densities. These are: EM, MAP, ML.

Author:
bocklet

Constructor Summary
Trainer()
           
 
Method Summary
static MixtureDensity em(MixtureDensity initial, java.util.List<Sample> data)
          Given an initial mixture density, perform a single EM iteration w/ out the use of parallelization.
static MixtureDensity em(MixtureDensity initial, java.util.List<Sample> data, int iterations)
          Perform a number of EM iterations (single-core, cached posteriors) using the initial density and the given data.
static MixtureDensity map(MixtureDensity initial, java.util.List<Sample> data, double r, int iterations, java.lang.String update)
          Perform a number of MAP iterations, based on the initial estimate
static MixtureDensity map(MixtureDensity initial, java.util.List<Sample> data, double r, java.lang.String update)
          Perform a single MAP iteration on the given initial estimate
static Density ml(java.util.List<Sample> data, boolean diagonalCovariances)
          Standard (single-core) maximum likelihood estimation for a single Gaussian density
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Trainer

public Trainer()
Method Detail

em

public static MixtureDensity em(MixtureDensity initial,
                                java.util.List<Sample> data)
Given an initial mixture density, perform a single EM iteration w/ out the use of parallelization.

Parameters:
initial -
data -
Returns:
Throws:
TrainingException

em

public static MixtureDensity em(MixtureDensity initial,
                                java.util.List<Sample> data,
                                int iterations)
Perform a number of EM iterations (single-core, cached posteriors) using the initial density and the given data.

Parameters:
initial -
data -
iterations -
Returns:

map

public static MixtureDensity map(MixtureDensity initial,
                                 java.util.List<Sample> data,
                                 double r,
                                 int iterations,
                                 java.lang.String update)
Perform a number of MAP iterations, based on the initial estimate

Parameters:
initial -
data -
iterations -
update - String indicating which parameters to update: p for prior, m for mean, c for covariance; if null, "pmc" (i.e. all parameters) is assumed
Returns:

map

public static MixtureDensity map(MixtureDensity initial,
                                 java.util.List<Sample> data,
                                 double r,
                                 java.lang.String update)
Perform a single MAP iteration on the given initial estimate

Parameters:
initial -
r - Relevance factor
update - String indicating which parameters to update: p for prior, m for mean, c for covariance; if null, "pmc" (i.e. all parameters) is assumed
Returns:

ml

public static Density ml(java.util.List<Sample> data,
                         boolean diagonalCovariances)
Standard (single-core) maximum likelihood estimation for a single Gaussian density

Parameters:
data -
diagonalCovariances -
Returns:
Throws:
TrainingException