MultiMixGaussian Class Reference

Public Member Functions | |
~MultiMixGaussian () | |
MultiMixGaussian (FeaturePoolInfo *infoBlock, int dim=ASR_DEFAULT_VECTORSIZE) | |
MultiMixGaussian (FILE *inFile, int dim) | |
MultiMixGaussian (FILE *inFile, FeaturePoolInfo *infoBlock, int dim) | |
MultiMixGaussian (MixGaussian *org) | |
MultiMixGaussian (MixGaussian *model1, MixGaussian *model2) | |
MultiMixGaussian (MixGaussian *model1, MixGaussian *model2, double rate) | |
virtual void | storeData (FILE *outFile) |
virtual void | mergeMixGaussians (MixGaussian *model1, MixGaussian *model2) |
virtual double | getP (Vector *observation) |
virtual double | getLogP (Vector *observation) |
virtual int | getNumberOfGaussians (void) |
virtual void | addGaussian (Vector *vector) |
virtual void | train (MixGaussian *trainMG) |
virtual void | train (bool useKMeans, double weight, Vector *observation, MixGaussian *doSat=NULL) |
virtual int | trainFinish (bool neverSplit=false, double minVar=GAUSSIAN_VARIANCE_MINIMUM) |
virtual bool | splitBestGaussian (bool alwaysSplit=false) |
virtual void | shiftBestGaussian (int shiftFactor) |
virtual void | copyGaussians (MixGaussian *destMixGaussian, int maxNmbr) |
virtual void | normalizeWeights (int maxGaussians=-1) |
virtual double | getLookaheadLogP (double *vectorList, int timeStamp, bool doSecondHalf) |
Protected Member Functions | |
Vector * | createVector (Vector *totVect, int nr) |
Protected Attributes | |
FeaturePoolInfo * | channelInfo |
MixGaussian ** | channels |
Vector * | theSubVector |
Detailed Description
- Todo:
- docs
Constructor & Destructor Documentation
MultiMixGaussian::~MultiMixGaussian | ( | ) |
MultiMixGaussian::MultiMixGaussian | ( | FeaturePoolInfo * | infoBlock, | |
int | dim = ASR_DEFAULT_VECTORSIZE | |||
) |
- Todo:
- docs
References channelInfo, channels, FeaturePoolInfo::lastComponent, MixGaussian::MixGaussian(), FeaturePoolInfo::numberOfChannels, and theSubVector.

MultiMixGaussian::MultiMixGaussian | ( | FILE * | inFile, | |
int | dim | |||
) |
MultiMixGaussian::MultiMixGaussian | ( | FILE * | inFile, | |
FeaturePoolInfo * | infoBlock, | |||
int | dim | |||
) |
- Todo:
- docs
References channelInfo, channels, WriteFileLittleBigEndian::freadEndianSafe(), FeaturePoolInfo::lastComponent, MixGaussian::MixGaussian(), FeaturePoolInfo::numberOfChannels, theSubVector, FeaturePoolInfo::weight, and FeaturePoolInfo::weightBackup.

MultiMixGaussian::MultiMixGaussian | ( | MixGaussian * | org | ) |
- Todo:
- docs
References channelInfo, channels, MixGaussian::MixGaussian(), FeaturePoolInfo::numberOfChannels, and theSubVector.

MultiMixGaussian::MultiMixGaussian | ( | MixGaussian * | model1, | |
MixGaussian * | model2 | |||
) |
- Todo:
- docs
References channelInfo, channels, MixGaussian::MixGaussian(), FeaturePoolInfo::numberOfChannels, and theSubVector.

MultiMixGaussian::MultiMixGaussian | ( | MixGaussian * | model1, | |
MixGaussian * | model2, | |||
double | rate | |||
) |
- Todo:
- docs
References channelInfo, channels, MixGaussian::fastP_CPandWeight_meanAndVar, MixGaussian::fastP_res, MixGaussian::MixGaussian(), FeaturePoolInfo::numberOfChannels, and theSubVector.

Member Function Documentation
void MultiMixGaussian::addGaussian | ( | Vector * | vector | ) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References MixGaussian::addGaussian(), channelInfo, channels, createVector(), and FeaturePoolInfo::numberOfChannels.

void MultiMixGaussian::copyGaussians | ( | MixGaussian * | destMixGaussian, | |
int | maxNmbr | |||
) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channelInfo, channels, MixGaussian::copyGaussians(), and FeaturePoolInfo::numberOfChannels.

- Todo:
- docs
References Vector::borrowVector(), channelInfo, FeaturePoolInfo::lastComponent, and theSubVector.
Referenced by addGaussian(), getLogP(), and train().

double MultiMixGaussian::getLogP | ( | Vector * | observation | ) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channelInfo, channels, createVector(), MixGaussian::getLogP(), FeaturePoolInfo::numberOfChannels, and FeaturePoolInfo::weight.
Referenced by getP().

double MultiMixGaussian::getLookaheadLogP | ( | double * | vectorList, | |
int | timeStamp, | |||
bool | doSecondHalf | |||
) | [virtual] |
GetLogP() returns the chance of an observation beeing produced by this mixture of gaussians (in log)
Reimplemented from MixGaussian.
References channelInfo, channels, MixGaussian::getLookaheadLogP(), FeaturePoolInfo::lastComponent, FeaturePoolInfo::numberOfChannels, and FeaturePoolInfo::weight.

int MultiMixGaussian::getNumberOfGaussians | ( | void | ) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channels, and MixGaussian::getNumberOfGaussians().

double MultiMixGaussian::getP | ( | Vector * | observation | ) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References getLogP().

void MultiMixGaussian::mergeMixGaussians | ( | MixGaussian * | model1, | |
MixGaussian * | model2 | |||
) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channelInfo, channels, MixGaussian::mergeMixGaussians(), and FeaturePoolInfo::numberOfChannels.

void MultiMixGaussian::normalizeWeights | ( | int | maxGaussians = -1 |
) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channelInfo, channels, MixGaussian::normalizeWeights(), and FeaturePoolInfo::numberOfChannels.

void MultiMixGaussian::shiftBestGaussian | ( | int | shiftFactor | ) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channelInfo, channels, FeaturePoolInfo::numberOfChannels, and MixGaussian::shiftBestGaussian().

bool MultiMixGaussian::splitBestGaussian | ( | bool | alwaysSplit = false |
) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channels, and MixGaussian::splitBestGaussian().

void MultiMixGaussian::storeData | ( | FILE * | outFile | ) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channelInfo, channels, FeaturePoolInfo::numberOfChannels, MixGaussian::storeData(), and FeaturePoolInfo::weight.

void MultiMixGaussian::train | ( | bool | useKMeans, | |
double | weight, | |||
Vector * | observation, | |||
MixGaussian * | doSat = NULL | |||
) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channelInfo, channels, createVector(), FeaturePoolInfo::numberOfChannels, and MixGaussian::train().

void MultiMixGaussian::train | ( | MixGaussian * | trainMG | ) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channelInfo, channels, FeaturePoolInfo::numberOfChannels, and MixGaussian::train().

int MultiMixGaussian::trainFinish | ( | bool | neverSplit = false , |
|
double | minVar = GAUSSIAN_VARIANCE_MINIMUM | |||
) | [virtual] |
- Todo:
- docs
Reimplemented from MixGaussian.
References channelInfo, channels, FeaturePoolInfo::numberOfChannels, and MixGaussian::trainFinish().

Member Data Documentation
FeaturePoolInfo* MultiMixGaussian::channelInfo [protected] |
MixGaussian** MultiMixGaussian::channels [protected] |
Vector* MultiMixGaussian::theSubVector [protected] |
Referenced by createVector(), and MultiMixGaussian().