インテル® DAAL 2018 デベロッパー・ガイド
分散処理モードは、データセット R が計算ノードの nblocks ブロックに分割されていると仮定します。
分散処理モードの暗黙的 ALS アルゴリズムのアイテム係数の初期化のパラメーターは次のとおりです。
パラメーター |
デフォルト値 |
説明 |
|
---|---|---|---|
algorithmFPType |
float |
アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。 |
|
method |
fastCSR |
CSR 数値テーブル用のパフォーマンス指向の計算メソッド。アルゴリズムでサポートされている唯一のメソッドです。 |
|
nFactors |
10 |
係数の総数。 |
|
seed |
777777 |
初期化段階の乱数生成用のシード。 |
|
fullNUsers |
0 |
ユーザー m の総数。 |
|
partition |
入力データ部分の数を提供するサイズ 1 x 1 の数値テーブルまたは (nblocks + 1) x 1 の数値テーブル。ここで、nblocks は入力データ部分の数、i 番目の要素は初期化アルゴリズムにより計算される転置された i 番目のデータ部分のオフセットを含みます。 |
分散処理モードの暗黙的 ALS アルゴリズムを初期化するには、下記の図 (nblocks=3) で説明されているように、1 ステップのプロセスを使用します。
分散処理モードの暗黙的 ALS アルゴリズムのアイテム係数の初期化の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
入力 ID |
入力 |
|
---|---|---|
dataColumnSlice |
入力データセットの部分を含む ni x m 数値テーブル。各ノードは転置された入力データセット RT の ni 行を含みます。入力は CSRNumericTable クラスのオブジェクトです。 |
分散処理モードの暗黙的 ALS アルゴリズムのアイテム係数の初期化は次の結果を計算します。部分結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。outputOfInitForComputeStep3 および offsets に対応する部分結果。部分結果 ID は分散 ALS 訓練アルゴリズムのステップ 3 に転送します。
計算ステップ 3 の初期化の出力 (outputOfInitForComputeStep3) は、i 番目のノードの部分モデルのコンポーネントをすべてのローカルノードにマップするキー/値データのコレクションです。このデータ・コレクションのキーはノードのインデックスで、各キーに対応する値 i は分散 ALS 訓練アルゴリズムのステップ 3 の i 番目のノードに転送するアイテムの係数のインデックスを含む数値テーブルです。
ユーザーオフセット (offsets) はキー/値データのコレクションです。ここで、キーはノードのインデックスで、キー i に対応する値は i 番目のノードに格納されたユーザー係数の開始オフセットの値を含むサイズ 1 x 1 の数値テーブルです。
詳細は、「アルゴリズム」を参照してください。
部分結果 ID |
結果 |
|
---|---|---|
partialModel |
初期化されるアイテム係数を含むモデル。結果は PartialModel クラスのオブジェクトです。 |
|
outputOfInitForComputeStep3 |
部分モデルのコンポーネントをローカルノードにマップするキー/値データのコレクション。 |
|
offsets |
各ノードの係数インデックスの開始オフセットを含むサイズ nblocks のキー/値データのコレクション。 |
|
outputOfStep1ForStep2 |
入力数値テーブルの部分を含むサイズ nblocks のキー/値データのコレクション。このコレクションの j 番目の要素はサイズ mj x ni の数値テーブルです。ここで、 |
このステップは、前のステップの結果を使用します。
入力 ID |
入力 |
|
---|---|---|
inputOfStep2FromStep1 |
入力データセットの部分を含むサイズ nblocks のキー/値データのコレクション。このコレクションの i 番目の要素はサイズ mi x ni の数値テーブルです。コレクションの各数値テーブルは CSRNumericTable クラスのオブジェクトです。 |
このステップで、暗黙的 ALS 初期化は次の部分結果を計算します。部分結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。outputOfInitForComputeStep3 および offsets に対応する部分結果。部分結果 ID は分散 ALS 訓練アルゴリズムのステップ 3 に転送します。
計算ステップ 3 の初期化の出力 (outputOfInitForComputeStep3) は、i 番目のノードの部分モデルのコンポーネントをすべてのローカルノードにマップするキー/値データのコレクションです。このデータ・コレクションのキーはノードのインデックスで、各キーに対応する値 i は分散 ALS 訓練アルゴリズムのステップ 3 の i 番目のノードに転送するユーザー係数のインデックスを含む数値テーブルです。
アイテムオフセット (offsets) はキー/値データのコレクションです。ここで、キーはノードのインデックスで、キー i に対応する値は i 番目のノードに格納されたアイテム係数の開始オフセットの値を含むサイズ 1 x 1 の数値テーブルです。
詳細は、「アルゴリズム」を参照してください。
部分結果 ID |
結果 |
|
---|---|---|
dataRowSlice |
マイニングデータを含む mj x n 数値テーブル。j 番目のノードは入力データセット R の mj 行を取得します。 |
|
outputOfInitForComputeStep3 |
部分モデルのコンポーネントをローカルノードにマップするキー/値データのコレクション。 |
|
offsets |
各ノードの係数インデックスの開始オフセットを含むサイズ nblocks のキー/値データのコレクション。 |