Andrew Ngの機械学習コースでは、線形回帰とロジスティック回帰を紹介し、勾配降下法とニュートン法を使用してモデルパラメーターを近似する方法を示しています。
勾配降下は、機械学習の一部のアプリケーション(逆プロパゲーションなど)で役立つことがありますが、より一般的なケースでは、閉形式のパラメーターを解かない理由があります。コスト関数と微積分による解?
一般に、閉じた形式のソリューションに対して勾配降下法などの反復アルゴリズムを使用する場合、使用できる場合、その利点は何ですか?
Andrew Ngの機械学習コースでは、線形回帰とロジスティック回帰を紹介し、勾配降下法とニュートン法を使用してモデルパラメーターを近似する方法を示しています。
勾配降下は、機械学習の一部のアプリケーション(逆プロパゲーションなど)で役立つことがありますが、より一般的なケースでは、閉形式のパラメーターを解かない理由があります。コスト関数と微積分による解?
一般に、閉じた形式のソリューションに対して勾配降下法などの反復アルゴリズムを使用する場合、使用できる場合、その利点は何ですか?
回答:
クローズドフォームソリューションの計算が極端に高額でない限り、一般的には利用可能になったときに実行する方法です。しかしながら、
ほとんどの非線形回帰問題には、閉形式の解決策はありません。
線形回帰(閉じた形式のソリューションが利用できる数少ないケースの1つ)でも、式を使用することは実用的ではない場合があります。次の例は、これが発生する1つの方法を示しています。
形式のモデルでの線形回帰の場合、は完全な列ランク、最小二乗解、X
によって与えられます
ここで、が非常に大きいがスパース行列であると想像してください。たとえば、は100,000列と1,000,000行がありますが、のエントリの0.001%のみがゼロ以外です。このようなスパース行列の非ゼロエントリのみを格納するための特殊なデータ構造があります。
また、私たちが不運であり、が非ゼロエントリの割合が非常に高いかなり密な行列であることを想像してください。密な100,000 100,000要素の行列を格納すると、浮動小数点数が必要になります(数値ごとに8バイトで、これは80ギガバイトになります)。しかし、スーパーコンピューター。さらに、この行列の逆行列(またはより一般的にはコレスキー係数)も、ほとんどゼロでないエントリを持つ傾向があります。
ただし、、、およびよりも多くのストレージを必要とせず、行列積明示的に形成しない最小二乗問題を解くための反復法があります。
この状況では、最小二乗問題の閉形式解を使用するよりも、反復法を使用する方が計算効率がはるかに高くなります。
この例はばかげているように見えるかもしれません。ただし、このサイズの大きなスパース最小二乗問題は、地震トモグラフィーの研究でデスクトップコンピューターの反復法によって定期的に解決されます。
機械学習(ML)と回帰に関する投稿がいくつかありました。MLは、線形方程式系を解くためのワンステップマトリックスサンドウィッチ操作、つまり。すべてが線形であるという事実は、係数を解くためにワンステップの操作のみが必要であることを意味します。ロジスティック回帰は、尤度関数最大化に基づいています。これは、Newton-Raphson、または他のML勾配上昇法、メタヒューリスティック(登山、遺伝的アルゴリズム、群知能、蟻コロニー最適化など)を使用して解決できます。
節約に関しては、OLSの反復学習はOLSの解決には非効率的であるため、OLSにMLを使用するのは無駄です。
さて、勾配ベースの問題を解くためのデリバティブ対MLアプローチに関する本当の質問に戻りましょう。特に、ロジスティック回帰では、Newton-Raphsonの勾配降下(微分ベース)アプローチが一般的に使用されます。Newton-Raphsonでは、目的関数と各パラメーターに関する偏微分(極限で連続的で微分可能)を知っている必要があります。MLは、目的関数が複雑すぎて(「ナリー」)、導関数がわからない場合に主に使用されます。たとえば、人工ニューラルネットワーク(ANN)を使用して、関数が不明な場合に関数近似問題または教師付き分類問題を解決できます。この場合、ANNは関数です。
ロジスティック回帰の問題を解決するためにMLメソッドを使用するという間違いをしないでください。ロジスティックにとって、Newton-Raphsonは非常に高速であり、問題を解決するための適切な手法です。MLは、関数が何であるかわからない場合によく使用されます。(ところで、ANNは計算知能の分野からのものであり、MLではありません)。