勾配降下最適化


9

ML(機械学習)アルゴリズムの勾配降下最適化を理解しようとしています。私は、コスト関数-目的は、エラー最小化することでありますことを理解し、Y - yは。重みw 1w 2が最小誤差を与えるように最適化されており、偏微分が使用されているシナリオでは、各ステップでw 1w 2の両方を変更しますか、それとも組み合わせですか(例:いくつかの反復のみ)w 1が変更され、w 1によってエラーが減少しなくなった場合、導関数はw 2から始まります。y^yw1,w2w1w2w1w1w2)?アプリケーションは、線形回帰モデル、ロジスティック回帰モデル、またはブースティングアルゴリズムです。

回答:


10

勾配降下法は、各ステップですべてのパラメーターを更新します。これは更新ルールで確認できます。

w(t+1)=w(t)ηf(w(t)).

f(w)w

η

勾配降下法を使用して線形回帰パラメーターを推定することもできますが、それは良い考えではありません。

同様に、ロジスティック回帰係数を推定するより良い方法があります。


したがって、アルゴリズムは、偏微分から局所極小に到達する方向に基づいて増加w1、減少などのさまざまな組み合わせを試行しw2、アルゴリズムが常に大域極小を常に与えるとは限らないことを確認するだけの可能性がありますか?
Pb89

また、偏微分は、どれだけの増減を行う必要があるかを説明するのに役立ちますかw1w2または偏微分は降下の方向を提供するだけで、速度または収縮を学習することによって行われますか?
Pb89 2018年

勾配はベクトルなので、方向大きさを示します。ベクトルは、正のスカラーによって任意に再スケーリングでき、同じ方向になりますが、再スケーリングはその大きさを変更します。
Sycoraxは、モニカを

勾配によってマグニチュードも与えられる場合、収縮または学習率の役割は何ですか?
Pb89 2018年

f(x)w(t)η

7

最適化が偏導関数で行われる場合、各ターンでw1とw2の両方が変更されますか、またはいくつかの反復でw1のみが変更されるような組み合わせであり、w1がエラーをそれ以上削減しない場合、導関数はw2から始まります-から極小に達しましたか?

各反復で、アルゴリズムは勾配ベクトルに基づいてすべての重みを同時に変更します。実際、グラデーションはベクトルです。グラデーションの長さは、モデルの重みの数と同じです。

一方、一度に1つのパラメータを変更することはありました。これは、勾配のない最適化アルゴリズムの一種である座標適切なアルゴリズムと呼ばれます。実際には、勾配ベースのアルゴリズムと同じように機能しない場合があります。

これは、勾配のないアルゴリズムに関する興味深い答えです

バックプロパゲーションなしでニューラルネットワークをトレーニングすることは可能ですか?


1

勾配降下法の目的は、コスト関数を最小化することです。この最小化は、あなたのケースw1とw2の重みを調整することによって達成されます。一般に、そのような重みはn個あります。

勾配降下は次の方法で行われます。

  1. 重みをランダムに初期化します。
  2. 初期化された重みでコスト関数と勾配を計算します。
  3. 重みの更新:一部の重みの勾配がOである場合があります。その場合、それらの重みは更新後に変化を示しません。例えば:[1,0]勾配があるとしましょうW2は変わりません。
  4. 更新された重みでコスト関数をチェックし、減少が十分許容できる場合は反復を続行し、そうでない場合は終了します。

重み(W1またはW2)が変更される重みを更新する間、勾配によって完全に決定されます。すべての重みが更新されます(一部の重みは勾配に基づいて変更されない場合があります)。


「デクリメントが十分許容できる場合は、反復を継続し、それ以外は終了する」、Python(sklearn)またはRパッケージなどのパッケージに適用されるデフォルト値はありますcaretか?手動で作成した勾配降下関数でのみユーザー指定できますか?
Pb89 2018年

1

グラディエントディセントは両方w1w2各反復に適用されます。各反復中に、勾配に従ってパラメーターが更新されました。彼らはおそらく異なる偏微分を持っているでしょう。

こちらをチェックしてください

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