エラスティック ネット線形回帰 - MADlib

TIBCO Data Science - Team Studio は、エラスティック ネット線形回帰アルゴリズムの MADlib オープンソース実装をサポートします。このオペレーターは、線形回帰問題に対する MADlib のオープンソース エラスティック ネット正則化アルゴリズムを実装します。

情報一覧

パラメーター

説明
カテゴリー モデル
データ ソース タイプ DB
出力を他のオペレーターに送信 はい
データ処理ツール MADlib

アルゴリズム

エラスティック ネット正則化では、特定のトレーニング サンプル セットに対して、Lasso 回帰手法と Ridge 回帰手法の L1 ペナルティと L2 ペナルティを組み合わせた計量関数を最小化する重みベクトルを見つけようとします。

一般原則を含む詳細については、「公式 MADlib ドキュメント」を参照してください。

入力

モデリング用の従属変数と独立変数を含むデータセット。

構成

最小限の構成では、次のパラメーターを設定する必要があります。

  • MADlib スキーマ名
  • モデル出力テーブル名
  • 従属変数
  • 独立変数

パラメーター 説明
ノート このオペレーターのパラメーター設定に関するメモまたは役立つ情報。 [ノート] フィールドに内容を入力すると、オペレーターに黄色のアスタリスクが表示されます。
MADlib スキーマ名 MADlib がデータベースにインストールされるスキーマ。MADlib は、入力データセットと同じデータベースにインストールする必要があります。「madlib」スキーマがデータベースに存在する場合、このパラメーターはデフォルトで madlib になります。
モデル出力スキーマ名 出力が保存されるスキーマの名前。
モデル出力テーブル名 回帰モデルを保存するために作成されるテーブルの名前。モデル出力テーブルには以下が格納されます。

family | features | features_selected | coef_nonzero | coef_all | intercept | log_likelihood | standardize | iteration_run

詳細については、『公式の MADlib エラスティック ネット正規化ドキュメント』を参照してください。

存在する場合は削除
  • [はい] (デフォルト) の場合、同じ名前の既存のテーブルを削除し、新しいテーブルを作成します。
  • [いいえ] の場合、フローを停止し、エラーが発生したことをユーザーに警告します。
従属変数 モデル化または予測する量。エラスティック ネットLinear オペレーターで使用可能なデータカラムのリストが表示されます。回帰の従属変数とみなされるデータカラムを選択します。従属変数は数値データ タイプである必要があります。
独立変数 ユーザーが回帰分析またはモデル トレーニングに含める独立変数データカラムを選択できるようにします。少なくとも 1 つのカラムまたは 1 つの相互作用変数を指定する必要があります。

[カラムの選択] をクリックして [カラムの選択ダイアログ] を開き、分析に使用できる入力データセットからカラムを選択します。

制御パラメーター エラスティック ネット コントロール パラメーター (アルファ) は、0 から 1 までの値である必要があります。
正則化パラメーター 正の値である必要があります。
標準化 データを正規化するかどうかを指定します。
  • [true] (デフォルト) の場合、データを正規化します。このオプションを使用すると、多くの場合、より良い結果が得られ、収束が速くなります。
  • [false] の場合、データは正規化されません。
オプティマイザー 高速反復収縮しきい値アルゴリズム (FISTA) または増分勾配降下法 (IGD) を使用できます。オプティマイザー構成に必要なパラメーターは、選択したオプティマイザーによって異なります。

詳細については、公式の MADlib エラスティック ネット正規化ドキュメントを参照してください。

FISTA 最大ステップサイズ 最初のバックトラッキング ステップ サイズ。各反復で、アルゴリズムは最初に stepsize = max_stepsize を試行し、それが機能しない場合は、より小さいステップ サイズ stepsize = stepsize/eta を試行します。ここで、eta は 1 より大きくなければなりません。最初は、これは 1 ステップでも繰り返し反復を実行するように見えますが、より大きなステップ サイズを使用すると、実際には計算速度が大幅に向上し、反復の総数が最小限に抑えられます。 max_stepsize を慎重に選択すると、計算時間を 10 分の 1 以上短縮できます。

デフォルト値: 4.0

FISTA Eta stepsize が機能しない場合は、stepsize /eta が試行されます。 1 より大きくなければなりません。

デフォルト値: 2.0

ウォームアップ [true] の値は、厳密に降下し、ユーザーが計算したいラムダ値で終了する一連のラムダ値が使用されることを指定します。ラムダが大きくなると非常に疎な解が得られ、その疎な解が次のラムダの解の初期推定として再び使用されるため、次のラムダの計算が高速化されます。より大きなデータセットの場合、これにより計算全体が高速化される場合があり、1 つのラムダ値のみを計算するよりも高速になる場合があります。

[false] (デフォルト) は、このウォームアップ手順が実行されないことを指定します。

ラムダのウォームアップ ウォームアップ[true] の場合に使用するラムダ値シリーズ。デフォルトは Null で、ラムダ値が自動的に生成されることを意味します。
ウォームアップ ラムダの数 ウォームアップで使用するラムダの数。Warmup_lambdas が Null でない場合、この値は指定されたラムダ値の数で上書きされます。

デフォルト値: 15

ウォームアップ許容値 ウォームアップ中に使用される許容値の値。

デフォルト値: 1e-6

FISTA はアクティブなメソッドを使用 [true] の値は、計算を高速化するためにアクティブ セット メソッドが使用されることを指定します。アクティブな特徴セット (ゼロ以外の係数を持つ特徴セット) を中心に反復を組織化することで、大幅な高速化が得られます。すべての変数を完全に循環した後、収束するまでアクティブ セットのみを反復処理します。別の完全なサイクルによってアクティブ セットが変更されない場合は、作業は完了です。それ以外の場合は、プロセスが繰り返されます。

[false] の値 (デフォルト) は、アクティブ セット方式が使用されないことを指定します。

FISTA アクティブ耐性 アクティブ セットの計算中に使用される許容値の値。

デフォルト値: 1e-6

FISTA ランダム ステップ サイズ ステップ サイズにランダム性を追加するかどうか。場合によっては、これにより計算が高速化されることがあります。

デフォルト値: 1e-6

IGD ステップ サイズ 初期バックトラックステップサイズ。

デフォルト値: 0.01

IGD ゼロ係数しきい値 係数が非常に小さい場合は、この係数を 0 に設定します。

SGD の確率的性質により、フィッティング係数として非常に小さな値しか取得できません。したがって、小さな値を選別してゼロにハード設定するには、計算の最後にしきい値が必要です。これは次のようにして実現されます。

  1. 各係数に、対応する特徴の標準偏差を掛けます。
  2. 再スケーリングされた係数の絶対値の平均を計算します。
  3. 再スケーリングされた各係数を平均で除算し、結果の絶対値がしきい値より小さい場合は、元の係数をゼロに設定します。

デフォルト値: 1e-10

IGD 並列化 [true] の値は、複数のセグメントに対して計算を実行することを指定します。

SGD は本質的に逐次アルゴリズムです。分散方式で実行する場合、データの各セグメントは独自の SGD モードを実行し、その後モデルが平均化されて各反復のモデルが取得されます。この平均化により、収束速度が遅くなる可能性がありますが、複数のマシン上で大規模なデータセットを処理する能力も得られます。したがって、このアルゴリズムには、並列計算を実行するかどうかを選択できる並列オプションが用意されています。

デフォルト値: true

最大反復数 連続する2つの反復の係数の差が収束許容値より小さくなるか、反復回数が最大反復数より大きくなると、計算は停止します。

デフォルト値: 10000

収束許容値 連続する 2 つの反復の係数の差が 収束許容値 より小さい場合、または反復数が 最大反復数より大きい場合、計算は停止します。

デフォルト値: 1e-6

残差プロットを描画 モデル検証に使用される残差プロットおよび Q-Q (分位数-分位数) プロットを描画するオプションを指定します。

残差プロットには、縦軸に線形回帰モデルの残差、横軸に独立変数を示すグラフが表示されます。

Q-Q プロットは、特定の変数の残差の分布を正規分布 (直線で表される) とグラフで比較します。

デフォルト値: true。回帰オペレーターには残差プロットと Q-Q プロットを示す 2 つの追加出力があることを意味します。

出力

ビジュアル出力
結果は サマリー残差プロット、および Q-Q プロット タブに表示されます。

詳細については、「線形回帰 - MADlib」、および「公式 MADlib エラスティック ネット正則化ドキュメント」を参照してください。

データ出力
ありません。