|
C++ main module for mmsd Package
1.0
|
This class is a Gaussian Cluster wich is a specialization of MMSD_GaussianCluster. More...
#include <MMSD_ConstraintGaussianCluster.h>


Public Member Functions | |
| virtual tString | toString () const |
| turn the class into string More... | |
| void | computeMultivariateDensity (double *Pk) const |
| compute the probabities of samples to be in cluster This More... | |
| void | computeMultivariateDensity (MMSD_DoubleVector &Pk) const |
| compute the probabities of samples to be in cluster This More... | |
| void | updateWeights (const MMSD_DoubleVector &probs) |
| update the weights of the cluster More... | |
| void | updateFreedomDegrees (const MMSD_DoubleVector &probs) |
| update the freedom degrees More... | |
| void | setWeightInitializationType (const tString &type, const double &shape, const double &rate) |
| set the weight initialization type More... | |
| void | setWeightInitializationType (const tFlag &t, const double &shape, const double &rate) |
| set the weight initialization type More... | |
| void | setWeightInitializationType (const tFlag &t) |
| set the weight initialization type More... | |
| void | setMaxFreedomDegreeValue (const double &v) |
| set the max freedom degree value More... | |
| double | getMaxFreedomDegreeValue () const |
| get the max freedom degree value More... | |
| double | getRate () const |
| get rate of the cluster which is the percent of samples in this cluster. More... | |
| const MMSD_DoubleFullMatrix & | getWeights () const |
| get the weight of sample 's property of size NxP More... | |
| const MMSD_DoubleVector & | getFreedomDegrees () const |
| get the freedom degree of property of size P More... | |
| void | setLaw (SP::MMSD_Law law) |
| set the law More... | |
| const MMSD_Law * | getLaw () const |
| get the law More... | |
| tBoolean | isEmpty () const |
| return true is the cluster is empty More... | |
| virtual void | restore (const MMSD_DoubleFullMatrix &properties) |
| restore the unstored values after a backup More... | |
| virtual void | initialize (const int &clusterIndex, const MMSD_IntegerVector &clusterIndexSamples, const MMSD_DoubleFullMatrix &properties) |
| initialize the cluster More... | |
| void | updateRate (const MMSD_DoubleVector &clusterProbabilitiesSamples) |
| update the rate of the cluster More... | |
| void | updateLaw (const MMSD_DoubleFullMatrix &properties, const MMSD_DoubleVector &probs) |
| update the law parameters More... | |
| void | sort () |
| sort the freedom degrees with respect to the law More... | |
| void | setHasBeenLoaded (const tBoolean &v) |
| set the if the object has completely been loaded More... | |
| tBoolean | hasBeenLoaded () const |
| return true if the object has completely been loaded More... | |
| void | getSharedPointer (SP::CORE_Object &p) |
| get the shared pointer of this class into p More... | |
| void | getSharedPointer (SPC::CORE_Object &p) const |
| get the shared pointer of this class into p More... | |
| tString | getClassName () const |
| return the class name of the object More... | |
| tString | getIdentityString () const |
| return the identity string of the object of the form className_at_address More... | |
| tString | getPointerAddress () const |
| return the identity string of the object More... | |
| template<class T > | |
| tBoolean | isInstanceOf () const |
| return true if the object is an instance of T More... | |
| virtual void | print () |
| print the class More... | |
| virtual ostream & | print (ostream &out) const |
| print the class More... | |
| virtual void | print (const tString &message) |
| print the class More... | |
| virtual void | print (const tInteger &str) |
| print More... | |
| virtual void | print (const tRelativeInteger &str) |
| print More... | |
| virtual void | print (const tReal &str) |
| print More... | |
| virtual void | print (const int &str) |
| print More... | |
Static Public Member Functions | |
| static SP::MMSD_ConstraintGaussianCluster | New () |
| create an instance of gaussian law More... | |
| static void | initSeed (const long int &v) |
| init the seed with v value More... | |
| static void | initSeed () |
| init the seed More... | |
| static tString | getClassName (const tString &identityString) |
| return the class name of the object using only the identity string More... | |
| template<class T > | |
| static tString | getTypeName () |
| get type name More... | |
| static tBoolean | is64Architecture () |
| return true if the machine is a 64 bits machine More... | |
| static tBoolean | is32Architecture () |
| return true if the machine is a 32 bits machine More... | |
| static tString | pointer2String (const void *obj) |
| return the string represantation of a pointer More... | |
| static void | setOutput (ostream &out) |
| set output More... | |
| static ostream & | getOutput () |
| get output More... | |
| static void | printObjectsInMemory () |
| print object in memory More... | |
| static ostream & | print (ostream &out, const tString &message) |
| print the class More... | |
| static void | outputPrint (const tString &message) |
Static Public Attributes | |
| static tBoolean | mIsMemoryTesting =false |
| indicator to store all classes created and deleted only for debuging version More... | |
Protected Member Functions | |
| MMSD_ConstraintGaussianCluster (void) | |
| create an object More... | |
| virtual | ~MMSD_ConstraintGaussianCluster (void) |
| destroy an object. More... | |
| virtual void | updateFreedomDegrees (const MMSD_DoubleFullMatrix &W, const MMSD_DoubleVector &probs, const double &maxFD, MMSD_DoubleVector &nus) |
| update the freedom degrees from weights & probabilities. More... | |
| MATH_Equation & | getSolver () |
| get the solver More... | |
| MMSD_GaussianFDFunction & | getFunction () |
| get the function to find zero More... | |
| virtual void | computeMultivariateDensity (const MMSD_DoubleFullMatrix &YP, const MMSD_DoubleFullMatrix &P, const MMSD_DoubleVector &D, const MMSD_DoubleVector &mean, const MMSD_DoubleVector &nu, double *Pk) const |
| compute the probabities of samples to be in cluster This from law, freedom degrees & weights More... | |
| virtual void | updateWeights (const MMSD_DoubleFullMatrix &YP, const MMSD_DoubleFullMatrix &P, const MMSD_DoubleVector &Diag, const MMSD_DoubleVector &mean, const MMSD_DoubleVector &nus, const MMSD_DoubleVector &probs, MMSD_DoubleFullMatrix &W) const |
| compute the weights from law, freedom degrees & probabilites More... | |
| virtual void | saveToUIClass (UI_Class &mclass) const |
| how to save the object from a mate model class More... | |
| virtual void | loadFromUIClass (const UI_Class &mclass) |
| how to load the object from a Meta Model class More... | |
| void | setThis (SP::CORE_Object p) |
| set this weak shared pointer called toDoAfterThis setting method More... | |
| virtual void | setType (tString type) |
| set the type of the object More... | |
| virtual void | toDoAfterThisSetting () |
| method called after setThis() method this method can oly be called once. More... | |
This class is a Gaussian Cluster wich is a specialization of MMSD_GaussianCluster.
It defines the updating of freedomDegree: see MMSD_ConstraintGaussianCluster::updateFreedomDegrees()
|
protected |
create an object
References CORE_Object::setType().
Referenced by New().


|
protectedvirtual |
destroy an object.
|
protectedvirtualinherited |
compute the probabities of samples to be in cluster This from law, freedom degrees & weights
| YP | : Y.P matrix of size NxP |
| P | : P eigen value decomposition matrix of cov(Y) of size PXP |
| D | : D eigen value decomposition diagonal matrix of cov(Y) of size P |
| mean | : mean value of the properties cluster of size P |
| nu | : freedom degrees of the cluster of size P |
| Pk | : output vector which is the probability of the sample i to be in the cluster This. Must be of size N Pk=0 for j in [0,P[
|
Implements MMSD_Cluster.
References MATH_LogGammaFunction::ComputeFunction(), LAP_DoubleFullGeneralMatrix::getColumnByReference(), LAP_DoubleFullGeneralMatrix::getColumnsNumber(), LAP_DoubleFullGeneralMatrix::getRowsNumber(), LAP_ConstVector< T >::getValues(), and LAP_ConstDoubleVector::product().

|
inlineinherited |
compute the probabities of samples to be in cluster This
Referenced by MMSD_Cluster::computeMultivariateDensity(), and MMSD_Model::computeSampleClusterProbabilities().

|
inlineinherited |
compute the probabities of samples to be in cluster This
References MMSD_Cluster::computeMultivariateDensity(), LAP_Vector< T >::getValues(), and LAP_Vector< T >::setSize().

return the class name of the object using only the identity string
Referenced by UI_Class::createVector2D(), LAP_DoublePackedUpperMatrix::matrixProduct(), LAP_DoubleBandedUpperMatrix::matrixProduct(), LAP_DoubleFullUpperMatrix::matrixProduct(), and CORE_Object::printObjectsInMemory().

|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString().

|
inlineinherited |
get the freedom degree of property of size P
|
inlineprotectedinherited |
get the function to find zero
Referenced by updateFreedomDegrees(), and MMSD_GaussianCluster::updateFreedomDegrees().

|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by UI_Class::createPrimitiveMap(), UI_Class::saveAssociation(), UI_Class::saveClass(), UI_ClassFactory::saveIntoClass(), MATH_StiefelFunction::toString(), LAP_2DView::toString(), CORE_Object::toString(), MATH_StiefelOptimizer::toString(), and MM_Class::toString().


|
inlineinherited |
get the law
|
inlineinherited |
get the max freedom degree value
Referenced by MMSD_GaussianCluster::MMSD_GaussianCluster().

|
inlinestaticinherited |
get output
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().

|
inlineinherited |
get rate of the cluster which is the percent of samples in this cluster.
Referenced by MMSD_Model::computeSampleClusterProbabilities().

|
inlineinherited |
get the shared pointer of this class into p
Referenced by CORE_Map< Key, Value >::getSharedPointer(), CORE_Array< tFlag >::getSharedPointer(), LAP_ConstVector< lapack_real >::getSharedPointer(), STAT_Combinatorial< T >::getSharedPointer(), LAP_Vector< lapack_int >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), CORE_Matrix< T >::getSharedPointer(), and CORE_Object::printObjectsInMemory().

|
inlineinherited |
get the shared pointer of this class into p
|
inlineprotectedinherited |
get the solver
Referenced by updateFreedomDegrees(), and MMSD_GaussianCluster::updateFreedomDegrees().

|
inlinestaticinherited |
get type name
References tString.
|
inlineinherited |
get the weight of sample 's property of size NxP
|
inlineinherited |
return true if the object has completely been loaded
Referenced by UI_Class::loadAssociation().

|
virtualinherited |
initialize the cluster
| clusterIndex | index of the cluster This |
| clusters | : clusters index of size N for each samples |
| properties | matrix Y of properties of size N x P |
References LAP_DoubleFullGeneralMatrix::getColumnsNumber(), LAP_DoubleFullGeneralMatrix::getRowsNumber(), LAP_DoubleMatrix::getStorage(), LAP_DoubleMatrixStorage::getValues(), LAP_Vector< T >::getValues(), STAT_GammaDistribution::New(), null, LAP_DoubleFullGeneralMatrix::setSize(), and LAP_Vector< T >::setSize().

|
staticinherited |
init the seed with v value
References STAT_Distribution::initSeed().

|
staticinherited |
init the seed
References CORE_Time::getTime().
Referenced by MMSD_Object::MMSD_Object(), testGaussianLaw11N(), testGaussianLaw1PN(), and testGaussianLaw2PN().


|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::is64Architecture().

|
staticinherited |
return true if the machine is a 64 bits machine
Referenced by CORE_Object::is32Architecture().

|
inlineinherited |
return true is the cluster is empty
Referenced by MMSD_Model::esperanceEvaluation().

|
inlineinherited |
return true if the object is an instance of T
References null.
|
protectedvirtualinherited |
how to load the object from a Meta Model class
Reimplemented from UI_Object.
References UI_Class::getInterfaceType(), UI_Class::loadAssociation(), UI_Class::loadField(), UI_Class::loadFullMatrixField(), LAP_DoubleFullGeneralMatrix::setValues(), LAP_Vector< T >::setValues(), and tBoolean.

|
inlinestatic |
create an instance of gaussian law
References MMSD_ConstraintGaussianCluster().
Referenced by MMSD_ConstraintGaussianModel::NewClusterInstance().


|
staticinherited |
print on output
References null, and CORE_Object::print().
Referenced by CORE_Exception::CORE_Exception().


|
staticinherited |
return the string represantation of a pointer
References tString.
Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), and CORE_Object::~CORE_Object().

|
inlinevirtualinherited |
print the class
References CORE_Object::toString().
Referenced by CORE_Object::outputPrint(), CORE_Out::print(), CORE_Object::print(), CORE_Out::printInt(), CORE_Out::println(), CORE_Out::printReal(), CORE_Out::printString(), and CORE_Out::setAction().


|
inlinevirtualinherited |
print the class
References CORE_Object::print(), and CORE_Object::toString().

|
virtualinherited |
print the class
Reimplemented in CORE_Out.
References null, and CORE_Object::print().

|
virtualinherited |
References null.
|
virtualinherited |
References null.
|
inlinestaticinherited |
print the class
|
staticinherited |
print object in memory
References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.
Referenced by main().


|
virtualinherited |
restore the unstored values after a backup
|
protectedvirtualinherited |
how to save the object from a mate model class
Reimplemented from UI_Object.
References LAP_DoubleFullGeneralMatrix::getColumnsNumber(), UI_Class::getInterfaceType(), LAP_DoubleFullGeneralMatrix::getRowsNumber(), LAP_Vector< T >::getSize(), LAP_DoubleMatrix::getStorage(), LAP_DoubleMatrixStorage::getValues(), LAP_Vector< T >::getValues(), UI_Class::saveAssociation(), UI_Class::saveField(), and UI_Class::saveFullMatrixField().

|
inlineinherited |
set the if the object has completely been loaded
Referenced by UI_Class::loadAssociation().

|
inlineinherited |
set the law
|
inlineinherited |
set the max freedom degree value
| v | max freedom value |
By default set to 299
|
inlinestaticinherited |
set output
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
References CORE_Object::toDoAfterThisSetting().

|
inlineprotectedvirtualinherited |
set the type of the object
Referenced by LAP_IntegerVector::LAP_IntegerVector(), MATH_BetaFunction::MATH_BetaFunction(), MATH_C1Function::MATH_C1Function(), MATH_DigammaFunction::MATH_DigammaFunction(), MATH_EigenFunction::MATH_EigenFunction(), MATH_Equation::MATH_Equation(), MATH_Function::MATH_Function(), MATH_GammaFunction::MATH_GammaFunction(), MATH_KeplerFunction::MATH_KeplerFunction(), MATH_LogGammaFunction::MATH_LogGammaFunction(), MATH_NewtonEquation::MATH_NewtonEquation(), MATH_StiefelFunction::MATH_StiefelFunction(), MATH_StiefelOptimizer::MATH_StiefelOptimizer(), MATH_TranscendentEquation::MATH_TranscendentEquation(), MATH_TrigammaFunction::MATH_TrigammaFunction(), MATH_ZeroEquation::MATH_ZeroEquation(), MATH_ZKeplerFunction::MATH_ZKeplerFunction(), MM_Attribute::MM_Attribute(), MM_Class::MM_Class(), MM_ClassFactory::MM_ClassFactory(), MM_Data::MM_Data(), MM_Structure::MM_Structure(), MMSD_ClassFactory::MMSD_ClassFactory(), MMSD_Cluster::MMSD_Cluster(), MMSD_ConstDoubleVector::MMSD_ConstDoubleVector(), MMSD_ConstraintGaussianCluster(), MMSD_ConstraintGaussianModel::MMSD_ConstraintGaussianModel(), MMSD_DataSet::MMSD_DataSet(), MMSD_DataSetClassFactory::MMSD_DataSetClassFactory(), MMSD_DoubleFullMatrix::MMSD_DoubleFullMatrix(), MMSD_DoubleSymmetricMatrix::MMSD_DoubleSymmetricMatrix(), MMSD_DoubleVector::MMSD_DoubleVector(), MMSD_FluryGautschiGaussianLaw::MMSD_FluryGautschiGaussianLaw(), MMSD_GaussianCluster::MMSD_GaussianCluster(), MMSD_GaussianFDFunction::MMSD_GaussianFDFunction(), MMSD_GaussianLaw::MMSD_GaussianLaw(), MMSD_GaussianModel::MMSD_GaussianModel(), MMSD_Law::MMSD_Law(), MMSD_Model::MMSD_Model(), MMSD_ModelClassFactory::MMSD_ModelClassFactory(), MMSD_Object::MMSD_Object(), MMSD_StiefelFunction::MMSD_StiefelFunction(), MMSD_StiefelGaussianLaw::MMSD_StiefelGaussianLaw(), STAT_BernoulliDistribution::STAT_BernoulliDistribution(), STAT_BinomialDistribution::STAT_BinomialDistribution(), STAT_Combinatorial< T >::STAT_Combinatorial(), STAT_DiracDistribution::STAT_DiracDistribution(), STAT_Distribution::STAT_Distribution(), STAT_ExponentialDistribution::STAT_ExponentialDistribution(), STAT_GammaDistribution::STAT_GammaDistribution(), STAT_GeometricDistribution::STAT_GeometricDistribution(), STAT_InverseNormalDistribution::STAT_InverseNormalDistribution(), STAT_NormalDistribution::STAT_NormalDistribution(), STAT_Object::STAT_Object(), STAT_PoissonDistribution::STAT_PoissonDistribution(), STAT_UniformDistribution::STAT_UniformDistribution(), and STAT_UniformLaplaceTransform::STAT_UniformLaplaceTransform().

|
inlineinherited |
set the weight initialization type
| type | of weight initialization ["gamma" or "constant"] |
| shape | : parameter for statistic function weight initialization |
| rate | : parameter for statistic function weight initialization |
References CORE_String::toLower(), and tString.
Referenced by MMSD_Cluster::setWeightInitializationType().


|
inlineinherited |
set the weight initialization type
| type | of weight initialization MMSD_Cluster::GAMMA_WEIGHT_INITIALIZATION, MMSD_Cluster::CONSTANT_WEIGHT_INITIALIZATION |
| shape | : parameter for statistic function weight initialization |
| rate | : parameter for statistic function weight initialization |
|
inlineinherited |
set the weight initialization type
| type | of weight initialization MMSD_Cluster::GAMMA_WEIGHT_INITIALIZATION, MMSD_Cluster::CONSTANT_WEIGHT_INITIALIZATION |
References MMSD_Cluster::setWeightInitializationType().

|
inlineinherited |
sort the freedom degrees with respect to the law
Referenced by MMSD_Model::esperanceMaximization().

|
inlineprotectedvirtualinherited |
method called after setThis() method this method can oly be called once.
Reimplemented in STAT_UniformLaplaceTransform.
Referenced by CORE_Object::setThis(), and STAT_UniformLaplaceTransform::toDoAfterThisSetting().

|
inlinevirtual |
turn the class into string
Reimplemented from MMSD_GaussianCluster.
References MMSD_GaussianCluster::toString(), and tString.

|
protectedvirtual |
update the freedom degrees from weights & probabilities.
| W | weights of the cluster of size NxP |
| probs | : probability of each sample to be in This cluster of size N |
| maxFD | max value of freedom degrees see MMSD_Cluster::setMaxFreedomDegreeValue() |
| nus | value of freedom degree of size P |
(see MMSD_GaussianFDFunction::compute() && MATH_Equation::solve() )
Reimplemented from MMSD_GaussianCluster.
References MMSD_GaussianCluster::getFunction(), LAP_Vector< T >::getSize(), MMSD_GaussianCluster::getSolver(), LAP_DoubleMatrix::getStorage(), LAP_DoubleMatrixStorage::getValues(), LAP_Vector< T >::getValues(), null, MMSD_GaussianFDFunction::setParameters(), MATH_Equation::solve(), and LAP_DoubleVector::sum().

|
inlineinherited |
update the freedom degrees
Referenced by MMSD_Model::esperanceMaximization().

|
inlineinherited |
update the law parameters
Referenced by MMSD_Model::esperanceMaximization().

|
inherited |
update the rate of the cluster
| clusterProbabilitiesSamples | probability of each sample to be in this cluster |
References LAP_Vector< T >::getSize(), and LAP_Vector< T >::getValues().
Referenced by MMSD_Model::esperanceEvaluation().


|
protectedvirtualinherited |
compute the weights from law, freedom degrees & probabilites
| YP | : Y.P matrix of size NxP |
| P | : P eigen value decomposition matrix of cov(Y) of size PXP |
| D | : D eigen value decomposition diagonal matrix of cov(Y) of size P |
| mean | : mean value of the properties cluster of size P |
| nu | : freedom degrees of the cluster of size P |
| probs | : probability of the sample i in(0,N[ to be in the cluster This. |
| W | : output weight matrix of size NxP |
for j in [0,P[
Implements MMSD_Cluster.
References LAP_DoubleFullGeneralMatrix::getColumnByReference(), LAP_DoubleFullGeneralMatrix::getColumnsNumber(), LAP_Vector< T >::getSize(), LAP_ConstDoubleVector::product(), and LAP_DoubleFullGeneralMatrix::setSize().

|
inlineinherited |
update the weights of the cluster
Referenced by MMSD_Model::esperanceEvaluation().

|
staticinherited |
indicator to store all classes created and deleted only for debuging version
Referenced by CORE_Object::CORE_Object(), main(), CORE_Object::printObjectsInMemory(), and CORE_Object::~CORE_Object().
1.8.8