Diagonal Mixture of Gaussians (MOG) class. More...
#include <itpp/stat/mog_diag.h>
Public Member Functions | |
MOG_diag () | |
Default constructor. | |
MOG_diag (const std::string &name) | |
Construct the MOG_diag object by loading the parameters from a model file. | |
MOG_diag (const int &K_in, const int &D_in, bool full_in=false) | |
construct a default model (all Gaussians have zero mean and unit variance for all dimensions) | |
MOG_diag (Array< vec > &means_in, bool) | |
Construct a model using user supplied mean vectors. | |
MOG_diag (Array< vec > &means_in, Array< vec > &diag_covs_in, vec &weights_in) | |
Construct a model using user supplied parameters (diagonal covariance version) | |
MOG_diag (Array< vec > &means_in, Array< mat > &full_covs_in, vec &weights_in) | |
Construct a model using user supplied parameters (full covariance version) | |
~MOG_diag () | |
Default destructor. | |
void | cleanup () |
Release memory used by the model. The model will be empty. | |
void | load (const std::string &name_in) |
Initialise the model by loading the parameters from a model file. | |
void | convert_to_full () |
Do nothing. Present for compatability with the MOG_generic class. | |
double | log_lhood_single_gaus (const double *c_x_in, const int k) const |
calculate the log likelihood of C vector c_x_in using only Gaussian k | |
double | log_lhood_single_gaus (const vec &x_in, const int k) const |
calculate the log likelihood of IT++ vector x_in using only Gaussian k | |
double | log_lhood (const double *c_x_in) |
calculate the log likelihood of C vector c_x_in | |
double | log_lhood (const vec &x_in) |
calculate the log likelihood of IT++ vector x_in | |
double | lhood (const double *c_x_in) |
calculate the likelihood of C vector c_x_in | |
double | lhood (const vec &x_in) |
calculate the likelihood of IT++ vector x_in | |
double | avg_log_lhood (const double **c_x_in, int N) |
calculate the average log likelihood of an array of C vectors ( c_x_in ) | |
double | avg_log_lhood (const Array< vec > &X_in) |
calculate the average log likelihood of an array of IT++ vectors ( X_in ) | |
void | init () |
Initialise the model to be empty. | |
void | init (const int &K_in, const int &D_in, bool full_in=false) |
initialise the model so that all Gaussians have zero mean and unit variance for all dimensions | |
void | init (Array< vec > &means_in, bool full_in=false) |
Initialise the model using user supplied mean vectors. | |
void | init (Array< vec > &means_in, Array< vec > &diag_covs_in, vec &weights_in) |
Initialise the model using user supplied parameters (diagonal covariance version) | |
void | init (Array< vec > &means_in, Array< mat > &full_covs_in, vec &weights_in) |
Initialise the model using user supplied parameters (full covariance version) | |
bool | is_valid () const |
Returns true if the model's parameters are valid. | |
bool | is_full () const |
Returns true if the model has full covariance matrices. | |
int | get_K () const |
Return the number of Gaussians. | |
int | get_D () const |
Return the dimensionality. | |
vec | get_weights () const |
Obtain a copy of the weight vector. | |
Array< vec > | get_means () const |
Obtain a copy of the array of mean vectors. | |
Array< vec > | get_diag_covs () const |
Obtain a copy of the array of diagonal covariance vectors. | |
Array< mat > | get_full_covs () const |
Obtain a copy of the array of full covariance matrices. | |
void | set_means (Array< vec > &means_in) |
Set the means of the model. | |
void | set_diag_covs (Array< vec > &diag_covs_in) |
Set the diagonal covariance vectors of the model. | |
void | set_full_covs (Array< mat > &full_covs_in) |
Set the full covariance matrices of the model. | |
void | set_weights (vec &weights_in) |
Set the weight vector of the model. | |
void | set_means_zero () |
Set the means in the model to be zero. | |
void | set_diag_covs_unity () |
Set the diagonal covariance vectors to be unity. | |
void | set_full_covs_unity () |
Set the full covariance matrices to be unity. | |
void | set_weights_uniform () |
Set all the weights to 1/K, where K is the number of Gaussians. | |
void | set_checks (bool do_checks_in) |
Enable/disable internal checks for likelihood functions. | |
void | set_paranoid (bool paranoid_in) |
Enable/disable paranoia about numerical stability. | |
virtual void | save (const std::string &name_in) const |
Save the model's parameters to a model file. | |
virtual void | join (const MOG_generic &B_in) |
Mathematically join the model with a user supplied model. | |
virtual void | convert_to_diag () |
Convert the model to use diagonal covariances. | |
virtual double | log_lhood_single_gaus (const vec &x_in, const int k) |
calculate the log likelihood of vector x_in using only Gaussian k | |
Protected Member Functions | |
void | setup_means () |
additional processing of mean vectors, done as the last step of mean initialisation | |
void | setup_covs () |
additional processing of covariance vectors/matrices, done as the last step of covariance initialisation | |
void | setup_weights () |
additional processing of the weight vector, done as the last step of weight initialisation | |
void | setup_misc () |
additional processing of miscellaneous parameters, done as the last step of overall initialisation | |
double | log_lhood_single_gaus_internal (const double *c_x_in, const int k) const |
ADD DOCUMENTATION HERE. | |
double | log_lhood_single_gaus_internal (const vec &x_in, const int k) const |
ADD DOCUMENTATION HERE. | |
double | log_lhood_internal (const double *c_x_in) |
ADD DOCUMENTATION HERE. | |
double | log_lhood_internal (const vec &x_in) |
ADD DOCUMENTATION HERE. | |
double | lhood_internal (const double *c_x_in) |
ADD DOCUMENTATION HERE. | |
double | lhood_internal (const vec &x_in) |
ADD DOCUMENTATION HERE. | |
double ** | enable_c_access (Array< vec > &A_in) |
Enable C style access to an Array of vectors (vec) | |
int ** | enable_c_access (Array< ivec > &A_in) |
Enable C style access to an Array of vectors (ivec) | |
double * | enable_c_access (vec &v_in) |
Enable C style access to a vector (vec) | |
int * | enable_c_access (ivec &v_in) |
Enable C style access to a vector (ivec) | |
double ** | disable_c_access (double **A_in) |
Disable C style access to an Array of vectors (vec) | |
int ** | disable_c_access (int **A_in) |
Disable C style access to an Array of vectors (ivec) | |
double * | disable_c_access (double *v_in) |
Disable C style access to a vector (vec) | |
int * | disable_c_access (int *v_in) |
Disable C style access to a vector (ivec) | |
void | zero_all_ptrs () |
ADD DOCUMENTATION HERE. | |
void | free_all_ptrs () |
ADD DOCUMENTATION HERE. | |
bool | check_size (const vec &x_in) const |
Check if vector x_in has the same dimensionality as the model. | |
bool | check_size (const Array< vec > &X_in) const |
Check if all vectors in Array X_in have the same dimensionality as the model. | |
bool | check_array_uniformity (const Array< vec > &A) const |
Check if all vectors in Array X_in have the same dimensionality. | |
void | set_means_internal (Array< vec > &means_in) |
ADD DOCUMENTATION HERE. | |
void | set_diag_covs_internal (Array< vec > &diag_covs_in) |
ADD DOCUMENTATION HERE. | |
void | set_full_covs_internal (Array< mat > &full_covs_in) |
ADD DOCUMENTATION HERE. | |
void | set_weights_internal (vec &_weigths) |
ADD DOCUMENTATION HERE. | |
void | set_means_zero_internal () |
ADD DOCUMENTATION HERE. | |
void | set_diag_covs_unity_internal () |
ADD DOCUMENTATION HERE. | |
void | set_full_covs_unity_internal () |
ADD DOCUMENTATION HERE. | |
void | set_weights_uniform_internal () |
ADD DOCUMENTATION HERE. | |
void | convert_to_diag_internal () |
ADD DOCUMENTATION HERE. | |
void | convert_to_full_internal () |
ADD DOCUMENTATION HERE. | |
virtual double | log_lhood_single_gaus_internal (const vec &x_in, const int k) |
ADD DOCUMENTATION HERE. | |
Protected Attributes | |
double ** | c_means |
pointers to the mean vectors | |
double ** | c_diag_covs |
pointers to the covariance vectors | |
double ** | c_diag_covs_inv_etc |
pointers to the inverted covariance vectors | |
double * | c_weights |
pointer to the weight vector | |
double * | c_log_weights |
pointer to the log version of the weight vector | |
double * | c_log_det_etc |
pointer to the log_det_etc vector | |
bool | do_checks |
indicates whether checks on input data are done | |
bool | valid |
indicates whether the parameters are valid | |
bool | full |
indicates whether we are using full or diagonal covariance matrices | |
bool | paranoid |
indicates whether we are paranoid about numerical stability | |
int | K |
number of gaussians | |
int | D |
dimensionality | |
Array< vec > | means |
means | |
Array< vec > | diag_covs |
diagonal covariance matrices, stored as vectors | |
Array< mat > | full_covs |
full covariance matrices | |
vec | weights |
weights | |
double | log_max_K |
Pre-calcualted std::log(std::numeric_limits<double>::max() / K), where K is the number of Gaussians. | |
vec | log_det_etc |
Gaussian specific pre-calcualted constants. | |
vec | log_weights |
Pre-calculated log versions of the weights. | |
Array< mat > | full_covs_inv |
Pre-calcuated inverted version of each full covariance matrix. | |
Array< vec > | diag_covs_inv_etc |
Pre-calcuated inverted version of each diagonal covariance vector, where the covariance elements are first multiplied by two. | |
Diagonal Mixture of Gaussians (MOG) class.
Used for representing a statistical distribution as a convex combination of multi-variate Gaussian functions. Also known as a Gaussian Mixture Model. This class allows loading and saving of the MOG's parameters, as well as calculation of likelihoods. The parameters are set by the user or an optimisation algorithm (for example, see the MOG_diag_EM class).
Definition at line 55 of file mog_diag.h.
|
inline |
Default constructor.
Definition at line 65 of file mog_diag.h.
|
inline |
Construct the MOG_diag object by loading the parameters from a model file.
name | The model's filename |
Definition at line 70 of file mog_diag.h.
construct a default model (all Gaussians have zero mean and unit variance for all dimensions)
K_in | Number of Gaussians |
D_in | Dimensionality |
full_in | Ignored. Present for compatability with the MOG_generic class |
Definition at line 77 of file mog_diag.h.
Construct a model using user supplied mean vectors.
means_in | Array of mean vectors |
Definition at line 85 of file mog_diag.h.
|
inline |
Construct a model using user supplied parameters (diagonal covariance version)
means_in | Array of mean vectors |
diag_covs_in | Array of vectors representing diagonal covariances |
weights_in | vector of weights |
Definition at line 93 of file mog_diag.h.
|
inline |
Construct a model using user supplied parameters (full covariance version)
means_in | Array of mean vectors |
full_covs_in | Array of full covariance matrices |
weights_in | vector of weights |
Definition at line 102 of file mog_diag.h.
|
inline |
Default destructor.
Definition at line 105 of file mog_diag.h.
|
inlinevirtual |
Release memory used by the model. The model will be empty.
Reimplemented from itpp::MOG_generic.
Definition at line 111 of file mog_diag.h.
References itpp::MOG_generic::cleanup().
Referenced by itpp::MOG_diag_EM_sup::ml(), and itpp::MOG_diag_kmeans_sup::run().
Initialise the model by loading the parameters from a model file.
name_in | The model's filename |
Reimplemented from itpp::MOG_generic.
Definition at line 277 of file mog_diag.cpp.
References itpp::MOG_generic::convert_to_diag(), itpp::MOG_generic::full, and itpp::MOG_generic::load().
|
inlinevirtual |
Do nothing. Present for compatability with the MOG_generic class.
Reimplemented from itpp::MOG_generic.
Definition at line 121 of file mog_diag.h.
calculate the log likelihood of C vector c_x_in
using only Gaussian k
Definition at line 59 of file mog_diag.cpp.
References itpp::MOG_generic::do_checks, it_assert, itpp::MOG_generic::K, log_lhood_single_gaus_internal(), and itpp::MOG_generic::valid.
calculate the log likelihood of IT++ vector x_in
using only Gaussian k
Definition at line 69 of file mog_diag.cpp.
References itpp::MOG_generic::check_size(), itpp::MOG_generic::do_checks, it_assert, itpp::MOG_generic::K, log_lhood_single_gaus_internal(), and itpp::MOG_generic::valid.
calculate the log likelihood of C vector c_x_in
Definition at line 122 of file mog_diag.cpp.
References itpp::MOG_generic::do_checks, it_assert, log_lhood_internal(), and itpp::MOG_generic::valid.
calculate the log likelihood of IT++ vector x_in
Reimplemented from itpp::MOG_generic.
Definition at line 112 of file mog_diag.cpp.
References itpp::MOG_generic::check_size(), itpp::MOG_generic::do_checks, it_assert, log_lhood_internal(), and itpp::MOG_generic::valid.
calculate the likelihood of C vector c_x_in
Definition at line 170 of file mog_diag.cpp.
References itpp::MOG_generic::do_checks, it_assert, lhood_internal(), and itpp::MOG_generic::valid.
calculate the likelihood of IT++ vector x_in
Reimplemented from itpp::MOG_generic.
Definition at line 160 of file mog_diag.cpp.
References itpp::MOG_generic::check_size(), itpp::MOG_generic::do_checks, it_assert, lhood_internal(), and itpp::MOG_generic::valid.
calculate the average log likelihood of an array of C vectors ( c_x_in
)
Definition at line 181 of file mog_diag.cpp.
References itpp::MOG_generic::do_checks, it_assert, log_lhood_internal(), and itpp::MOG_generic::valid.
calculate the average log likelihood of an array of IT++ vectors ( X_in
)
Reimplemented from itpp::MOG_generic.
Definition at line 195 of file mog_diag.cpp.
References itpp::MOG_generic::check_size(), itpp::MOG_generic::do_checks, it_assert, log_lhood_internal(), itpp::Array< T >::size(), and itpp::MOG_generic::valid.
|
protectedvirtual |
additional processing of mean vectors, done as the last step of mean initialisation
Reimplemented from itpp::MOG_generic.
Definition at line 231 of file mog_diag.cpp.
References c_means, disable_c_access(), enable_c_access(), itpp::MOG_generic::means, and itpp::MOG_generic::setup_means().
|
protectedvirtual |
additional processing of covariance vectors/matrices, done as the last step of covariance initialisation
Reimplemented from itpp::MOG_generic.
Definition at line 239 of file mog_diag.cpp.
References c_diag_covs, c_diag_covs_inv_etc, c_log_det_etc, itpp::MOG_generic::diag_covs, itpp::MOG_generic::diag_covs_inv_etc, disable_c_access(), enable_c_access(), itpp::MOG_generic::full, itpp::MOG_generic::log_det_etc, and itpp::MOG_generic::setup_covs().
|
protectedvirtual |
additional processing of the weight vector, done as the last step of weight initialisation
Reimplemented from itpp::MOG_generic.
Definition at line 254 of file mog_diag.cpp.
References c_log_weights, c_weights, disable_c_access(), enable_c_access(), itpp::MOG_generic::log_weights, itpp::MOG_generic::setup_weights(), and itpp::MOG_generic::weights.
|
protectedvirtual |
additional processing of miscellaneous parameters, done as the last step of overall initialisation
Reimplemented from itpp::MOG_generic.
Definition at line 266 of file mog_diag.cpp.
References itpp::MOG_generic::convert_to_diag_internal(), disable_c_access(), enable_c_access(), itpp::MOG_generic::full, itpp::MOG_generic::K, and itpp::MOG_generic::setup_misc().
|
protected |
ADD DOCUMENTATION HERE.
Definition at line 37 of file mog_diag.cpp.
References c_diag_covs_inv_etc, c_log_det_etc, c_means, and itpp::MOG_generic::D.
Referenced by lhood_internal(), log_lhood_internal(), log_lhood_single_gaus(), log_lhood_single_gaus(), log_lhood_single_gaus_internal(), and itpp::MOG_diag_EM_sup::ml_update_params().
|
protected |
ADD DOCUMENTATION HERE.
Definition at line 53 of file mog_diag.cpp.
References log_lhood_single_gaus_internal().
ADD DOCUMENTATION HERE.
Definition at line 80 of file mog_diag.cpp.
References c_log_weights, itpp::MOG_generic::K, itpp::log_add(), log_lhood_single_gaus_internal(), itpp::MOG_generic::log_max_K, itpp::MOG_generic::paranoid, and itpp::sum().
Referenced by avg_log_lhood(), avg_log_lhood(), log_lhood(), log_lhood(), and log_lhood_internal().
ADD DOCUMENTATION HERE.
Reimplemented from itpp::MOG_generic.
Definition at line 106 of file mog_diag.cpp.
References log_lhood_internal().
ADD DOCUMENTATION HERE.
Definition at line 133 of file mog_diag.cpp.
References c_log_weights, itpp::MOG_generic::K, itpp::log_add(), log_lhood_single_gaus_internal(), itpp::MOG_generic::log_max_K, itpp::MOG_generic::paranoid, itpp::sum(), and itpp::trunc_exp().
Referenced by lhood(), lhood(), and lhood_internal().
ADD DOCUMENTATION HERE.
Reimplemented from itpp::MOG_generic.
Definition at line 158 of file mog_diag.cpp.
References lhood_internal().
Enable C style access to an Array of vectors (vec)
Definition at line 284 of file mog_diag.cpp.
References itpp::Array< T >::size().
Referenced by itpp::MOG_diag_EM_sup::ml(), itpp::MOG_diag_kmeans_sup::run(), setup_covs(), setup_means(), setup_misc(), and setup_weights().
Enable C style access to an Array of vectors (ivec)
Definition at line 292 of file mog_diag.cpp.
References itpp::Array< T >::size().
|
protected |
Enable C style access to a vector (vec)
Definition at line 303 of file mog_diag.cpp.
|
protected |
Enable C style access to a vector (ivec)
Definition at line 304 of file mog_diag.cpp.
Disable C style access to an Array of vectors (vec)
Definition at line 300 of file mog_diag.cpp.
Referenced by free_all_ptrs(), itpp::MOG_diag_EM_sup::ml(), itpp::MOG_diag_kmeans_sup::run(), setup_covs(), setup_means(), setup_misc(), and setup_weights().
Disable C style access to an Array of vectors (ivec)
Definition at line 301 of file mog_diag.cpp.
Disable C style access to a vector (vec)
Definition at line 306 of file mog_diag.cpp.
Disable C style access to a vector (ivec)
Definition at line 307 of file mog_diag.cpp.
|
protected |
ADD DOCUMENTATION HERE.
Definition at line 207 of file mog_diag.cpp.
References c_diag_covs, c_diag_covs_inv_etc, c_log_det_etc, c_log_weights, c_means, and c_weights.
|
protected |
ADD DOCUMENTATION HERE.
Definition at line 219 of file mog_diag.cpp.
References c_diag_covs, c_diag_covs_inv_etc, c_log_det_etc, c_log_weights, c_means, c_weights, and disable_c_access().
|
inherited |
Initialise the model to be empty.
Definition at line 43 of file mog_generic.cpp.
References itpp::MOG_generic::cleanup().
Referenced by itpp::MOG_generic::join(), itpp::MOG_generic::load(), itpp::MOG_diag_EM_sup::ml(), and itpp::MOG_diag_kmeans_sup::run().
initialise the model so that all Gaussians have zero mean and unit variance for all dimensions
K_in | Number of Gaussians |
D_in | Dimensionality |
full_in | If true, use full covariance matrices; if false, use diagonal covariance matrices. Default = false. |
Definition at line 46 of file mog_generic.cpp.
References itpp::MOG_generic::D, itpp::MOG_generic::do_checks, itpp::MOG_generic::full, it_assert, itpp::MOG_generic::K, itpp::MOG_generic::paranoid, itpp::MOG_generic::set_diag_covs_unity_internal(), itpp::MOG_generic::set_full_covs_unity_internal(), itpp::MOG_generic::set_means_zero_internal(), itpp::MOG_generic::set_weights_uniform_internal(), itpp::MOG_generic::setup_misc(), and itpp::MOG_generic::valid.
Initialise the model using user supplied mean vectors.
means_in | Array of mean vectors |
full_in | If true, use full covariance matrices; if false, use diagonal covariance matrices. Default = false. |
Definition at line 69 of file mog_generic.cpp.
References itpp::MOG_generic::check_array_uniformity(), itpp::MOG_generic::D, itpp::MOG_generic::do_checks, itpp::MOG_generic::full, it_assert, itpp::MOG_generic::K, itpp::MOG_generic::paranoid, itpp::MOG_generic::set_diag_covs_unity_internal(), itpp::MOG_generic::set_full_covs_unity_internal(), itpp::MOG_generic::set_means(), itpp::MOG_generic::set_weights_uniform_internal(), itpp::MOG_generic::setup_misc(), itpp::Array< T >::size(), and itpp::MOG_generic::valid.
|
inherited |
Initialise the model using user supplied parameters (diagonal covariance version)
means_in | Array of mean vectors |
diag_covs_in | Array of vectors representing diagonal covariances |
weights_in | vector of weights |
Definition at line 89 of file mog_generic.cpp.
References itpp::MOG_generic::check_array_uniformity(), itpp::MOG_generic::D, itpp::MOG_generic::do_checks, itpp::MOG_generic::full, it_assert, itpp::MOG_generic::K, itpp::MOG_generic::paranoid, itpp::MOG_generic::set_diag_covs_internal(), itpp::MOG_generic::set_means_internal(), itpp::MOG_generic::set_weights_internal(), itpp::MOG_generic::setup_misc(), itpp::Array< T >::size(), and itpp::MOG_generic::valid.
|
inherited |
Initialise the model using user supplied parameters (full covariance version)
means_in | Array of mean vectors |
full_covs_in | Array of covariance matrices |
weights_in | vector of weights |
Definition at line 110 of file mog_generic.cpp.
References itpp::MOG_generic::check_array_uniformity(), itpp::MOG_generic::D, itpp::MOG_generic::do_checks, itpp::MOG_generic::full, it_assert, itpp::MOG_generic::K, itpp::MOG_generic::paranoid, itpp::MOG_generic::set_full_covs_internal(), itpp::MOG_generic::set_means_internal(), itpp::MOG_generic::set_weights_internal(), itpp::MOG_generic::setup_misc(), itpp::Array< T >::size(), and itpp::MOG_generic::valid.
|
inlineinherited |
Returns true if the model's parameters are valid.
Definition at line 154 of file mog_generic.h.
|
inlineinherited |
Returns true if the model has full covariance matrices.
Definition at line 157 of file mog_generic.h.
References itpp::full().
|
inlineinherited |
Return the number of Gaussians.
Definition at line 160 of file mog_generic.h.
|
inlineinherited |
Return the dimensionality.
Definition at line 163 of file mog_generic.h.
|
inlineinherited |
Obtain a copy of the weight vector.
Definition at line 166 of file mog_generic.h.
|
inlineinherited |
Obtain a copy of the array of mean vectors.
Definition at line 169 of file mog_generic.h.
|
inlineinherited |
Obtain a copy of the array of diagonal covariance vectors.
Definition at line 172 of file mog_generic.h.
References itpp::full().
|
inlineinherited |
Obtain a copy of the array of full covariance matrices.
Definition at line 175 of file mog_generic.h.
References itpp::full().
Set the means of the model.
Definition at line 351 of file mog_generic.cpp.
References itpp::MOG_generic::set_means_internal(), and itpp::MOG_generic::valid.
Referenced by itpp::MOG_generic::init().
Set the diagonal covariance vectors of the model.
Definition at line 365 of file mog_generic.cpp.
References itpp::MOG_generic::set_diag_covs_internal(), and itpp::MOG_generic::valid.
Set the full covariance matrices of the model.
Definition at line 372 of file mog_generic.cpp.
References itpp::MOG_generic::set_full_covs_internal(), and itpp::MOG_generic::valid.
|
inherited |
Set the weight vector of the model.
Definition at line 379 of file mog_generic.cpp.
References itpp::MOG_generic::set_weights_internal(), and itpp::MOG_generic::valid.
|
inherited |
Set the means in the model to be zero.
Definition at line 358 of file mog_generic.cpp.
References itpp::MOG_generic::set_means_zero_internal(), and itpp::MOG_generic::valid.
|
inherited |
Set the diagonal covariance vectors to be unity.
Definition at line 386 of file mog_generic.cpp.
References itpp::MOG_generic::set_diag_covs_unity_internal(), and itpp::MOG_generic::valid.
|
inherited |
Set the full covariance matrices to be unity.
Definition at line 393 of file mog_generic.cpp.
References itpp::MOG_generic::set_full_covs_unity_internal(), and itpp::MOG_generic::valid.
|
inherited |
Set all the weights to 1/K, where K is the number of Gaussians.
Definition at line 400 of file mog_generic.cpp.
References itpp::MOG_generic::set_weights_uniform_internal(), and itpp::MOG_generic::valid.
Enable/disable internal checks for likelihood functions.
do_checks_in | If true, checks are enabled; if false, checks are disabled |
Definition at line 214 of file mog_generic.h.
Enable/disable paranoia about numerical stability.
paranoid_in | If true, calculate likelihoods using a safer, but slower method. |
Definition at line 219 of file mog_generic.h.
Save the model's parameters to a model file.
name_in | The model's filename |
Definition at line 438 of file mog_generic.cpp.
References itpp::MOG_generic::diag_covs, itpp::MOG_generic::full, itpp::MOG_generic::full_covs, itpp::MOG_generic::means, itpp::MOG_generic::valid, and itpp::MOG_generic::weights.
|
virtualinherited |
Mathematically join the model with a user supplied model.
B_in | user supplied model |
See On transforming statistical models... for more information.
Definition at line 453 of file mog_generic.cpp.
References itpp::concat(), itpp::MOG_generic::D, itpp::MOG_generic::diag_covs, itpp::MOG_generic::full, itpp::MOG_generic::full_covs, itpp::MOG_generic::init(), it_assert, itpp::MOG_generic::K, itpp::MOG_generic::means, itpp::MOG_generic::valid, and itpp::MOG_generic::weights.
|
virtualinherited |
Convert the model to use diagonal covariances.
Definition at line 499 of file mog_generic.cpp.
References itpp::MOG_generic::convert_to_diag_internal(), and itpp::MOG_generic::valid.
Referenced by load().
calculate the log likelihood of vector x_in
using only Gaussian k
Definition at line 550 of file mog_generic.cpp.
References itpp::MOG_generic::check_size(), itpp::MOG_generic::do_checks, it_assert, itpp::MOG_generic::K, itpp::MOG_generic::log_lhood_single_gaus_internal(), and itpp::MOG_generic::valid.
Check if vector x_in
has the same dimensionality as the model.
Definition at line 130 of file mog_generic.cpp.
References itpp::MOG_generic::D, and itpp::Array< T >::size().
Referenced by avg_log_lhood(), itpp::MOG_generic::avg_log_lhood(), itpp::MOG_generic::check_size(), lhood(), itpp::MOG_generic::lhood(), log_lhood(), itpp::MOG_generic::log_lhood(), itpp::MOG_generic::log_lhood_single_gaus(), log_lhood_single_gaus(), and itpp::MOG_diag_kmeans_sup::run().
Check if all vectors in Array X_in
have the same dimensionality as the model.
Definition at line 137 of file mog_generic.cpp.
References itpp::MOG_generic::check_array_uniformity(), and itpp::MOG_generic::check_size().
Check if all vectors in Array X_in
have the same dimensionality.
Definition at line 144 of file mog_generic.cpp.
References itpp::Array< T >::size(), and itpp::size().
Referenced by itpp::MOG_generic::check_size(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), and itpp::MOG_diag_EM_sup::ml().
ADD DOCUMENTATION HERE.
Definition at line 164 of file mog_generic.cpp.
References itpp::MOG_generic::D, it_assert, itpp::MOG_generic::K, itpp::MOG_generic::means, itpp::MOG_generic::setup_means(), itpp::Array< T >::size(), and itpp::size().
Referenced by itpp::MOG_generic::init(), itpp::MOG_generic::init(), and itpp::MOG_generic::set_means().
ADD DOCUMENTATION HERE.
Definition at line 180 of file mog_generic.cpp.
References itpp::MOG_generic::D, itpp::MOG_generic::diag_covs, itpp::MOG_generic::full, itpp::MOG_generic::full_covs, it_assert, itpp::MOG_generic::K, itpp::Array< T >::set_size(), itpp::MOG_generic::setup_covs(), itpp::Array< T >::size(), and itpp::size().
Referenced by itpp::MOG_generic::init(), and itpp::MOG_generic::set_diag_covs().
ADD DOCUMENTATION HERE.
Definition at line 200 of file mog_generic.cpp.
References itpp::MOG_generic::D, itpp::MOG_generic::diag_covs, itpp::MOG_generic::full, itpp::MOG_generic::full_covs, it_assert, itpp::MOG_generic::K, itpp::Array< T >::set_size(), itpp::MOG_generic::setup_covs(), and itpp::Array< T >::size().
Referenced by itpp::MOG_generic::init(), and itpp::MOG_generic::set_full_covs().
|
protectedinherited |
ADD DOCUMENTATION HERE.
Definition at line 225 of file mog_generic.cpp.
References it_assert, itpp::MOG_generic::K, itpp::MOG_generic::setup_weights(), itpp::Array< T >::size(), and itpp::MOG_generic::weights.
Referenced by itpp::MOG_generic::init(), itpp::MOG_generic::init(), and itpp::MOG_generic::set_weights().
|
protectedinherited |
ADD DOCUMENTATION HERE.
Definition at line 156 of file mog_generic.cpp.
References itpp::MOG_generic::D, itpp::MOG_generic::K, itpp::MOG_generic::means, itpp::Array< T >::set_size(), and itpp::MOG_generic::setup_means().
Referenced by itpp::MOG_generic::init(), and itpp::MOG_generic::set_means_zero().
|
protectedinherited |
ADD DOCUMENTATION HERE.
Definition at line 241 of file mog_generic.cpp.
References itpp::MOG_generic::D, itpp::MOG_generic::diag_covs, itpp::MOG_generic::full, itpp::MOG_generic::full_covs, itpp::MOG_generic::K, itpp::Array< T >::set_size(), and itpp::MOG_generic::setup_covs().
Referenced by itpp::MOG_generic::init(), itpp::MOG_generic::init(), and itpp::MOG_generic::set_diag_covs_unity().
|
protectedinherited |
ADD DOCUMENTATION HERE.
Definition at line 253 of file mog_generic.cpp.
References itpp::MOG_generic::D, itpp::MOG_generic::diag_covs, itpp::MOG_generic::full, itpp::MOG_generic::full_covs, itpp::MOG_generic::K, itpp::Array< T >::set_size(), and itpp::MOG_generic::setup_covs().
Referenced by itpp::MOG_generic::init(), itpp::MOG_generic::init(), and itpp::MOG_generic::set_full_covs_unity().
|
protectedinherited |
ADD DOCUMENTATION HERE.
Definition at line 269 of file mog_generic.cpp.
References itpp::MOG_generic::K, itpp::Array< T >::set_size(), itpp::MOG_generic::setup_weights(), and itpp::MOG_generic::weights.
Referenced by itpp::MOG_generic::init(), itpp::MOG_generic::init(), and itpp::MOG_generic::set_weights_uniform().
|
protectedinherited |
ADD DOCUMENTATION HERE.
Definition at line 486 of file mog_generic.cpp.
References itpp::diag(), itpp::MOG_generic::diag_covs, itpp::MOG_generic::full, itpp::MOG_generic::full_covs, itpp::MOG_generic::K, itpp::Array< T >::set_size(), and itpp::MOG_generic::setup_covs().
Referenced by itpp::MOG_generic::convert_to_diag(), and setup_misc().
|
protectedinherited |
ADD DOCUMENTATION HERE.
Definition at line 506 of file mog_generic.cpp.
References itpp::diag(), itpp::MOG_generic::diag_covs, itpp::MOG_generic::full, itpp::MOG_generic::full_covs, itpp::MOG_generic::K, itpp::Array< T >::set_size(), and itpp::MOG_generic::setup_covs().
Referenced by itpp::MOG_generic::convert_to_full().
|
protectedvirtualinherited |
ADD DOCUMENTATION HERE.
Definition at line 526 of file mog_generic.cpp.
References itpp::MOG_generic::D, itpp::MOG_generic::diag_covs_inv_etc, itpp::MOG_generic::full, itpp::MOG_generic::full_covs_inv, itpp::MOG_generic::log_det_etc, itpp::mean(), and itpp::MOG_generic::means.
Referenced by itpp::MOG_generic::lhood_internal(), itpp::MOG_generic::log_lhood_internal(), and itpp::MOG_generic::log_lhood_single_gaus().
|
protected |
pointers to the mean vectors
Definition at line 197 of file mog_diag.h.
Referenced by itpp::MOG_diag_kmeans_sup::assign_to_means(), itpp::MOG_diag_kmeans_sup::calc_covs(), itpp::MOG_diag_kmeans_sup::dezombify_means(), free_all_ptrs(), itpp::MOG_diag_kmeans_sup::initial_means(), itpp::MOG_diag_kmeans_sup::iterate(), log_lhood_single_gaus_internal(), itpp::MOG_diag_kmeans_sup::measure_change(), itpp::MOG_diag_EM_sup::ml_update_params(), itpp::MOG_diag_kmeans_sup::recalculate_means(), setup_means(), itpp::MOG_diag_kmeans_sup::unnormalise_means(), and zero_all_ptrs().
|
protected |
pointers to the covariance vectors
Definition at line 200 of file mog_diag.h.
Referenced by itpp::MOG_diag_kmeans_sup::calc_covs(), free_all_ptrs(), itpp::MOG_diag_EM_sup::ml_update_params(), itpp::MOG_diag_EM_sup::sanitise_params(), setup_covs(), itpp::MOG_diag_EM_sup::update_internals(), and zero_all_ptrs().
|
protected |
pointers to the inverted covariance vectors
Definition at line 203 of file mog_diag.h.
Referenced by free_all_ptrs(), log_lhood_single_gaus_internal(), setup_covs(), itpp::MOG_diag_EM_sup::update_internals(), and zero_all_ptrs().
|
protected |
pointer to the weight vector
Definition at line 206 of file mog_diag.h.
Referenced by itpp::MOG_diag_kmeans_sup::calc_weights(), free_all_ptrs(), itpp::MOG_diag_EM_sup::ml_update_params(), itpp::MOG_diag_EM_sup::sanitise_params(), setup_weights(), itpp::MOG_diag_EM_sup::update_internals(), and zero_all_ptrs().
|
protected |
pointer to the log version of the weight vector
Definition at line 209 of file mog_diag.h.
Referenced by free_all_ptrs(), lhood_internal(), log_lhood_internal(), itpp::MOG_diag_EM_sup::ml_update_params(), setup_weights(), itpp::MOG_diag_EM_sup::update_internals(), and zero_all_ptrs().
|
protected |
pointer to the log_det_etc vector
Definition at line 212 of file mog_diag.h.
Referenced by free_all_ptrs(), log_lhood_single_gaus_internal(), setup_covs(), itpp::MOG_diag_EM_sup::update_internals(), and zero_all_ptrs().
|
protectedinherited |
indicates whether checks on input data are done
Definition at line 280 of file mog_generic.h.
Referenced by avg_log_lhood(), itpp::MOG_generic::avg_log_lhood(), avg_log_lhood(), itpp::MOG_generic::cleanup(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), lhood(), lhood(), itpp::MOG_generic::lhood(), log_lhood(), log_lhood(), itpp::MOG_generic::log_lhood(), log_lhood_single_gaus(), itpp::MOG_generic::log_lhood_single_gaus(), and log_lhood_single_gaus().
|
protectedinherited |
indicates whether the parameters are valid
Definition at line 283 of file mog_generic.h.
Referenced by avg_log_lhood(), itpp::MOG_generic::avg_log_lhood(), avg_log_lhood(), itpp::MOG_generic::cleanup(), itpp::MOG_generic::convert_to_diag(), itpp::MOG_generic::convert_to_full(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::join(), lhood(), lhood(), itpp::MOG_generic::lhood(), itpp::MOG_generic::load(), log_lhood(), log_lhood(), itpp::MOG_generic::log_lhood(), log_lhood_single_gaus(), itpp::MOG_generic::log_lhood_single_gaus(), log_lhood_single_gaus(), itpp::MOG_generic::save(), itpp::MOG_generic::set_diag_covs(), itpp::MOG_generic::set_diag_covs_unity(), itpp::MOG_generic::set_full_covs(), itpp::MOG_generic::set_full_covs_unity(), itpp::MOG_generic::set_means(), itpp::MOG_generic::set_means_zero(), itpp::MOG_generic::set_weights(), and itpp::MOG_generic::set_weights_uniform().
|
protectedinherited |
indicates whether we are using full or diagonal covariance matrices
Definition at line 286 of file mog_generic.h.
Referenced by itpp::MOG_generic::convert_to_diag_internal(), itpp::MOG_generic::convert_to_full_internal(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::join(), load(), itpp::MOG_generic::log_lhood_single_gaus_internal(), itpp::MOG_generic::save(), itpp::MOG_generic::set_diag_covs_internal(), itpp::MOG_generic::set_diag_covs_unity_internal(), itpp::MOG_generic::set_full_covs_internal(), itpp::MOG_generic::set_full_covs_unity_internal(), setup_covs(), itpp::MOG_generic::setup_covs(), and setup_misc().
|
protectedinherited |
indicates whether we are paranoid about numerical stability
Definition at line 289 of file mog_generic.h.
Referenced by itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), lhood_internal(), itpp::MOG_generic::lhood_internal(), log_lhood_internal(), itpp::MOG_generic::log_lhood_internal(), and itpp::MOG_diag_EM_sup::ml_update_params().
|
protectedinherited |
number of gaussians
Definition at line 292 of file mog_generic.h.
Referenced by itpp::MOG_diag_kmeans_sup::assign_to_means(), itpp::MOG_diag_kmeans_sup::calc_covs(), itpp::MOG_diag_kmeans_sup::calc_weights(), itpp::MOG_generic::cleanup(), itpp::MOG_generic::convert_to_diag_internal(), itpp::MOG_generic::convert_to_full_internal(), itpp::MOG_diag_kmeans_sup::dezombify_means(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_diag_kmeans_sup::initial_means(), itpp::MOG_diag_kmeans_sup::iterate(), itpp::MOG_generic::join(), lhood_internal(), itpp::MOG_generic::lhood_internal(), log_lhood_internal(), itpp::MOG_generic::log_lhood_internal(), log_lhood_single_gaus(), itpp::MOG_generic::log_lhood_single_gaus(), log_lhood_single_gaus(), itpp::MOG_diag_kmeans_sup::measure_change(), itpp::MOG_diag_EM_sup::ml(), itpp::MOG_diag_EM_sup::ml_update_params(), itpp::MOG_diag_kmeans_sup::recalculate_means(), itpp::MOG_diag_kmeans_sup::run(), itpp::MOG_diag_EM_sup::sanitise_params(), itpp::MOG_generic::set_diag_covs_internal(), itpp::MOG_generic::set_diag_covs_unity_internal(), itpp::MOG_generic::set_full_covs_internal(), itpp::MOG_generic::set_full_covs_unity_internal(), itpp::MOG_generic::set_means_internal(), itpp::MOG_generic::set_means_zero_internal(), itpp::MOG_generic::set_weights_internal(), itpp::MOG_generic::set_weights_uniform_internal(), itpp::MOG_generic::setup_covs(), setup_misc(), itpp::MOG_generic::setup_misc(), itpp::MOG_diag_kmeans_sup::unnormalise_means(), and itpp::MOG_diag_EM_sup::update_internals().
|
protectedinherited |
dimensionality
Definition at line 295 of file mog_generic.h.
Referenced by itpp::MOG_diag_kmeans_sup::calc_covs(), itpp::MOG_generic::check_size(), itpp::MOG_generic::cleanup(), itpp::MOG_diag_kmeans_sup::dezombify_means(), itpp::MOG_diag_kmeans_sup::dist(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_diag_kmeans_sup::initial_means(), itpp::MOG_diag_kmeans_sup::iterate(), itpp::MOG_generic::join(), log_lhood_single_gaus_internal(), itpp::MOG_generic::log_lhood_single_gaus_internal(), itpp::MOG_diag_EM_sup::ml(), itpp::MOG_diag_EM_sup::ml_update_params(), itpp::MOG_diag_kmeans_sup::normalise_vectors(), itpp::MOG_diag_kmeans_sup::recalculate_means(), itpp::MOG_diag_kmeans_sup::run(), itpp::MOG_diag_EM_sup::sanitise_params(), itpp::MOG_generic::set_diag_covs_internal(), itpp::MOG_generic::set_diag_covs_unity_internal(), itpp::MOG_generic::set_full_covs_internal(), itpp::MOG_generic::set_full_covs_unity_internal(), itpp::MOG_generic::set_means_internal(), itpp::MOG_generic::set_means_zero_internal(), itpp::MOG_generic::setup_covs(), itpp::MOG_generic::setup_misc(), itpp::MOG_diag_kmeans_sup::unnormalise_means(), itpp::MOG_diag_kmeans_sup::unnormalise_vectors(), and itpp::MOG_diag_EM_sup::update_internals().
|
protectedinherited |
means
Definition at line 298 of file mog_generic.h.
Referenced by itpp::MOG_generic::cleanup(), itpp::MOG_generic::join(), itpp::MOG_generic::log_lhood_single_gaus_internal(), itpp::MOG_diag_EM_sup::ml(), itpp::MOG_diag_kmeans_sup::run(), itpp::MOG_generic::save(), itpp::MOG_generic::set_means_internal(), itpp::MOG_generic::set_means_zero_internal(), and setup_means().
|
protectedinherited |
diagonal covariance matrices, stored as vectors
Definition at line 301 of file mog_generic.h.
Referenced by itpp::MOG_generic::cleanup(), itpp::MOG_generic::convert_to_diag_internal(), itpp::MOG_generic::convert_to_full_internal(), itpp::MOG_generic::join(), itpp::MOG_diag_EM_sup::ml(), itpp::MOG_diag_kmeans_sup::run(), itpp::MOG_generic::save(), itpp::MOG_generic::set_diag_covs_internal(), itpp::MOG_generic::set_diag_covs_unity_internal(), itpp::MOG_generic::set_full_covs_internal(), itpp::MOG_generic::set_full_covs_unity_internal(), setup_covs(), and itpp::MOG_generic::setup_covs().
|
protectedinherited |
full covariance matrices
Definition at line 304 of file mog_generic.h.
Referenced by itpp::MOG_generic::cleanup(), itpp::MOG_generic::convert_to_diag_internal(), itpp::MOG_generic::convert_to_full_internal(), itpp::MOG_generic::join(), itpp::MOG_generic::save(), itpp::MOG_generic::set_diag_covs_internal(), itpp::MOG_generic::set_diag_covs_unity_internal(), itpp::MOG_generic::set_full_covs_internal(), itpp::MOG_generic::set_full_covs_unity_internal(), and itpp::MOG_generic::setup_covs().
|
protectedinherited |
weights
Definition at line 307 of file mog_generic.h.
Referenced by itpp::MOG_generic::cleanup(), itpp::MOG_generic::join(), itpp::MOG_diag_EM_sup::ml(), itpp::MOG_diag_kmeans_sup::run(), itpp::MOG_generic::save(), itpp::MOG_generic::set_weights_internal(), itpp::MOG_generic::set_weights_uniform_internal(), setup_weights(), and itpp::MOG_generic::setup_weights().
|
protectedinherited |
Pre-calcualted std::log(std::numeric_limits<double>::max() / K), where K is the number of Gaussians.
Definition at line 310 of file mog_generic.h.
Referenced by lhood_internal(), itpp::MOG_generic::lhood_internal(), log_lhood_internal(), itpp::MOG_generic::log_lhood_internal(), itpp::MOG_diag_EM_sup::ml_update_params(), and itpp::MOG_generic::setup_misc().
|
protectedinherited |
Gaussian specific pre-calcualted constants.
Definition at line 317 of file mog_generic.h.
Referenced by itpp::MOG_generic::cleanup(), itpp::MOG_generic::log_lhood_single_gaus_internal(), setup_covs(), and itpp::MOG_generic::setup_covs().
|
protectedinherited |
Pre-calculated log versions of the weights.
Definition at line 320 of file mog_generic.h.
Referenced by itpp::MOG_generic::cleanup(), itpp::MOG_generic::lhood_internal(), itpp::MOG_generic::log_lhood_internal(), setup_weights(), and itpp::MOG_generic::setup_weights().
|
protectedinherited |
Pre-calcuated inverted version of each full covariance matrix.
Definition at line 323 of file mog_generic.h.
Referenced by itpp::MOG_generic::cleanup(), itpp::MOG_generic::log_lhood_single_gaus_internal(), and itpp::MOG_generic::setup_covs().
|
protectedinherited |
Pre-calcuated inverted version of each diagonal covariance vector, where the covariance elements are first multiplied by two.
Definition at line 326 of file mog_generic.h.
Referenced by itpp::MOG_generic::cleanup(), itpp::MOG_generic::log_lhood_single_gaus_internal(), setup_covs(), and itpp::MOG_generic::setup_covs().
Generated on Tue Aug 17 2021 10:59:15 for IT++ by Doxygen 1.9.8