解説: 勾配降下法は何をしているのか?
勾配降下法 (Gradient Descent) は、機械学習モデルが「学習」するための最も基本的で強力なアルゴリズムの一つです。目的は、「損失関数」というモデルの性能を表す成績表の点数(間違いの大きさ)を、できるだけ小さくすることです。
このデモは、そのプロセスをステップ・バイ・ステップで可視化したものです。
- 1. 損失関数(緑のグラフ)
-
横軸はモデルのパラメータ(このデモでは直線の切片)、縦軸は損失(間違いの大きさ、具体的には残差二乗和)を表します。このU字型の曲線の一番低い谷底が、最も損失が小さい、つまり最もデータにフィットした最適なパラメータの値です。
- 2. 勾配(オレンジの接線)
-
損失関数上の現在地における「傾き」です。この傾きが、パラメータをどちらに動かせば損失が減るかを教えてくれます。
- 接線が右肩下がり(勾配がマイナス)なら、損失を減らすには右(プラス方向)に進むべきです。
- 接線が右肩上がり(勾配がプラス)なら、損失を減らすには左(マイナス方向)に進むべきです。
- 3. 学習率(スライダー)
-
勾配の方向にどれくらいの「歩幅(ステップサイズ)」で進むかを決める重要なパラメータです。
- 学習率が大きすぎると、谷底を飛び越えてしまい、いつまでも収束しない(発散する)可能性があります。
- 学習率が小さすぎると、学習に非常に長い時間がかかってしまいます。
- 4. パラメータの更新
-
最終的に、パラメータは
新しい切片 = 現在の切片 - (学習率 × 勾配)
という非常にシンプルな式で更新されます。このステップを繰り返すことで、青い点は賢く谷底へと向かっていき、左側のグラフの回帰直線もデータにフィットしていきます。