class Distribution

This class is designed to handle generative distribution models such as Gaussian Mixture Models and Hidden Markov Models.

Inheritance:


Public Fields

[more]real log_probability
the log likelihood
[more]Sequence* log_probabilities
the log likelihood for each frame when available

Public Methods

[more] Distribution(int n_inputs_, int n_params_=0)
[more]virtual real logProbability(Sequence* inputs)
Returns the log probability of a sequence represented by inputs
[more]virtual real viterbiLogProbability(Sequence* inputs)
Returns the viterbi score of a sequence represented by inputs
[more]virtual real frameLogProbability(int t, real* f_inputs)
Returns the log probability of a frame of a sequence
[more]virtual real viterbiFrameLogProbability(int t, real* f_inputs)
Returns the log probability of a frame of a sequence on viterbi mode
[more]virtual void eMIterInitialize()
Methods used to initialize the model at the beginning of each EM iteration
[more]virtual void iterInitialize()
Methods used to initialize the model at the beginning of each gradient descent iteration
[more]virtual void eMSequenceInitialize(Sequence* inputs)
Methods used to initialize the model at the beginning of each example during EM training
[more]virtual void sequenceInitialize(Sequence* inputs)
Methods used to initialize the model at the beginning of each example during gradient descent training
[more]virtual void eMAccPosteriors(Sequence* inputs, real log_posterior)
The backward step of EM for a sequence
[more]virtual void frameEMAccPosteriors(int t, real* f_inputs, real log_posterior)
The backward step of EM for a frame
[more]virtual void viterbiAccPosteriors(Sequence* inputs, real log_posterior)
The backward step of Viterbi learning for a sequence
[more]virtual void frameViterbiAccPosteriors(int t, real* f_inputs, real log_posterior)
The backward step of Viterbi for a frame
[more]virtual void eMUpdate()
The update after each iteration for EM
[more]virtual void update()
The update after each gradient iteration
[more]virtual void decode(Sequence* inputs)
For some distribution like SpeechHMM, decodes the most likely path
[more]virtual void eMForward(Sequence* inputs)
Same as forward, but for EM
[more]virtual void viterbiForward(Sequence* inputs)
Same as forward, but for Viterbi
[more]virtual void frameBackward(int t, real* f_inputs, real* beta_, real* f_outputs, real* alpha_)
Same as backward, but for one frame only
[more]virtual void viterbiBackward(Sequence* inputs, Sequence* alpha)
Same as backward, but for Viterbi
[more]virtual void frameDecision(int t, real* decision)
Returns the decision of a frame of a sequence

Public Members

[more] Returns the decision of the distribution


Inherited from GradientMachine:

Public Fields

oint n_inputs
oint n_outputs
oParameters* params
oParameters* der_params
oSequence* beta

Public Methods

ovirtual void forward(Sequence* inputs)
ovirtual void backward(Sequence* inputs, Sequence* alpha)
ovirtual void setPartialBackprop(bool flag=true)
ovirtual void frameForward(int t, real* f_inputs, real* f_outputs)
ovirtual void loadXFile(XFile* file)
ovirtual void saveXFile(XFile* file)


Inherited from Machine:

Public Fields

oSequence* outputs

Public Methods

ovirtual void reset()
ovirtual void setDataSet(DataSet* dataset_)


Inherited from Object:

Public Fields

oAllocator* allocator

Public Methods

ovoid addOption(const char* name, int size, void* ptr, const char* help="")
ovoid addIOption(const char* name, int* ptr, int init_value, const char* help="")
ovoid addROption(const char* name, real* ptr, real init_value, const char* help="")
ovoid addBOption(const char* name, bool* ptr, bool init_value, const char* help="")
ovoid addOOption(const char* name, Object** ptr, Object* init_value, const char* help="")
ovoid setOption(const char* name, void* ptr)
ovoid setIOption(const char* name, int option)
ovoid setROption(const char* name, real option)
ovoid setBOption(const char* name, bool option)
ovoid setOOption(const char* name, Object* option)
ovoid load(const char* filename)
ovoid save(const char* filename)
ovoid* operator new(size_t size, Allocator* allocator_=NULL)
ovoid* operator new(size_t size, Allocator* allocator_, void* ptr_)
ovoid operator delete(void* ptr)


Documentation

This class is designed to handle generative distribution models such as Gaussian Mixture Models and Hidden Markov Models. As distribution inherits from GradientMachine, they can be trained by gradient descent or by Expectation Maximization (EM) or even Viterbi.

Note that the output of a distribution is the negative log likelihood.

oreal log_probability
the log likelihood

oSequence* log_probabilities
the log likelihood for each frame when available

o Distribution(int n_inputs_, int n_params_=0)

ovirtual real logProbability(Sequence* inputs)
Returns the log probability of a sequence represented by inputs

ovirtual real viterbiLogProbability(Sequence* inputs)
Returns the viterbi score of a sequence represented by inputs

ovirtual real frameLogProbability(int t, real* f_inputs)
Returns the log probability of a frame of a sequence

ovirtual real viterbiFrameLogProbability(int t, real* f_inputs)
Returns the log probability of a frame of a sequence on viterbi mode

ovirtual void eMIterInitialize()
Methods used to initialize the model at the beginning of each EM iteration

ovirtual void iterInitialize()
Methods used to initialize the model at the beginning of each gradient descent iteration

ovirtual void eMSequenceInitialize(Sequence* inputs)
Methods used to initialize the model at the beginning of each example during EM training

ovirtual void sequenceInitialize(Sequence* inputs)
Methods used to initialize the model at the beginning of each example during gradient descent training

ovirtual void eMAccPosteriors(Sequence* inputs, real log_posterior)
The backward step of EM for a sequence

ovirtual void frameEMAccPosteriors(int t, real* f_inputs, real log_posterior)
The backward step of EM for a frame

ovirtual void viterbiAccPosteriors(Sequence* inputs, real log_posterior)
The backward step of Viterbi learning for a sequence

ovirtual void frameViterbiAccPosteriors(int t, real* f_inputs, real log_posterior)
The backward step of Viterbi for a frame

ovirtual void eMUpdate()
The update after each iteration for EM

ovirtual void update()
The update after each gradient iteration

ovirtual void decode(Sequence* inputs)
For some distribution like SpeechHMM, decodes the most likely path

ovirtual void eMForward(Sequence* inputs)
Same as forward, but for EM

ovirtual void viterbiForward(Sequence* inputs)
Same as forward, but for Viterbi

ovirtual void frameBackward(int t, real* f_inputs, real* beta_, real* f_outputs, real* alpha_)
Same as backward, but for one frame only

ovirtual void viterbiBackward(Sequence* inputs, Sequence* alpha)
Same as backward, but for Viterbi

o Returns the decision of the distribution
Returns the decision of the distribution

ovirtual void frameDecision(int t, real* decision)
Returns the decision of a frame of a sequence


Direct child classes:
TableLookupDistribution
SpeechMLPDistr
ParzenDistribution
Multinomial
HMM
DiagonalGMM
Author:
Samy Bengio (bengio@idiap.ch)

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.