< 目次

インテル® DAAL 2017 デベロッパー・ガイド

オンライン処理

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

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

アルゴリズムの入力

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

入力 ID

入力

data

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

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

分散処理モードの PCA アルゴリズムのパラメーターは次のとおりです。計算メソッド・パラメーター method に依存します。

パラメーター

method

デフォルト値

説明

algorithmFPType

defaultDense または svdDense

double

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

method

適用不可

defaultDense

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

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

initializationProcedure

defaultDense

適用不可

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

svdDense

適用不可

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

covariance

defaultDense

SharedPtr<covariance::Online<algorithmFPType, covariance::defaultDense> >

相関メソッドを含む PCA 計算に使用する相関行列と分散共分散行列アルゴリズム。詳細は、「オンライン処理 (相関行列と分散共分散行列)」を参照してください。

部分結果

オンライン処理モードの 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*:

Python*:

関連情報