Main Page | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

CLUS::SimpleNormalDistribution Class Reference

Implements a unidimensional normal distribution but the "active" dimension can be specified. More...

#include <simplenormaldistribution.h>

Inheritance diagram for CLUS::SimpleNormalDistribution:

Inheritance graph
[legend]
Collaboration diagram for CLUS::SimpleNormalDistribution:

Collaboration graph
[legend]

Public Member Functions

 SimpleNormalDistribution (int InDim=0, int Dimension=0)
 SimpleNormalDistribution (int InDim, int Dimension, double Alpha, double Mu, double Sigma)
double LearnProbability (const double *DataCache)
 Probability that a point belongs to this distribution at learning, unnormalized.

double NormalizeLearnProbability (double Coef, int nrClus=1)
 InferProbability is not defined for this distribution.

double Probability (const double *DataCache)
double NormalizeProbability (double Coef, int nrClus=1)
 Makes the simple normalization of the probability not more sophisticated version that can be later added.

void UpdateStatistics (const double *DataCache, double prob)
double UpdateParameters (void)
 Computes the values of the new parameters from sufficient statistics.

void UpdateANOVAElements (int &numNonzero, double &SSR, double &n, double &sumS_x_overS, double &sumS_x)
void RandomDistribution (int NrClusters)
 Random initialization of a distribution.


Static Public Member Functions

string TypeName (void)

Protected Attributes

double mu
 expected value

double variance
 the variance of the distribution = sigma^2

int dimension
 the active dimention

int N
 number of datapoints

double S
 sum of probabilities

double S_x
 sum prob*x

double S_x2
 sum prob*x^2

double alpha_over_sigma
 alpha/(sqrt(2PI)*sigma)


Detailed Description

Implements a unidimensional normal distribution but the "active" dimension can be specified.

Definition at line 47 of file simplenormaldistribution.h.


Constructor & Destructor Documentation

CLUS::SimpleNormalDistribution::SimpleNormalDistribution int  InDim = 0,
int  Dimension = 0
[inline]
 

Definition at line 75 of file simplenormaldistribution.h.

CLUS::SimpleNormalDistribution::SimpleNormalDistribution int  InDim,
int  Dimension,
double  Alpha,
double  Mu,
double  Sigma
[inline]
 

Definition at line 79 of file simplenormaldistribution.h.


Member Function Documentation

double CLUS::SimpleNormalDistribution::LearnProbability const double *  DataCache  )  [inline]
 

Probability that a point belongs to this distribution at learning, unnormalized.

Reimplemented from CLUS::Distribution.

Definition at line 86 of file simplenormaldistribution.h.

Referenced by Probability().

double CLUS::SimpleNormalDistribution::NormalizeLearnProbability double  Coef,
int  nrClus = 1
[inline]
 

InferProbability is not defined for this distribution.

Reimplemented from CLUS::Distribution.

Definition at line 97 of file simplenormaldistribution.h.

double CLUS::SimpleNormalDistribution::NormalizeProbability double  Coef,
int  nrClus = 1
[inline]
 

Makes the simple normalization of the probability not more sophisticated version that can be later added.

Reimplemented from CLUS::Distribution.

Definition at line 111 of file simplenormaldistribution.h.

double CLUS::SimpleNormalDistribution::Probability const double *  DataCache  )  [inline]
 

Todo:
to redefine these two since they are not virtual so the wrong methods are called

Reimplemented from CLUS::Distribution.

Definition at line 106 of file simplenormaldistribution.h.

void CLUS::SimpleNormalDistribution::RandomDistribution int  NrClusters  )  [inline]
 

Random initialization of a distribution.

Reimplemented from CLUS::Distribution.

Definition at line 183 of file simplenormaldistribution.h.

string CLUS::SimpleNormalDistribution::TypeName void   )  [inline, static]
 

Reimplemented from CLUS::Distribution.

Definition at line 177 of file simplenormaldistribution.h.

void CLUS::SimpleNormalDistribution::UpdateANOVAElements int &  numNonzero,
double &  SSR,
double &  n,
double &  sumS_x_overS,
double &  sumS_x
[inline]
 

Definition at line 165 of file simplenormaldistribution.h.

double CLUS::SimpleNormalDistribution::UpdateParameters void   )  [inline]
 

Computes the values of the new parameters from sufficient statistics.

Reimplemented from CLUS::Distribution.

Definition at line 124 of file simplenormaldistribution.h.

void CLUS::SimpleNormalDistribution::UpdateStatistics const double *  DataCache,
double  prob
[inline]
 

Definition at line 116 of file simplenormaldistribution.h.

Referenced by NormalizeLearnProbability().


Field Documentation

double CLUS::SimpleNormalDistribution::alpha_over_sigma [protected]
 

alpha/(sqrt(2PI)*sigma)

Definition at line 72 of file simplenormaldistribution.h.

Referenced by LearnProbability(), RandomDistribution(), SimpleNormalDistribution(), and UpdateParameters().

int CLUS::SimpleNormalDistribution::dimension [protected]
 

the active dimention

Definition at line 57 of file simplenormaldistribution.h.

Referenced by LearnProbability(), SimpleNormalDistribution(), and UpdateStatistics().

double CLUS::SimpleNormalDistribution::mu [protected]
 

expected value

Definition at line 51 of file simplenormaldistribution.h.

Referenced by LearnProbability(), RandomDistribution(), SimpleNormalDistribution(), UpdateANOVAElements(), and UpdateParameters().

int CLUS::SimpleNormalDistribution::N [protected]
 

number of datapoints

Definition at line 60 of file simplenormaldistribution.h.

Referenced by SimpleNormalDistribution(), UpdateParameters(), and UpdateStatistics().

double CLUS::SimpleNormalDistribution::S [protected]
 

sum of probabilities

Definition at line 63 of file simplenormaldistribution.h.

Referenced by SimpleNormalDistribution(), UpdateANOVAElements(), UpdateParameters(), and UpdateStatistics().

double CLUS::SimpleNormalDistribution::S_x [protected]
 

sum prob*x

Definition at line 66 of file simplenormaldistribution.h.

Referenced by SimpleNormalDistribution(), UpdateANOVAElements(), UpdateParameters(), and UpdateStatistics().

double CLUS::SimpleNormalDistribution::S_x2 [protected]
 

sum prob*x^2

Definition at line 69 of file simplenormaldistribution.h.

Referenced by SimpleNormalDistribution(), UpdateParameters(), and UpdateStatistics().

double CLUS::SimpleNormalDistribution::variance [protected]
 

the variance of the distribution = sigma^2

Definition at line 54 of file simplenormaldistribution.h.

Referenced by LearnProbability(), RandomDistribution(), SimpleNormalDistribution(), UpdateANOVAElements(), and UpdateParameters().


The documentation for this class was generated from the following file:
Generated on Mon Jul 21 16:57:52 2003 for SECRET by doxygen 1.3.2