1. 概要

このチュートリアルでは、最急降下法と最急降下法の違いを学習します。

この記事の終わりに、2つの違いを理解し、一方から他方に変換する方法を理解します。

2. 一般的なグラデーション

連続関数の勾配は、その点で計算された偏導関数を含むベクトルとして定義されます。 勾配は有限であり、すべての偏導関数も定義されて有限である場合にのみ定義されます。 正式な表記法では、勾配を次のように示します。

最適化にグラジエントを使用する場合、グラジエントdescentまたはグラジエントascentのいずれかを実行できます。 2つの違いを見てみましょう。

3. 最急降下法

最急降下法は、機械学習モデルのパラメーターを最適化する反復プロセスです。 特にニューラルネットワークで使用されますが、ロジスティック回帰およびサポートベクターマシンでも使用されます。

これは、コスト関数を反復的に最小化するための最も一般的な方法です。 ただし、その主な制限は、必ずしもグローバルではなく、ローカルの最小値への収束が保証されていることです

 

学習率とも呼ばれるハイパーパラメータを使用すると、降下プロセスを微調整できます。 特に、を適切に選択することで、収束を極小値に逃れ、代わりに大域的最小値に向かって下降することができます。

勾配は、モデルのパラメーターのベクトル(通常は重み)に関して計算されます。 ニューラルネットワークでは、重み行列に最急降下法を適用するプロセスは、エラーのバックプロパゲーションの名前を取ります。

バックプロパゲーションは、勾配の符号を使用して、重みを増やすか減らすかを決定します。 勾配の符号により、コスト関数に最も近い最小値の方向を決定できます。 与えられたパラメータに対して、次の計算によってベクトルを繰り返し最適化します。

そして、これはグラフィカルな表現です。

 

上記の式は次のように読むことができます。 ステップで、ニューラルネットワークの重みはすべて、ハイパーパラメータとコスト関数の勾配の積によって変更され、それらの重みで計算されます。 勾配が正の場合、重みを減らします; 逆に、勾配が負の場合、重みを増やします。

4. 最急降下法

勾配上昇は勾配降下と同じように機能しますが、1つの違いがあります。 それが果たすタスクは最小化ではなく、いくつかの関数の最大化です。 違いの理由は、関数の最小値ではなく、最大値に到達したい場合があるためです。 これは、たとえば、分離超平面と観測値の間の距離を最大化する場合に当てはまります。

このため、勾配上昇を表す式は、勾配降下の式と似ています。 のみ、反転した記号付き:

最急降下法が最も近い最小値への反復的な動きを示している場合、逆に、最急降下法は最も近い最大値への動きを示します。 この意味で、最急降下法を適用する関数には、最急降下法を適用できる対称関数があります。

これは、最急降下法で取り組む問題にも、独立変数の軸に反映するだけで、最急降下法で見つけることができる解決策があることを意味します。 この画像は、前のグラフと同じ機能を示していますが、軸に沿って反映されています。

ロジスティック回帰のコスト関数に関する記事では、対数尤度の使用法とその凸性との関係を調べました。 正の対数尤度を使用する場合、目的関数は凹型であり、最急降下法を使用する必要があります。 逆に、一般的な方法のように負の対数尤度を使用する場合は、代わりに最急降下法を使用する必要があります。

これは、最急降下法が凸型の目的関数で機能するのに対し、最急降下法では凹型の関数が必要なためです

5. 最急降下法または最急降下法?

これで、上記の考慮事項を要約できます。

  • 勾配は、ある点の関数のすべての偏導関数を含むベクトルです。
  • 凸関数に最急降下法を適用し、凹関数に最急降下法を適用できます
  • 最急降下法は関数の最も近い最小値を見つけ、最急降下法は最も近い最大値を見つけます
  • 目的関数を反転できる場合は、同じ問題に対してどちらの形式の最適化も使用できます。

とはいえ、実際には最急降下法は最急降下法よりも一般的です。

6. 結論

このチュートリアルでは、勾配の概念を研究し、勾配降下法と勾配上昇法の違いを学びました。