web-dev-qa-db-ja.com

勾配降下と勾配上昇の違いは何ですか?

勾配の上昇について何も見つけることができません。勾配降下との違いを示す勾配上昇に関する適切なリンクがあれば役立ちます。

17
user2714423

違いはありません。勾配上昇は、損失関数を最小化するのではなく、最大化するプロセスにすぎません。他はすべてまったく同じです。いくつかの損失関数の上昇は、その損失関数の負の勾配降下のようなものです。

22
Sean Owen

通常、勾配上昇を使用して尤度関数を最大化し、勾配下降を使用してコスト関数を最小化します。勾配降下と上昇はどちらも実質的に同じです。凹面/凸面の尤度/コスト関数を使用した、単純な勾配ベースの最適化に適したアルゴリズムを使用した具体的な例を示します。ロジスティック回帰です。

残念ながら、SOはまだLaTeXをサポートしていないようです。そのため、スクリーンショットをいくつか掲載させてください。

ロジスティック回帰で最大化したい尤度関数は次のとおりです。

enter image description here

ここで、「phi」は単にシグモイド関数です

enter image description here

ここで、勾配上昇のための凹面関数を使用したいので、ログを取得します。

enter image description here

同様に、それを逆関数として記述して、勾配降下法によって最小化できるコスト関数を取得できます。

enter image description here

対数尤度の場合、次のように勾配アセントを導出して適用します。

enter image description here

enter image description here

すべての重みを同時に更新したいので、次のように書きましょう

enter image description here

これで、勾配降下の更新が勾配上昇の更新と同じであることがわかります。「コスト関数の勾配の反対方向に一歩踏み出す」として公式化していることに注意してください。

enter image description here

それがあなたの質問に答えることを願っています!

18
user2489252

勾配降下法は特定の関数を最小化するために使用され、勾配上昇法は関数を最大化するために使用されます。

これをチェックしてください http://www.speech.sri.com/people/anand/771/html/node33.html

6
vishalg

関数を最小化する場合は、勾配降下法を使用します。たとえばディープラーニングでは、損失関数を最小化する必要があるため、勾配降下法を使用します。

関数を最大化したい場合は、Gradient Ascentを使用します。たとえば強化学習-ポリシーグラデーションメソッドでは、報酬/期待されるリターン関数を最大化することを目標としているため、グラデーションアセントを使用します。

1
Shriram

勾配は勾配の別の言葉です。点(x、y)でのグラフの正の勾配は、グラフが点(x、y)で上向きに傾斜することを意味します。一方、点(x、y)でのグラフの負の勾配は、グラフが点(x、y)で下向きに傾斜することを意味します。

勾配降下法は、コスト関数の値を最小化するシータのセットを見つけるために使用される反復アルゴリズムです。したがって、勾配上昇は、コスト関数の値を最大化するシータのセットを生成します。

1
John Doe

勾配の上昇は、関数の最大化であり、強化学習で使用されるより良い最適化を達成して、上向きの勾配または増加するグラフを提供します。

勾配降下法は、線形回帰で使用されるコスト関数を最小化し、コスト関数の下降勾配または減少勾配を提供します。

0
Anjali Yadav