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

オンライン処理

オンライン処理モードは、データがブロック i = 1, 2, 3, … nblocks で到着すると仮定します。

オンライン処理モードの PCA 計算は、アルゴリズムで説明されているオンライン処理の一般的な計算スキーマに従います。

アルゴリズムの入力

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

入力 ID

入力

data

現在のデータブロックを表す ni x p 数値テーブルのポインター。入力は、NumericTable の派生クラスのオブジェクトです。

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

オンライン処理モードの PCA アルゴリズムのパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

algorithmFPType

double

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

method

defaultDense

PCA 計算に利用可能なメソッド。

  • defaultDense - 相関メソッド
  • svdDense - SVD メソッド

initializationProcedure

適用不可

オンライン処理モードのアルゴリズムの初期パラメーターを設定するプロシージャー。デフォルトでは、アルゴリズムは次のパラメーターを 0 に設定します。

  • defaultDense メソッドの場合: nObservationsCorrelationsumCorrelationcrossProductCorrelation
  • svdDense メソッドの場合: nObservationsSVDsumSVDsumSquaresSVD

部分結果

オンライン処理モードの PCA アルゴリズムは次の部分結果を計算します。計算される結果は計算メソッドに依存します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

相関メソッド (defaultDense):

nObservationsCorrelation

処理された観測点の数を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

crossProductCorrelation

計算された部分クロス積行列を含む p x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

sumCorrelation

計算された部分和を含む 1 x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

SVD メソッド (svdDense):

nObservationsSVD

処理された観測点の数を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

sumSVD

計算された部分和を含む 1 x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

sumSquaresSVD

計算された部分 2 乗和を含む 1 x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

アルゴリズムの出力

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

結果 ID

結果

eigenvalues

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

eigenvectors

行優先順で固有ベクトルを含む p x p 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

サンプル

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

C++:

Java*: