class MAPDiagonalGMM

This class is a special case of a DiagonalGMM that implements the MAP algorithm instead of the EM algorithm.

Inheritance:


Public Fields

[more]DiagonalGMM* prior_distribution
The prior distribution used in MAP
[more]real weight_on_prior
The weight to give to the prior parameters during update
[more]bool learn_weights
update Gaussian's weights
[more]bool learn_variances
update Gaussian's variances
[more]bool learn_means
update Gaussian's means

Public Methods

[more] MAPDiagonalGMM(DiagonalGMM* prior_distribution_)
[more]virtual void frameViterbiAccPosteriors(int t, real* inputs, real log_posterior)
The backward step of Viterbi for a frame
[more]virtual void frameEMAccPosteriors(int t, real* inputs, real log_posterior)
The backward step of EM for a frame
[more]virtual void eMUpdate()
The update after each iteration for EM
[more]virtual void setDataSet(DataSet* data_)
Copy the parameters of the prior distribution


Inherited from DiagonalGMM:

Public Fields

oint n_gaussians
oreal prior_weights
oEMTrainer* initial_kmeans_trainer
oMeasurerList* initial_kmeans_trainer_measurers
oreal* log_weights
oreal* dlog_weights
oreal* var_threshold
oSequence* log_probabilities_g
oint best_gauss
oSequence* best_gauss_per_frame
oreal* sum_log_var_plus_n_obs_log_2_pi
oreal** minus_half_over_var
oreal** means_acc

Public Methods

ovirtual void reset()
ovirtual void setVarThreshold(real* var_threshold_)
ovirtual void eMIterInitialize()
ovirtual void iterInitialize()
ovirtual real frameLogProbability(int t, real* inputs)
ovirtual real viterbiFrameLogProbability(int t, real* inputs)
ovirtual real frameLogProbabilityOneGaussian(int g, real* inputs)
ovirtual void sequenceInitialize(Sequence* inputs)
ovirtual void eMSequenceInitialize(Sequence* inputs)
ovirtual void update()
ovirtual void frameBackward(int t, real* f_inputs, real* beta_, real* f_outputs, real* alpha_)
ovirtual void frameDecision(int t, real* decision)


Inherited from Distribution:

Public Fields

oreal log_probability
oSequence* log_probabilities

Public Methods

ovirtual real logProbability(Sequence* inputs)
ovirtual real viterbiLogProbability(Sequence* inputs)
ovirtual void eMAccPosteriors(Sequence* inputs, real log_posterior)
ovirtual void viterbiAccPosteriors(Sequence* inputs, real log_posterior)
ovirtual void decode(Sequence* inputs)
ovirtual void eMForward(Sequence* inputs)
ovirtual void viterbiForward(Sequence* inputs)
ovirtual void viterbiBackward(Sequence* inputs, Sequence* alpha)

Public Members

o 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


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 a special case of a DiagonalGMM that implements the MAP algorithm instead of the EM algorithm. This means that the mean parameters will be changed according to the Maximum A Posteriori algorithm, given a prior value of the means (through a prior DiagonalGMM given in the constructor). Moreover, the variances and weights are not changed, as experimental results tend to show that there is no effects when they are changed.

oDiagonalGMM* prior_distribution
The prior distribution used in MAP

oreal weight_on_prior
The weight to give to the prior parameters during update

obool learn_weights
update Gaussian's weights

obool learn_variances
update Gaussian's variances

obool learn_means
update Gaussian's means

o MAPDiagonalGMM(DiagonalGMM* prior_distribution_)

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

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

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

ovirtual void setDataSet(DataSet* data_)
Copy the parameters of the prior distribution


This class has no child classes.
Author:
Samy Bengio (bengio@idiap.ch) Johnny Mariethoz (Johnny.Mariethoz@idiap.ch)

Alphabetic index HTML hierarchy of classes or Java



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