メモ‎ > ‎

Formulae for vector gradients (ベクトルの勾配に関する諸公式)

オンライン上で、ベクトルの勾配に関する公式、特に実践的に利用されるもの(例えば、「関数 aTx の勾配」などを載せているようなもの)をしっかりまとめたページが見当たらなかったので作ってみます。
※順次追加します。

前提

ベクトルの勾配に関する諸公式を示す。すなわち、関数 f(x): RdR について、f(x): RdRd を与える。

以下ではすべて、勾配は変数 xRd に関するものとする。
細字の小文字はスカラー、太字の小文字はベクトル、大文字は行列とする。
p-ノルムは「||・||p」、転置は「T」で表す。

1. 単純な関数の勾配

  • 1-1: aTx = a
  • 1-2: ∇||x||22 = ∇xTx = 2x
  • 1-3: ∇||x||2 = (1/||x||2)x
  • 1-4: xTAx = 2Ax
  • 1-5: ∇||Ax||22 = ∇(xTATAx) = 2ATAx

2. 汎用的な公式

  • [合成関数の微分1]
    f
    (t): RR、g(x): RdR について
    f(g(x)) = f '(g(x))・∇g(x)
  • [合成関数の微分2]
    f
    (x): RdR、g(t): RRd について
    df
    (g(t)) / dt = [∇f(x)]T[dg(t)/dt] ※全微分の定義そのもの。全微分可能性が必要

Comments