NAME
get_full_GMM_3 - Finds a Gaussian mixture model (GMM) for the correlated features.
SYNOPSIS
#include "r2/r2_gmm_em.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON
-I/home/kobus/include
-L/misc/load/linux_x86_64_opteron -L/usr/lib
-lKJB -lfftw3 -lgandalf -ltiff -ltiff -lpng -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lGL -lGLU -lX11 -lglut -lGL -lGLU -lpthread -lSLATEC -lg2c -ltiff -lacml -lacml_mv -lg2c -lX11 -lncursesw
int get_full_GMM_3
(
int num_clusters,
const Matrix *feature_mp,
const Matrix *covariance_mask_mp,
Vector **a_vpp,
Matrix **u_mpp,
Matrix_vector **S_mvpp,
Matrix **P_mpp,
double *log_likelihood_ptr,
const Int_vector *held_out_indicator_vp,
const Vector *initial_a_vp,
const Matrix *initial_means_mp,
const Matrix *initial_var_mp,
double *held_out_log_likelihood_ptr,
int *num_iterations_ptr
);
DESCRIPTION
This version handles held out data and initial model parameters BUT
likelihood and cluster membership are computed using the DIAGONAL model.
This has two consequences:
|1. learned covariances and means will not be as good as with get_full_GMM
or get_full_GMM_2, because point classifications will be wrong in some cases.
2. classification results returned in a_vpp will not take advantage of the
full diagonal model.
If held out data isn't needed, prefer get_full_GMM_2.
RETURNS
If the routine fails (due to storage allocation), then ERROR is returned
with an error message being set. Otherwise NO_ERROR is returned.
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kobus Barnard
DOCUMENTER
Kobus Barnard
SEE ALSO
get_full_GMM
,
get_full_GMM_2
,
get_independent_GMM
,
get_independent_GMM_2
,
get_independent_GMM_3
,
get_independent_GMM_2_with_missing_data
,
get_independent_GMM_3_mt
,
create_independent_GMM_thread