ホームページ  >  記事  >  勾配降下の原理

勾配降下の原理

(*-*)浩
(*-*)浩オリジナル
2019-07-09 13:36:097575ブラウズ

勾配法のアイデアの 3 つの要素: 開始点、降下方向、降下ステップ サイズ。

勾配降下の原理

機械学習で一般的に使用される重み更新式は次のとおりです (推奨学習: Python ビデオ チュートリアル )

:, λ は学習率です。この記事では、この公式から始まり、機械学習におけるさまざまな「勾配」降下法をわかりやすく説明します。

機械学習の対象となる関数は凸関数が一般的ですが、凸関数とは何でしょうか?

紙面の都合上、詳細な開発には立ち入りません。ここでは、凸関数の問題を解決するための鮮やかな比喩を作成します。ターゲットの損失関数を、関数の底を見つけるためのポットとして想像してください。ポット。 非常に直感的なアイデアは、初期点で関数の勾配方向に沿って下降する (つまり、勾配降下) ということです。ここで、別の鮮やかな例えをしてみましょう。この動きを力に例えると、3 つの完全な要素は、歩幅 (どのくらい動かすか)、方向、開始点です。この鮮やかな比喩により、勾配を解くことが容易になります。はい、開始点は非常に重要であり、初期化中に考慮すべき鍵であり、方向とステップ サイズが鍵となります。 実際、異なるグラデーションの違いは次の 2 つの点にあります。

勾配の方向は

勾配降下の原理

で、ステップ サイズは定数 Δ に設定されます。勾配が大きい場合、最適解から遠く離れている場合にはWの更新が早くなりますが、勾配が小さい場合、つまり最適解に近い場合にはWの更新も同時に行われます。これにより、W が簡単に過剰更新されて最適解から遠ざかり、最適解付近で前後に振動します。したがって、最適解から遠い場合は勾配が大きく、最適解に近い場合は勾配が小さいため、ステップ長をこのリズムに従わせるため、Δの代わりに λ|W| を使用します。 最終的に、次の結果が得られます。私たちがよく知っている式:

勾配降下の原理

つまり、このときの λ は定数であっても、坂の急さ、緩さによって変化します。

Python 関連の技術記事をさらに詳しく知りたい場合は、Python チュートリアル 列にアクセスして学習してください。

以上が勾配降下の原理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。