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

計算

確率的勾配降下法アルゴリズムは、反復ソルバーの特殊なケースです。反復ソルバーのパラメーター、入力、出力は、「反復ソルバー」 > 「計算」を参照してください。

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

反復ソルバーのパラメーターに加えて、確率的勾配降下法アルゴリズムには次のパラメーターがあります。一部のパラメーターは計算メソッド・パラメーター method の特定の値でのみ必要です。

パラメーター

method

デフォルト値

説明

algorithmFPType

defaultDense

miniBatch

または

momentum

float

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

method

適用不可

defaultDense

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

  • defaultDense
  • miniBatch
  • momentum

batchIndices

defaultDense

miniBatch

または

momentum

NULL

目的関数の項の 32 ビット整数インデックスを含む数値テーブル。method パラメーターは数値テーブルのサイズを決定します。

  • defaultDense:nIterations x 1
  • miniBatch または momentum:nIterations x batchSize

インデックスが提供されない場合、実装はランダム・インデックスを生成します。

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

batchSize

miniBatch

または

momentum

128

確率的勾配を計算するバッチ・インデックスの数。batchSize が目的関数の項の数と等しい場合、ランダム・サンプリングは実行されず、すべての項が勾配の計算に使用されます。

batchIndices パラメーターが提供された場合、アルゴリズムはこのパラメーターを無視します。

method の値が defaultDense の場合、1 つの項が各反復の勾配の計算に使用されます。

conservativeSequence

miniBatch

1 に等しいデフォルトの保守的係数を含むサイズ 1 x 1 の数値テーブル。

サイズ 1 x nIterations または 1 x 1 の数値テーブル。サイズに依存するテーブルのコンテンツ。

  • size = 1 x nIterations: 保守的係数数列 γk (k = 1, …, nIterations) の値。
  • size = 1 x 1: 各反復の保守的係数 γ1 = ... = γnIterations の値。

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

innerNIterations

miniBatch

5

miniBatch メソッドの内部反復回数。

learningRateSequence

defaultDense

miniBatch

または

momentum

1 に等しいデフォルトのステップ長を含むサイズ 1 x 1 の数値テーブル。

サイズ 1 x nIterations または 1 x 1 の数値テーブル。サイズに依存するテーブルのコンテンツ。

  • size = 1 x nIterations: 学習率数列 ηk (k = 1, …, nIterations) の値。
  • size = 1 x 1: 各反復の学習率 η1 = ... = ηnIterations の値。

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

momentum

momentum

0.9

モメンタム値。

seed

defaultDense

miniBatch

または

momentum

777

目的関数の項の 32 ビット整数インデックスの乱数生成用のシード。

サンプル

C++:

Java*:

Python*:

関連情報