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

計算

適応劣勾配 (AdaGrad) 法は、反復ソルバーの特殊なケースです。反復ソルバーのパラメーター、入力、出力は、「反復ソルバー」 > 「計算」を参照してください。

アルゴリズムの入力

反復ソルバーの入力に加えて、AdaGrad 法では次のオプション入力を使用できます。

オプションデータ ID

入力

gradientSquareSum

Gt の値を含むサイズ p x 1 の数値テーブル。値はそれぞれ、対応する勾配の座標値の累計された平方和です。

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

反復ソルバーのパラメーターに加えて、AdaGrad 法には次のパラメーターがあります。

パラメーター

デフォルト値

説明

algorithmFPType

float

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

method

defaultDense

デフォルトのパフォーマンス指向の計算メソッド。

batchIndices

NULL

目的関数の項の 32 ビット整数インデックスを表す defaultDense メソッドのサイズ nIterations x batchSize の数値テーブル。インデックスが提供されない場合、アルゴリズムはランダム・インデックスを生成します。

batchSize

128

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

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

learningRate

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

学習率 η の値を含むサイズ 1 x 1 の数値テーブル。

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

degenerateCasesThreshold

1e-08

平方根を計算するときに変換を中止するために必要な値 ε

seed

777

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

アルゴリズムの出力

反復ソルバーの出力に加えて、AdaGrad 法は次のオプション結果を計算します。

オプションデータ ID

出力

gradientSquareSum

Gt の値を含むサイズ p x 1 の数値テーブル。値はそれぞれ、対応する勾配の座標値の累計された平方和です。

サンプル

C++:

Java*:

Python*:

関連情報