閉形式と勾配降下の回帰パラメータの解決


71

Andrew Ngの機械学習コースでは、線形回帰とロジスティック回帰を紹介し、勾配降下法とニュートン法を使用してモデルパラメーターを近似する方法を示しています。

勾配降下は、機械学習の一部のアプリケーション(逆プロパゲーションなど)で役立つことがありますが、より一般的なケースでは、閉形式のパラメーターを解かない理由があります。コスト関数と微積分による解?

一般に、閉じた形式のソリューションに対して勾配降下法などの反復アルゴリズムを使用する場合、使用できる場合、その利点は何ですか?


9
私は、ほとんどのglms(ロジスティック回帰など)の回帰パラメーターのMLEに閉じた形式のソリューションがあるとは思わない。通常のエラーを伴う線形回帰は1つの例外です。
マクロ

5
興味深い...これは、たとえば、初期パラメーター設定、反復回数、複数の局所最小値などに応じて、統計パッケージごとに異なるロジスティック回帰の回答が得られることを意味しますか?フォロー?(違いが存在する場合、ほとんどの場合、ごくわずかです)
ジェフ

3
(+1)質問とコメントに、ジェフ。正規リンク(ロジスティック回帰など)を使用するGLMは、凸性の優れた特性の恩恵を受けます。このような問題を解決するためのアルゴリズムは複数ある場合がありますが、これの基本的な結果は(かなり細かい部分を除けば)適切に実装された数値アルゴリズムが一貫した結果をもたらすことです。
枢機

2
個人的には、Andrew Ngのコースが嫌いです。なぜなら、線形回帰は「機械学習」であると人々に信じ込ませているからです。
デジオ

回答:


85

クローズドフォームソリューションの計算が極端に高額でない限り、一般的には利用可能になったときに実行する方法です。しかしながら、

  1. ほとんどの非線形回帰問題には、閉形式の解決策はありません。

  2. 線形回帰(閉じた形式のソリューションが利用できる数少ないケースの1つ)でも、式を使用することは実用的ではない場合があります。次の例は、これが発生する1つの方法を示しています。

形式のモデルでの線形回帰の場合、は完全な列ランク、最小二乗解、Xy=XβX

β^=argminXβy2

によって与えられます

β^=(XTX)1XTy

ここで、が非常に大きいがスパース行列であると想像してください。たとえば、は100,000列と1,000,000行がありますが、のエントリの0.001%のみがゼロ以外です。このようなスパース行列の非ゼロエントリのみを格納するための特殊なデータ構造があります。 XXX

また、私たちが不運であり、が非ゼロエントリの割合が非常に高いかなり密な行列であることを想像してください。密な100,000 100,000要素の行列を格納すると、浮動小数点数が必要になります(数値ごとに8バイトで、これは80ギガバイトになります)。しかし、スーパーコンピューター。さらに、この行列の逆行列(またはより一般的にはコレスキー係数)も、ほとんどゼロでないエントリを持つ傾向があります。 XTXXTX1×1010

ただし、、、およびよりも多くのストレージを必要とせず、行列積明示的に形成しない最小二乗問題を解くための反復法があります。 Xyβ^XTX

この状況では、最小二乗問題の閉形式解を使用するよりも、反復法を使用する方が計算効率がはるかに高くなります。

この例はばかげているように見えるかもしれません。ただし、このサイズの大きなスパース最小二乗問題は、地震トモグラフィーの研究でデスクトップコンピューターの反復法によって定期的に解決されます。


4
最小二乗問題に対する閉形式の解決策を使用することをお勧めできない数値精度の問題もあることに言及する必要があります。ただし、これには元のポスターの現在の理解を超えていると思われる悪条件の議論が必要です。
ブライアンボーチャーズ

17
答えを投稿することをheしないでください。あなたは私がそれを理解するとは思わないので。第一に、それを把握するために調査が必要になったとしても、それ以上の情報を提供しても害はありません。第二に、stackexchangeモデルは、この質問と回答が将来他の人に利益をもたらすと想定しています。言い換えれば、OPがどれだけ知っていると思うかに基づいて答えを馬鹿にしないでください。さもないと、他の人に損害を与えることになります。
ジェフ

2
@ブライアン、あなたのコメントは問題の中心に近づいており、答えの最初の文と少し対立しています。私は考えていない任意の(その右心の中で)最小二乗ソフトウェアは、閉じた形の解を採用しています。:)
枢機

4
基本的には、QR分解またはSVDを使用して、小規模な最小二乗問題を解決するのが最善です。これらの直交因数分解の1つを使用するソリューションは、LSQRのような反復手法を使用する場合と比較して、「閉形式のソリューション」でもあると主張します。私の答えではこれを掘り下げませんでした。なぜなら、それが私の要点から不必要に注意を引き付けるからです。
ブライアンボーチャーズ

2
調子が悪い?教科書のクローズドフォームソリューション?私は朝の二乗条件数の匂いが大好きです。大きな条件番号がありますか?なぜそれを二乗してさらに大きくしませんか?それほど大きな条件番号はありませんか?なぜそれを二乗して大きくしませんか。
マークL.ストーン

2

機械学習(ML)と回帰に関する投稿がいくつかありました。MLは、線形方程式系を解くためのワンステップマトリックスサンドウィッチ操作、つまり。すべてが線形であるという事実は、係数を解くためにワンステップの操作のみが必要であることを意味します。ロジスティック回帰は、尤度関数最大化に基づいています。これは、Newton-Raphson、または他のML勾配上昇法、メタヒューリスティック(登山、遺伝的アルゴリズム、群知能、蟻コロニー最適化など)を使用して解決できます。 β=(XTX)1XTyL=ipi

節約に関しては、OLSの反復学習はOLSの解決には非効率的であるため、OLSにMLを使用するのは無駄です。

さて、勾配ベースの問題を解くためのデリバティブ対MLアプローチに関する本当の質問に戻りましょう。特に、ロジスティック回帰では、Newton-Raphsonの勾配降下(微分ベース)アプローチが一般的に使用されます。Newton-Raphsonでは、目的関数と各パラメーターに関する偏微分(極限で連続的で微分可能)を知っている必要があります。MLは、目的関数が複雑すぎて(「ナリー」)、導関数がわからない場合に主に使用されます。たとえば、人工ニューラルネットワーク(ANN)を使用して、関数が不明な場合に関数近似問題または教師付き分類問題を解決できます。この場合、ANNは関数です。

ロジスティック回帰の問題を解決するためにMLメソッドを使用するという間違いをしないでください。ロジスティックにとって、Newton-Raphsonは非常に高速であり、問​​題を解決するための適切な手法です。MLは、関数が何であるかわからない場合によく使用されます。(ところで、ANNは計算知能の分野からのものであり、MLではありません)。

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