インテル® DAAL プログラミング・ガイド

バッチ処理

アルゴリズムの入力

GMM 用 EM アルゴリズムの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

data

EM アルゴリズムを適用するデータを含む n x p 数値テーブルのポインター。入力は、NumericTable の派生クラスのオブジェクトです。

アルゴリズムのパラメーター

GMM 用 EM アルゴリズムのパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

algorithmFPType

double

アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。

method

defaultDense

パフォーマンス指向の計算メソッド。アルゴリズムでサポートされている唯一のメソッドです。

nComponents

適用不可

ガウス混合モデルのコンポーネントの数、必須パラメーター

initializationProcedure

DefaultInitialization クラスのオブジェクトのポインター

アルゴリズムの以下の初期パラメーターを設定するプロシージャー。

  • initialWeights - 初期重みを含む 1 x k 数値テーブル。
  • initialMeans - 初期平均値を含む k x p 数値テーブル。
  • initialCovariances - p x p 分散共分散行列を含む、k 数値テーブル。

デフォルトでは、アルゴリズムは少し短い EM ステップを使用し、最適なものを選択して初期パラメーターを設定します [Biernacki2003]。

maxIterations

10

アルゴリズムの最大反復回数。

accuracyThreshold

1.0e-04

アルゴリズムを終了するしきい値。

covariance

BatchIface クラスのオブジェクトのポインター

共分散行列を計算するアルゴリズムのポインターです。デフォルトでは、それぞれのインテル® DAAL アルゴリズムが使用され、BatchIface の派生クラスで実装されます。

アルゴリズムの出力

GMM 用 EM アルゴリズムは次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

weights

混合重みを含む 1 x k 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

means

各行に i 番目の混合コンポーネントの平均値の推定を含む k x p 数値テーブルのポインター。ここで、i=0, 1, …, k-1。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

covariances

i 番目の混合コンポーネントの p x p 分散共分散行列を含む、k 数値テーブルのコレクション。デフォルトでは、このコレクションは HomogenNumericTable クラスのオブジェクトを含みますが、(PackedTriangularMatrix および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

サンプル

インテル® DAAL ディレクトリーの次のサンプルを参照してください。

C++: ./examples/cpp/source/em/em_gmm_batch.cpp

Java*: ./examples/java/source/com/intel/daal/examples/em/EmGmmBatch.java