mixmod  3.2.0
Mixture models for clustering and classification
 All Classes Namespaces Files Functions Variables Enumerations Friends
XEM::GaussianParameter Class Referenceabstract

Base class for XEMGaussianParameter(s) More...

#include <GaussianParameter.h>

Inheritance diagram for XEM::GaussianParameter:
Collaboration diagram for XEM::GaussianParameter:

Public Member Functions

 GaussianParameter ()
 Default constructor.
 GaussianParameter (Model *iModel, ModelType *iModelType)
 GaussianParameter (int64_t iNbCluster, int64_t iPbDimension, ModelType *iModelType)
 GaussianParameter (const GaussianParameter *iParameter)
virtual ~GaussianParameter ()
virtual bool operator== (const GaussianParameter &param) const
 Comparison operator.
virtual Parameterclone () const =0
 Selector. More...
virtual void reset ()
 reset to default values
double ** getTabMean () const
 get TabMean
void computeGlobalDiagDataVariance (DiagMatrix *matrixDiagDataVar)
virtual void computeTabWkW ()
 Compute table of cluster scattering matrices Wk and W.
int64_t computeClassAssigment (int64_t idxSample)
 compute label of idxSample
void computeTabMean ()
 Compute table of means of the samples for each cluster.
void computeTabMeanInitUSER_PARTITION (int64_t &nbInitializedCluster, bool *tabNotInitializedCluster, Partition *initPartition)
virtual double getPdf (int64_t iSample, int64_t kCluster) const =0
 Compute table of sigmas of the samples for each cluster.
virtual void getAllPdf (double **tabFik, double *tabProportion) const =0
virtual double getPdf (Sample *x, int64_t kCluster) const =0
void MAPStep ()
 Maximum a posteriori step method.
virtual void MStep ()
 Maximization step method.
Matrix ** getTabWk () const
 get TabSigma More...
MatrixgetW () const
 Selector. More...
virtual void edit ()=0
virtual void edit (std::ofstream &oFile, bool text=false)=0
virtual void input (std::ifstream &fi)=0
virtual double getLogLikelihoodOne () const =0
 get loglikelihood with one cluster
virtual void recopy (Parameter *otherParameter)=0
 recopie sans faire construction / destruction
virtual void updateForCV (Model *originalModel, CVBlock &CVBlock)
void updateForInitRANDOMorUSER_PARTITION (Sample **tabSampleForInit, bool *tabClusterToInitialize)
virtual void initUSER (Parameter *iParam)=0
 init user
- Public Member Functions inherited from XEM::Parameter
 Parameter ()
 Default constructor.
 Parameter (int64_t iNbCluster, int64_t iPbDimension, ModelType *iModelType)
 Parameter (Model *iModel, ModelType *iModelType)
 Parameter (const Parameter *iParameter)
 Constructor ccopy)
virtual ~Parameter ()
virtual GaussianParametergetGaussianParameter ()
virtual BinaryParametergetBinaryParameter ()
virtual bool operator== (const Parameter &param) const
 Comparison operator.
void computeTabProportion ()
virtual int64_t getFreeParameter () const =0
 Selector. More...
virtual void computeTikUnderflow (int64_t i, double **tabTik)
 compute Tik for xi (i=0 -> _nbSample-1) when underflow
int64_t generateRandomIndex (bool *tabIndividualCanBeUsedForInitRandom, double *weight, double totalWeight)
virtual void initForInitRANDOM ()=0
 initialize attributes before an InitRandom
virtual void initForInitUSER_PARTITION (int64_t &nbInitializedCluster, bool *tabNotInitializedCluster, Partition *initPartition)=0
double * getTabProportion () const
 get TabProportion
int64_t getNbCluster () const
 get nbCluster
int64_t getPbDimension () const
 get pbDimension
bool getFreeProportion () const
ModelgetModel () const
ModelTypegetModelType () const
virtual void setModel (Model *iModel)
 setModel , made it virtual so that composite paramter class can override it.
void setModelType (ModelType *iModeltype)
 set modeltype
const std::string & getFilename () const
void setFilename (const std::string &filename)
FormatNumeric::FormatNumericFile getFormat () const
 get Format
void setFormat (const FormatNumeric::FormatNumericFile format)
 set FormatNumeric

Protected Member Functions

void initFreeProportion (ModelType *iModelType)
void computeMeanOne (double *Mean, double *weight, double **y_Store, int64_t nbSample, double totalWeight) const
void putIdentityInDiagonalMatrix (double *mat_store)
void putIdentityInMatrix (double *mat_store)
void initDiagonalMatrixToZero (double *A_store)
double determinantDiag (double *mat_store, Exception &errorType)

Detailed Description

Base class for XEMGaussianParameter(s)

F. Langrognet

Member Function Documentation

virtual Parameter* XEM::GaussianParameter::clone ( ) const
pure virtual
void XEM::GaussianParameter::computeMeanOne ( double *  Mean,
double *  weight,
double **  y_Store,
int64_t  nbSample,
double  totalWeight 
) const

compute Mean when only one cluster called by initRANDOM, getLogLikelihoodOne

compute Mean when there is only one cluster called by initRANDOM, getLogLikelihoodOne

Here is the caller graph for this function:

void XEM::GaussianParameter::computeTabMeanInitUSER_PARTITION ( int64_t &  nbInitializedCluster,
bool *  tabNotInitializedCluster,
Partition initPartition 

Compute table of means of the samples for each cluster in initUSER_PARTITION case outputs :

  • nbInitializedCluster
  • tabNotInitializedCluster (array of size _nbCluster)

Here is the call graph for this function:

Here is the caller graph for this function:

virtual double XEM::GaussianParameter::getPdf ( Sample x,
int64_t  kCluster 
) const
pure virtual

Compute normal probability density function for x vector and kCluster th cluster

Implements XEM::Parameter.

Implemented in XEM::GaussianHDDAParameter, and XEM::GaussianEDDAParameter.

Matrix ** XEM::GaussianParameter::getTabWk ( ) const

get TabSigma


Table of cluster scattering matrices Wk

Here is the caller graph for this function:

Matrix * XEM::GaussianParameter::getW ( ) const


Scattering matrix W

Here is the caller graph for this function:

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