GLLiM

This page describes the GLLiM structures.

Structures

class GLLiMParameters(L, D, K)

A template structure representing the parameters of the GLLiM model.

Parameters:
  • L (int) – The dimension of the model input (number of features) corresponding to the low-dimensional value.

  • D (int) – The dimension of the model output corresponding to the high-dimensional value.

  • K (int) – The number of affine transformations, corresponding to the number of Gaussian distributions in the mixture.

Pi: ndarray of shape (K,)

A vector of size K containing the weights of the Gaussian distributions in the mixture.

A: ndarray of shape (K, D, L)

A cube of shape (K, D, L) representing the parameters of the affine transformations.

B: ndarray of shape (K, D)

A matrix of shape (K, D) representing additional model parameters.

C: ndarray of shape (K, L)

A matrix of shape (K, L) containing the means of the mixture of Gaussian distributions that define the low-dimensional data.

Gamma: ndarray of shape (K, L*, L*)
Gamma is a ndarray containing the K covariance matrices of the mixture of Gaussian distributions that define the low-dimensional data.
  • In the case of Full covariance matrix (gamma_type = ‘full’), Gamma is of shape (K, L, L).

  • In the case of Diagonal covariance matrix (gamma_type = ‘diag’), Gamma is of shape (K, L) with Gamma[k] representing the variances vector of the k^{th} gaussian.

  • In the case of Isotropic covariance matrix (gamma_type = ‘iso’), Gamma is of shape (K) with Gamma[k] representing the unique variance of the k^{th} gaussian.

Sigma: ndarray of shape (K, D*, D*)
Sigma is a ndarray containing the K covariance matrices of the mixture of Gaussian distributions that define the high-dimensional data.
  • In the case of Full covariance matrix (gamma_type = ‘full’), Sigma is of shape (K, D, D).

  • In the case of Diagonal covariance matrix (gamma_type = ‘diag’), Sigma is of shape (K, D) with Sigma[k] representing the variances vector of the k^{th} gaussian.

  • In the case of Isotropic covariance matrix (gamma_type = ‘iso’), Sigma is of shape (K) with Sigma[k] representing the unique variance of the k^{th} gaussian.

Note

For more detailed information on these parameters, refer to the formula in the paper: “High-Dimensional Regression with Gaussian Mixtures and Partially-Latent Response Variables” by Antoine Deleforge, Florence Forbes, and Radu Horaud, published in Statistics and Computing 25(5): 893-911, September 2015.

class GLLiMConstraints(gamma_type, sigma_type)

A structure representing the constraints on the covariance matrices in the GLLiM model.

Parameters:
  • gamma_type (str) –

    The type of the Gamma covariance matrix. It can be one of the following:

    • ’full’: Full covariance matrix.

    • ’diag’: Diagonal covariance matrix.

    • ’iso’: Isotropic covariance matrix.

  • sigma_type (str) –

    The type of the Sigma covariance matrix. It can be one of the following:

    • ’full’: Full covariance matrix.

    • ’diag’: Diagonal covariance matrix.

    • ’iso’: Isotropic covariance matrix.

gamma_type: str

The Gamma covariance matrix type, indicating the structure of the covariance matrix in the low-dimensional space.

sigma_type: str

The Sigma covariance matrix type, indicating the structure of the covariance matrix in the high-dimensional space.

class PredictionResult(N_obs, D, K)

This structure combines the results from both the mean prediction and center prediction.

Parameters:
  • N_obs (int) – Number of observations.

  • D (int) – Dimensionality of each observation.

  • K (int) – Number of components in the GMM.

fullGMM: FullGMMResult

The result of the mean prediction.

mergedGMM: MergedGMMResult

The result of the center prediction.

class FullGMMResult(N_obs, D, K)

This structure holds the results of the mean predictions for a Gaussian Mixture Model (GMM).

Parameters:
  • N_obs (int) – Number of observations.

  • D (int) – Dimensionality of each observation.

  • K (int) – Number of components in the GMM.

mean: ndarray of shape (D, N_obs)

The mean of the GMM prediction (D, N_obs).

variance: ndarray of shape (D, D, N_obs)

The variance of the GMM prediction (D, D, N_obs).

weights: ndarray of shape (N_obs, K)

The weights of the components of the GMM (N_obs, K).

means: ndarray of shape (D, N_obs, K)

The means of each component in the GMM (D, N_obs, K).

covs: ndarray of shape (D, D, K)

The covariance matrices of each component in the GMM (D, D, K). The covariance is indenpendent from the observations thus it is the same for all predictions.

class MergedGMMResult(N_obs, D, K_merged)

This structure holds the results of the center predictions for a Gaussian Mixture Model (GMM).

Parameters:
  • N_obs (int) – Number of observations.

  • D (int) – Dimensionality of each observation.

  • K_merged (int) – Number of components in the merged GMM.

mean: ndarray of shape (D, N_obs)

The mean of the merged GMM prediction (D, N_obs).

variance: ndarray of shape (D, D, N_obs)

The variance of the merged GMM prediction (D, D, N_obs).

weights: ndarray of shape (N_obs, K_merged)

The weights of the components of the merged GMM (N_obs, K_merged).

means: ndarray of shape (D, N_obs, K_merged)

The means of each component in the merged GMM (D, N_obs, K_merged). It corresponds to the centers that stands for the predictions

covs: list with length N_obs[ndarray of shape (D, D, K_merged)]

The covariance matrices of each component in the merged GMM (D, D, K). It is constructed from other gaussians means thus it depends on observations.

class Insights(time, log_likelihood, initialisation, training)

This structure holds combined insights from both the initialization and training phases.

Parameters:
  • time (datetime.timedelta) – The total time associated with the insights.

  • log_likelihood (ndarray of shape (max_iteration)) – The log-likelihood values associated with the model.

  • initialisation (InitialisationInsights) – Insights from the initialization phase.

  • training (TrainingInsights) – Insights from the training phase.

time: datetime.timedelta

The total time associated with the insights.

log_likelihood: ndarray of shape (max_iteration)

The log-likelihood values associated with the model.

initialisation: InitialisationInsights

Insights from the initialization phase.

training: TrainingInsights

Insights from the training phase.

class InitialisationInsights(time, start_time, end_time, N_obs, gllim_em_iteration, gllim_em_floor, gmm_kmeans_iteration, gmm_em_iteration, gmm_floor, nb_experiences)

This structure holds insights into the initialization phase of the model training.

Parameters:
  • time (datetime.timedelta) – The total time taken for initialization.

  • start_time (datetime.datetime) – The start time of the initialization.

  • end_time (datetime.datetime) – The end time of the initialization.

  • N_obs (int) – Number of observations.

  • gllim_em_iteration (int) – Number of GLLiM EM iterations during initialization.

  • gllim_em_floor (float) – The floor value for GLLiM EM.

  • gmm_kmeans_iteration (int) – Number of GMM k-means iterations.

  • gmm_em_iteration (int) – Number of GMM EM iterations during initialization.

  • gmm_floor (float) – The floor value for GMM.

  • nb_experiences (int) – Number of experiences considered during initialization.

time: datetime.timedelta

The total time taken for initialization.

start_time: datetime.datetime

The start time of the initialization.

end_time: datetime.datetime

The end time of the initialization.

N_obs: int

Number of observations.

gllim_em_iteration: int

Number of GLLiM EM iterations during initialization.

gllim_em_floor: float

The floor value for GLLiM EM.

gmm_kmeans_iteration: int

Number of GMM k-means iterations.

gmm_em_iteration: int

Number of GMM EM iterations during initialization.

gmm_floor: float

The floor value for GMM.

nb_experiences: int

Number of experiences considered during initialization.

class TrainingInsights(time, start_time, end_time, N_obs, max_iteration, ratio_ll, floor)

This structure holds insights into the training phase of the model.

Parameters:
  • time (datetime.timedelta) – The total time taken for training.

  • start_time (datetime.datetime) – The start time of the training.

  • end_time (datetime.datetime) – The end time of the training.

  • N_obs (int) – Number of observations.

  • max_iteration (int) – The maximum number of iterations during training.

  • ratio_ll (float) – The ratio of log-likelihood improvement.

  • floor (float) – The floor value used during training.

time: datetime.timedelta

The total time taken for training.

start_time: datetime.datetime

The start time of the training.

end_time: datetime.datetime

The end time of the training.

N_obs: int

Number of observations.

max_iteration: int

The maximum number of iterations during training.

ratio_ll: float

The ratio of log-likelihood improvement.

floor: float

The floor value used during training.