class KMeans

This class can be used to do a "kmeans" on a given set of data.

Inheritance:


Public Fields

[more]Sequence* min_cluster
for each example, keep the index of the neirest cluster

Public Methods

[more] KMeans(int n_inputs, int n_gaussians_)
[more]virtual real frameLogProbability(int t, real* inputs)
note that this method returns in fact the euclidean distance between the observation and the neirest cluster
[more]virtual real frameLogProbabilityOneGaussian(int g, real* inputs)
similarly to frameLogProbability, this method returns the euclidean distance between cluster g and the given observation

Public Members

[more] initialize the parameters from the data set to false if you


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 setDataSet(DataSet* data_)
ovirtual void setVarThreshold(real* var_threshold_)
ovirtual void eMIterInitialize()
ovirtual void iterInitialize()
ovirtual real viterbiFrameLogProbability(int t, real* inputs)
ovirtual void sequenceInitialize(Sequence* inputs)
ovirtual void eMSequenceInitialize(Sequence* inputs)
ovirtual void frameEMAccPosteriors(int t, real* inputs, real log_posterior)
ovirtual void frameViterbiAccPosteriors(int t, real* inputs, real log_posterior)
ovirtual void eMUpdate()
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 can be used to do a "kmeans" on a given set of data. It has been implemented in the framework of a Distribution that can be trained with EM. This means that the kmeans distance is in fact returned by the method logProbability.

Note that as KMeans is a subclass of DiagonalGMM, they share the same parameter structure. Hence, a DiagonalGMM can be easily initialized by a KMeans.

oSequence* min_cluster
for each example, keep the index of the neirest cluster

o initialize the parameters from the data set to false if you
initialize the parameters from the data set to false if you

o KMeans(int n_inputs, int n_gaussians_)

ovirtual real frameLogProbability(int t, real* inputs)
note that this method returns in fact the euclidean distance between the observation and the neirest cluster

ovirtual real frameLogProbabilityOneGaussian(int g, real* inputs)
similarly to frameLogProbability, this method returns the euclidean distance between cluster g and the given observation


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

Alphabetic index HTML hierarchy of classes or Java



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