回帰での過剰適合の回避:正則化の代替


19

回帰の正則化(線形、ロジスティック...)は、過剰適合を減らす最も一般的な方法です。

目標が予測精度(説明ではない)である場合、特にビッグデータセット(mi / billionの観測値とmillionsの機能)に適した、正則化の代替手段はありますか?


3
「大きなデータセット」とは、多くの観測値、多くの変数、またはその両方を意味する場合があり、答えは観測値と変数の数に依存する場合があります。
ペレ

ノルム正則化を使用しないのはなぜですか?ニューラルネットワークにはドロップアウトがあります
-seanv507

4
正則化の利点は、計算コストが安いことです。バギングやブースティングなどのアンサンブル手法とモデル診断用のクロス検証手法を組み合わせることは優れた代替手段ですが、はるかにコストのかかるソリューションになります。
ディジオ

1
これは興味深いかもしれません:stats.stackexchange.com/a/161592/40604-
ダン

1
Digioのコメントに追加するには:正規化はバギング/ブースティングと比較して安価ですが、「正規化なし」の代替案と比べてまだ高価です(たとえば、正規化が深層学習を困難にする方法についてはBen Rechtのこの記事を参照してください)。膨大な数のサンプルがある場合、はるかに安価な正規化はうまく機能しません。@ hxd1001としてモデルはまだよく一般化することができます指摘
バークU.

回答:


11

質問に直接関係しない2つの重要なポイント:

  • 第一に、目的が解釈ではなく精度であっても、多くの場合、正規化が必要です。なぜなら、モデリングに使用されるデータではなく、実際のテスト/生産データセットの「高精度」を確認するからです。

  • 第二に、10億の行と100万の列がある場合、正則化が不要になる可能性があります。これは、データが膨大であり、多くの計算モデルに「制限されたパワー」があるためです。つまり、オーバーフィットすることはほとんど不可能です。これが、一部のディープニューラルネットワークに数十億のパラメーターがある理由です。


さて、あなたの質問について。BenとAndreyが述べたように、正則化の代替としていくつかのオプションがあります。さらに例を追加したいと思います。

  • より単純なモデルを使用します(たとえば、ニューラルネットワークで隠れユニットの数を減らします。SVMで低次の多項式カーネルを使用します。ガウスの混合でガウスの数を減らします。など)

  • 最適化の早い段階で停止します。(たとえば、ニューラルネットワークトレーニングのエポックを減らし、最適化(CG、BFGSなど)の反復回数を減らします。)

  • 多くのモデルの平均(たとえば、ランダムフォレストなど)


どうもありがとう。2番目のオプション(早期に停止)は、現在SGDで試していることです。かなりうまくいきます。すぐに正規化と比較したいと思います。この方法に言及している記事を知っていますか?
ブノワサンチェス

1
勾配降下による早期停止と正則化の間に幾何学的関係のヒントがあります。たとえば、その基本形のリッジ回帰は、原点を中心とするソリッド楕円内にある損失関数を最小化するパラメーターを求め、楕円のサイズは正則化強度の関数です。リッジパラメーターは、正規化されていない解と異なる場合、楕円の表面にあります。あなたが早期に停止後、原点で始まる上昇を実行し、そして場合は、これらの楕円の1の境界になります...
マシュードゥルーリー

勾配をたどったため、真の最小値へのパスをたどったので、ほとんどの場合、尾根ソリューションの周りをほぼ終了します。この一連の思考をどの程度厳密に行えるかはわかりませんが、関係があるかもしれません。
マシュードゥルーリー

@BenoitSanchez この論文は関連性があるかもしれません。著者は別の問題(固有ベクトル計算でのオーバーフィッティング)に取り組んでいますが、オーバーフィッティングに対処する戦略は同じです(つまり、計算を減らすことによる暗黙の正則化)。戦略は、おおよその解決策を生成する安価な問題を解決することです(これは-最適化の早期停止と同じです)。
バークU.17年

@BenoitSanchezこれをお勧めします。ロレンツォの講義は、ユーチューブ上で利用できますが、このページはまた、いくつかの論文へのリンクありmit.edu/~9.520/fall17/Classes/early_stopping.html
デヴィッド・コザック

14

正則化の2つの選択肢:

  1. 多数の観察結果があります
  2. より単純なモデルを使用する

ジェフヒントン(バックプロパゲーションの共同発明者)は、かつて彼に言ったエンジニアの話を語りました(言い換えれば、ジェフ、私たちは大量のデータを持っているので、ディープネットにドロップアウトする必要はありません)。そして、彼の応答は、「では、オーバーフィットするまでさらに深いネットを構築し、ドロップアウトを使用する必要があります」でした。良いアドバイスはさておき、十分なデータがある限り、深いネットでも正規化を避けることができます。

固定数の観測値を使用して、より単純なモデルを選択することもできます。単純な線形回帰で切片、勾配、誤差分散を推定するために、おそらく正則化は必要ありません。


3

過剰適合を回避するいくつかの追加の可能性

  • 次元削減

    ml<<m

  • 機能の選択(次元削減)

    低次元の機能空間を取得するために、機能選択のラウンドを実行できます(例:LASSOを使用)。LASSOを使用した機能選択のようなものは、機能の大規模ではあるが未知のサブセットが無関係である場合に役立ちます。

  • ランダムフォレストなど、過適合しにくいアルゴリズムを使用します。(設定、機能の数などによって異なりますが、これらは通常の最小二乗法よりも計算コストが高くなります。)

    他の回答のいくつかは、ブースティングおよびバギングのテクニック/アルゴリズムの利点にも言及しています。

  • ベイジアン法

    係数ベクトルに事前分布を追加して、過剰適合を減らします。これは概念的に正則化に関連しています。リッジ回帰は、事後推定の最大値の特殊なケースです。


2

反復/エポックの数を定義できるソルバーでモデルを使用している場合、検証エラーを追跡し、早期停止を適用できます。検証エラーが増加し始めたらアルゴリズムを停止します。


1
この質問は、回帰(線形、ロジスティック)モデルについて明確に尋ねています。
マシュードゥルーリー

2
技術的に言えば、線形およびロジスティック回帰は非常に単純なニューラルネットワークです。
アンドレイルキネンコ

2
これで質問に答えられないという私の信念が変わるとは思わない。「回帰を何らかの形の勾配降下に適合させ、早期停止を適用した場合」と言うように書き直した場合、それはより良いでしょう。
マシュードゥルーリー

sklearnにも、反復回数を制限するパラメーターをサポートする多くのモデルがあります。精度を追跡するために使用できます。しかし、言い回しが正確ではないということは正しいと思います。
アンドレイルキネンコ

1

2つの考え:

  1. 次にBen Ogorekによって提案された「より単純なモデルを使用する」戦略です

    私は、小さな整数係数(たとえば、-5と5の間の整数係数を持つ最大5つの変数)を使用して、本当にまばらな線形分類モデルに取り組んでいます。モデルは、精度とトリッキーなパフォーマンスメトリック(キャリブレーションなど)の点で一般化されています。

    n/d

  2. モデルに追加の制約(単調性制約、サイド情報など)を指定できる場合、これは仮説空間を減らすことで一般化にも役立ちます(たとえば、このペーパーを参照)。

    これは注意して行う必要があります(たとえば、おそらく制約なしでモデルをベースラインと比較し、制約を厳選しないようにトレーニングプロセスを設計する必要があります)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.