jMEF.MixtureModel Class Reference

Inherits java::io::Serializable.

List of all members.

Public Member Functions

 MixtureModel (int n)
 Class constructor.
double density (Parameter x)
 Computes the density value $ f(x) $ of a mixture model.
void normalizeWeights ()
 Normalizes the weights of the mixture models $ \alpha_i $ such as $ \sum_{i=1}^n \alpha_i = 1 $.
String toString ()
 Method toString.
MixtureModel getRandomSubMixtureModel (int m)
 Creates a sub-mixture by randomly picking components in the instance.
MixtureModel clone ()
 Creates and returns a copy of the instance.
int getDimension ()
 Return the dimension of the parameters of the mixture model.
PVector[] drawRandomPoints (int m)
 Draws points from the considered mixture model.

Static Public Member Functions

static void save (MixtureModel mm, String fileName)
 Saves a mixture model in a specified output file.
static MixtureModel load (String fileName)
 Loads a mixture model from an input file.
static double KLDMC (MixtureModel f, MixtureModel g, int n)
 Estimates the Kullback-Leibler divergence using a Monte-Carlo method.
static double KLDMC (MixtureModel f, MixtureModel g, PVector[] points)
 Estimates the Kullback-Leibler divergence using a Monte-Carlo method.

Public Attributes

ExponentialFamily EF
 Exponential family of the mixture model.
int size
 Number of components in the mixture model.
double[] weight
 Array containing the weights of the mixture components.
Parameter[] param
 Array containing the parameters of the mixture components.


Detailed Description

Author:
Vincent Garcia

Frank Nielsen

Version:
1.0

License

See file LICENSE.txt

Description

A mixture model is a powerful framework commonly used to estimate the probability density function (PDF) of a random variable. Let us consider a mixture model $f$ of size $n$. The probability density function $f$ evaluated at $x \in R^d$ is given by

\[ f(x) = \sum_{i=1}^n \alpha_i f_i(x)\]

where $\alpha_i \in [0,1]$ denotes the weight of the $i^{\textrm{th}}$ mixture component $f_i$ such as $\sum_{i=1}^n \alpha_i=1$. The MixtureModel class provides a convenient way to create and manage mixture of exponential families.


Constructor & Destructor Documentation

jMEF.MixtureModel.MixtureModel ( int  n  ) 

Class constructor.

Parameters:
n number of components in the mixture models.


Member Function Documentation

MixtureModel jMEF.MixtureModel.clone (  ) 

Creates and returns a copy of the instance.

Returns:
a clone of the instance

double jMEF.MixtureModel.density ( Parameter  x  ) 

Computes the density value $ f(x) $ of a mixture model.

Parameters:
x a point
Returns:
value of the density $ f(x) $

PVector [] jMEF.MixtureModel.drawRandomPoints ( int  m  ) 

Draws points from the considered mixture model.

Parameters:
m number of points to draw
Returns:
a point

int jMEF.MixtureModel.getDimension (  ) 

Return the dimension of the parameters of the mixture model.

Returns:
parameters's dimension

MixtureModel jMEF.MixtureModel.getRandomSubMixtureModel ( int  m  ) 

Creates a sub-mixture by randomly picking components in the instance.

Parameters:
m number of components in the the sub mixture
Returns:
a sub-mixture of the instance

static double jMEF.MixtureModel.KLDMC ( MixtureModel  f,
MixtureModel  g,
PVector[]  points 
) [static]

Estimates the Kullback-Leibler divergence using a Monte-Carlo method.

Parameters:
f mixture model
g mixture model
points points drawn from f
Returns:
$ D_{\mathrm{KL}}(f\|g)$

static double jMEF.MixtureModel.KLDMC ( MixtureModel  f,
MixtureModel  g,
int  n 
) [static]

Estimates the Kullback-Leibler divergence using a Monte-Carlo method.

Parameters:
f mixture model
g mixture model
n number of points drawn from f
Returns:
$ D_{\mathrm{KL}}(f\|g)$

static MixtureModel jMEF.MixtureModel.load ( String  fileName  )  [static]

Loads a mixture model from an input file.

Parameters:
fileName file name where the mixture model is stored
Returns:
mixture model loaded from fileName

void jMEF.MixtureModel.normalizeWeights (  ) 

Normalizes the weights of the mixture models $ \alpha_i $ such as $ \sum_{i=1}^n \alpha_i = 1 $.

static void jMEF.MixtureModel.save ( MixtureModel  mm,
String  fileName 
) [static]

Saves a mixture model in a specified output file.

Parameters:
mm mixture model to be saved
fileName file name where the mixture model has to be saved

String jMEF.MixtureModel.toString (  ) 

Method toString.

Returns:
string describing the mixture model


Member Data Documentation

ExponentialFamily jMEF.MixtureModel.EF

Exponential family of the mixture model.

Array containing the parameters of the mixture components.

Number of components in the mixture model.

Array containing the weights of the mixture components.


The documentation for this class was generated from the following file:

Generated on Mon Nov 23 15:46:26 2009 for jMEF by  doxygen 1.5.9