This version of the UBM training, normalize the data before the kmeans training.
Forked from tpereira/ubm_training/2
Algorithms have at least one input and one output. All algorithm endpoints are organized in groups. Groups are used by the platform to indicate which inputs and outputs are synchronized together. The first group is automatically synchronized with the channel defined by the block in which the algorithm is deployed.
Endpoint Name  Data Format  Nature 

features  system/array_2d_floats/1  Input 
ubm  tutorial/gmm/1  Output 
Parameters allow users to change the configuration of an algorithm when scheduling an experiment
Name  Description  Type  Default  Range/Choices 

numberofgaussians  uint32  100  
maximumnumberofiterations  uint32  10 
The code for this algorithm in Python
The ruler at 80 columns indicate suggested POSIX line breaks (for readability).
The editor will automatically enlarge to accomodate the entirety of your input
Use keyboard shortcuts for search/replace and faster editing. For example, use CtrlF (PC) or CmdF (Mac) to search through this box
For a Gaussian Mixture Models (GMM), this algorithm implements the Universal Background Model (UBM) training described in [Reynolds2000].
First, this algorithm estimates the means, diagonal covariance matrix and the weights of each gaussian component using the KMeans clustering. After, only the means are reestimated using the Maximum Likelihood (ML) estimator.
This version of the UBM training normalizes the input data before the kmeans training.
This algorithm relies on the Bob library.
The input, features, is a training set of floating point vectors as a twodimensional array of floats (64 bits), the number of rows corresponding to the number of training samples, and the number of columns to the dimensionality of the training samples. The output, ubm, is the GMM trained using the ML estimator.
[Reynolds2000] 

This table shows the number of times this algorithm has been successfully run using the given environment. Note this does not provide sufficient information to evaluate if the algorithm will run when submitted to different conditions.