微分・偏微分・勾配の基礎

機械学習の最適化を支える微分の最低限。勾配降下法と学習率の意味を腹落ちさせます。

機械学習の最適化を支える微分の基礎。勾配降下法のために最低限を押さえます。

白峰 リリ(普段) 白峰 リリ

微分って高校で習ったけど、ML本では『勾配』って書かれててちょっと違う気がする…

神楽 モニカ 先生(笑顔) 神楽 モニカ 先生

いい目の付け所ね。
微分は1変数関数の傾き、偏微分は多変数関数で1変数だけ動かしたときの傾き、勾配∇は全変数の偏微分をまとめたベクトル。

紅林 かえで(普段) 紅林 かえで

1変数 f(x)=x² なら f'(x)=2x。 これが微分。 2変数 f(x,y)=x²+y² なら ∂f/∂x=2x、∂f/∂y=2y。 これが偏微分よ。

藍沢 しずく(普段) 藍沢 しずく

じゃあ勾配ベクトルは∇f = (2x, 2y) ってことですかぁ?

紅林 かえで(普段) 紅林 かえで

その通り。
勾配は『その点で関数が最も急に増える方向』を指すベクトル。 機械学習では損失関数を最小化したいので、勾配の逆方向に進むのが基本戦略。 これが{kw('勾配降下法')}。

白峰 リリ(笑い) 白峰 リリ

勾配降下法って、めっちゃ大事じゃん!

神楽 モニカ 先生(普段) 神楽 モニカ 先生

そう、ニューラルネットワークも線形回帰も、損失関数を勾配降下で最小化するの。 数式: θ_new = θ_old - η·∇L(θ)。 ηは学習率。

藍沢 しずく(普段) 藍沢 しずく

学習率って何ですかぁ?

紅林 かえで(普段) 紅林 かえで

1ステップでどれくらい動くかを決める数値。 大きすぎると振動し、小さすぎると学習が遅い。 0.001〜0.1 が典型値。

白峰 リリ(普段) 白峰 リリ

極小値だと勾配が0になるんだよね?

神楽 モニカ 先生(普段) 神楽 モニカ 先生

その通り。 局所最小値・極大値・鞍点では勾配=0。 二階微分(ヘッセ行列)で形状を判定するけど、DS検定★では『勾配=0が極値の必要条件』を覚えておけば十分よ。

紅林 かえで(普段) 紅林 かえで

DS検定では『勾配の意味』『勾配降下法の手順』『学習率の役割』が問われやすいわ。

藍沢 しずく(笑顔) 藍沢 しずく

しずく、覚えますぅ♪

f(x, y) = x² + 2xy + 3y² の勾配 ∇f を求める:
  ∂f/∂x = 2x + 2y
  ∂f/∂y = 2x + 6y
  ∇f = (2x + 2y, 2x + 6y)

(1, 1) での勾配:
  ∇f(1, 1) = (2·1 + 2·1, 2·1 + 6·1) = (4, 8)
  → (1,1) では (4, 8) 方向が最も急な増加方向
  → 勾配降下法ではその逆方向(-4, -8)に進む

確認クイズ

勾配降下法における学習率 η の役割として正しいものはどれか。

  1. 1ステップでパラメータを更新する大きさを決める
  2. 損失関数の絶対値そのもの
  3. 勾配の符号を決める
  4. サンプル数を決める
こたえを見る

正解: 1. 1ステップでパラメータを更新する大きさを決める

1ステップでパラメータを更新する大きさを決めるのが学習率の役割です。 大きすぎると振動して収束しない、小さすぎると学習が極端に遅い、というトレードオフがあり、典型値は 0.001〜0.1 です。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。