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

分散処理

分散処理モードの線形/リッジ回帰は、訓練段階でのみ使用できます。

この計算モードは、データセットが計算ノードの nblocks ブロックに分割されていると仮定します。

訓練

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

次の表は、分散処理モードの訓練段階での線形回帰とリッジ回帰のパラメーターの一覧です。パラメーターまたは値の一部は、線形/リッジ回帰アルゴリズム固有です。

パラメーター

アルゴリズム

デフォルト値

説明

computeStep

任意

適用不可

アルゴリズムを初期化するために必要なパラメーターです。次のいずれか。

  • step1Local - 第 1 ステップ、ローカルノードで実行
  • step2Master - 第 2 ステップ、マスターノードで実行

algorithmFPType

任意

float

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

method

線形回帰

defaultDense

線形回帰訓練に利用可能なメソッド。

  • defaultDense - 正規方程式メソッド
  • qrDense - QR 分解に基づくメソッド

リッジ回帰

リッジ回帰により使用されるデフォルトの計算メソッド。訓練段階でサポートしている唯一のメソッドは、正規方程式メソッドです。

ridgeParameters

リッジ回帰

1 に等しいデフォルトのリッジ・パラメーターを含むサイズ 1 x 1 の数値テーブル。

サイズ 1 x k (k は従属変数の数) または 1 x 1 の数値テーブル。サイズに依存するテーブルのコンテンツ。

  • サイズ = 1 x k: リッジ・パラメーター λj (j = 1, …, k) の値。
  • サイズ = 1 x 1: 各従属変数のリッジ・パラメーター λ1 = ... = λk の値。

このパラメーターは、(CSRNumericTablePackedSymmetricMatrix、および PackedTriangularMatrix を除く) NumericTable の派生クラスのオブジェクトです。

非推奨:interceptFlag

任意

true

これは古いパラメーター (非推奨) で、将来のリリースで削除される予定です。
β0j を計算する必要があることを示すフラグ。

分散処理モードの線形/リッジ回帰訓練では、以下の図のように 2 ステップの計算スキーマを使用します。

ステップ 1 - ローカルノード


線形回帰訓練、分散処理ワークフローのステップ 1

このステップの線形/リッジ回帰訓練の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

data

ローカルノードの i 番目のデータブロックを表す ni x p 数値テーブルのポインター。このテーブルは、NumericTable の派生クラスのオブジェクトです。

dependentVariables

i 番目のデータブロックに関連付けられた応答を含む ni x k 数値テーブルのポインター。このテーブルは、NumericTable の派生クラスのオブジェクトです。

このステップで、線形/リッジ回帰訓練は次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

partialModel

i 番目のデータブロックに対応する部分線形回帰モデルのポインター。結果は Model クラスのオブジェクトです。

ステップ 2 - マスターノード


線形回帰訓練、分散処理ワークフローのステップ 2

このステップの線形/リッジ回帰訓練の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

partialModels

ステップ 1 で計算された部分モデルのコレクション。Model クラスのオブジェクトを含むコレクションです。

このステップで、線形/リッジ回帰訓練は次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

model

訓練されている線形/リッジ回帰モデルのポインター。結果は Model クラスのオブジェクトです。

サンプル

C++:

Java*:

Python*:

関連情報