Getting Started Guide

Contents

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 of size:
  • p
    x
    p
    - for the full covariance matrix storage scheme
  • 1 x
    p
    - for the diagonal covariance matrix storage scheme
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
float
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
.
regularization
Factor
0.01
Factor for covariance regularization in the case of ill-conditional data.
covarianceStorage
full
Covariance matrix storage scheme in the Gaussian Mixture Model:
  • full
    - covariance matrices are stored as numeric tables of size
    p
    x
    p
    . All elements of the matrix are updated during the processing.
  • diagonal
    - covariance matrices are stored as numeric tables of size 1 x
    p
    . Only diagonal elements of the matrix are updated during the processing, and the rest are assumed to be zero.

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 of size:
  • p
    x
    p
    - for the full covariance matrix storage scheme
  • 1 x
    p
    - for the diagonal covariance matrix storage scheme
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 likelihood 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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804