現実の問題は、1つの変数では表せない。商品の売上は価格にも、広告費にも、季節にも依存する。ニューラルネットワークのパラメータは数百万個ある。このような多変数関数で「どの方向に動けば最も改善するか」を知るには、偏微分と勾配が必要になる。

偏微分 勾配 ∇(ナブラ) 方向微分

偏微分とは

偏微分(Partial Derivative)

多変数関数 f(x, y, ...) において、1つの変数だけを変化させたときの変化率。

∂f/∂x : x で偏微分(他の変数は定数扱い)

∂f/∂y : y で偏微分(他の変数は定数扱い)

f(x, y) = x² + 3xy + y² のとき

∂f/∂x = 2x + 3y(yは定数として扱う)

∂f/∂y = 3x + 2y(xは定数として扱う)

勾配ベクトル

勾配(Gradient)

すべての偏微分をベクトルにまとめたもの。

∇f = (∂f/∂x₁, ∂f/∂x₂, ..., ∂f/∂xₙ)

記号:∇f(ナブラf)、grad f

勾配ベクトルの重要な性質:

性質 意味
方向 関数が最も急激に増加する方向
大きさ その方向での変化率の大きさ
-∇f の方向 関数が最も急激に減少する方向

等高線と勾配

2変数関数をグラフにすると曲面になる。同じ高さの点を結ぶと等高線。勾配ベクトルは等高線に垂直で、山を登る最も急な方向を指す。

ヤコビアンとヘッセ行列

ヤコビアン(Jacobian)

ベクトル値関数 f: ℝⁿ → ℝᵐ の偏微分をまとめた行列。

J = [∂fᵢ/∂xⱼ](m×n 行列)

多次元への拡張における「導関数」の役割。

ヘッセ行列(Hessian)

2階偏微分をまとめた行列。

H = [∂²f/∂xᵢ∂xⱼ]

曲面の曲がり具合を表す。最適化の収束性に関係。

実務での応用

WEB開発での応用

感度分析:各パラメータが結果にどれだけ影響するかを偏微分で評価。

最適化問題:コスト関数の最小化(物流、スケジューリング)。

シミュレーション:物理シミュレーションでの力の計算。

AI/MLでの応用

損失関数の勾配:各パラメータをどう変えれば損失が減るかを示す。

バックプロパゲーション:勾配を逆向きに伝播させてすべてのパラメータの勾配を計算。

学習率の調整:ヘッセ行列の情報を使った高度な最適化手法(Newton法、Adam)。

深掘りリンク