勾配降下法は機械学習における重要な最適化手法であり、モデルの損失関数を最小限に抑えるために使用されます。平たく言えば、損失関数を最小化する理想的な値の範囲が見つかるまで、モデルのパラメーターを繰り返し変更する必要があります。この方法は、損失関数の負の勾配の方向に、より具体的には最急降下経路に沿って小さなステップを踏むことによって機能します。学習率は、アルゴリズムの速度と精度の間のトレードオフを調整するハイパーパラメーターであり、ステップ サイズのサイズに影響します。線形回帰、ロジスティック回帰、ニューラル ネットワークなどの多くの機械学習手法では、勾配降下法が採用されています。その主な用途はモデルのトレーニングで、目標はターゲット変数の期待値と実際の値の差を最小限に抑えることです。この記事では、極小値を見つけるために Python で勾配降下法を実装する方法を見ていきます。
いよいよ Python で勾配降下法を実装します。これを実装する方法の基本的な説明は次のとおりです -
まず、必要なライブラリをインポートします。
その関数とその派生関数を定義します。
次に、勾配降下関数を適用します。
関数を適用した後、極小値
最後に、出力をプロットします。
ライブラリのインポート
リーリー次に、関数 f(x) とその導関数 f'(x) を定義します -
リーリーF(x) は削減する必要がある関数で、df はその導関数 (x) です。勾配降下法は導関数を使用して、途中で関数の傾きを明らかにすることで最小値に向かって導きます。
次に、勾配降下関数を定義します。
リーリーx の開始値、学習率、および必要な反復回数が勾配降下関数に送信されます。各反復後に x の値を保存するために、x を元の値に初期化し、空のリストを生成します。次に、メソッドは指定された反復回数で勾配降下法を実行し、方程式 x = x - 学習率 * 勾配に従って各反復で x を変更します。この関数は、各反復の x 値のリストと x の最終値を生成します。
勾配降下関数を使用して f(x) の極小値を特定できるようになりました -
この図では、x は最初に 0 に設定され、学習率は 0.1 で、50 回の反復が実行されます。最後に、x の値を公開します。これは、x=2 での極小値に近くなるはずです。
関数 f(x) と各反復の x 値をプロットすると、勾配降下プロセスの動作を確認できます -
Example
import numpy as np import matplotlib.pyplot as plt
以上が極小値を見つけるために Python で勾配降下法アルゴリズムを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。