Developer Guide for Intel® Data Analytics Acceleration Library 2016 Update 4

Batch Processing

Algorithm Input

The EM for GMM algorithm accepts the input described below. Pass the Input ID as a parameter to the methods that provide input for your algorithm. For more details, see Algorithms.

Input ID

Input

data

Pointer to the n x p numeric table with the data to which the EM algorithm is applied. The input can be an object of any class derived from NumericTable.

inputWeights

Pointer to the 1 x k numeric table with initial mixture weights. This input can be an object of any class derived from NumericTable.

inputMeans

Pointer to a k x p numeric table. Each row in this table contains the initial value of the means for the i-th mixture component, where i=0, 1, …, k-1. This input can be an object of any class derived from NumericTable.

inputCovariances

Pointer to the DataCollection object that contains k numeric tables, each with the p x p variance-covariance matrix for the i-th mixture component. The collection can contain objects of any class derived from NumericTable.

inputValues

Pointer to the result of the EM for GMM initialization algorithm. The result of initialization contains weights, means, and a collection of covariances. You can use this input to set the initial values for the EM for GMM algorithm instead of explicitly specifying the weights, means, and covariance collection.

Algorithm Parameters

The EM for GMM algorithm has the following parameters:

Parameter

Default Value

Description

algorithmFPType

double

The floating-point type that the algorithm uses for intermediate computations. Can be float or double.

method

defaultDense

Performance-oriented computation method, the only method supported by the algorithm.

nComponents

Not applicable

The number of components in the Gaussian Mixture Model, a required parameter.

maxIterations

10

The maximal number of iterations in the algorithm.

accuracyThreshold

1.0e-04

The threshold for termination of the algorithm.

covariance

Pointer to an object of the BatchIface class

Pointer to the algorithm that computes the covariance matrix. By default, the respective Intel DAAL algorithm is used, implemented in the class derived from BatchIface.

Algorithm Output

The EM for GMM algorithm calculates the results described below. Pass the Result ID as a parameter to the methods that access the results of your algorithm. For more details, see Algorithms.

Result ID

Result

weights

Pointer to the 1 x k numeric table with mixture weights. By default, this result is an object of the HomogenNumericTable class, but you can define the result as an object of any class derived from NumericTable except PackedTriangularMatrix, PackedSymmetricMatrix, and CSRNumericTable.

means

Pointer to the k x p numeric table with each row containing the estimate of the means for the i-th mixture component, where i=0, 1, …, k-1. By default, this result is an object of the HomogenNumericTable class, but you can define the result as an object of any class derived from NumericTable except PackedTriangularMatrix, PackedSymmetricMatrix, and CSRNumericTable.

covariances

Pointer to the DataCollection object that contains k numeric tables, each with the p x p variance-covariance matrix for the i-th mixture component. By default, the collection contains objects of the HomogenNumericTable class, but you can define them as objects of any class derived from NumericTable except PackedTriangularMatrix and CSRNumericTable.

goalFunction

Pointer to the 1 x 1 numeric table with the value of the logarithm of the likelyhood function after the last iteration. By default, this result is an object of the HomogenNumericTable class.

nIterations

Pointer to the 1 x 1 numeric table with the number of iterations computed after completion of the algorithm. By default, this result is an object of the HomogenNumericTable class.

Examples

C++: em_gmm_batch.cpp

Java*: EmGmmBatch.java