ベクトルの微分・行列の微分(Matrix Calculus)
公式一覧から証明・応用まで — 全16章+22分野の応用例
ベクトルの微分・行列の微分とは
ベクトルの微分・行列の微分(Matrix Calculus)とは、スカラー・ベクトル・行列を変数とする関数の微分を体系的に扱う分野である。 通常の偏微分を行列やベクトルの形にまとめることで、多次元の勾配計算を簡潔に記述できる。
直感的な理解
1変数関数 $f(x)$ の微分は $\dfrac{df}{dx}$(スカラー)だった。では、$n$ 変数の関数 $f(\boldsymbol{x})$ を $\boldsymbol{x} = (x_1, \ldots, x_n)^\top$ で微分すると何になるか? 答えは勾配ベクトル(各偏微分を並べたベクトル)である:
$$\frac{\partial f}{\partial \boldsymbol{x}} = \begin{pmatrix} \dfrac{\partial f}{\partial x_1} \\[6pt] \vdots \\[6pt] \dfrac{\partial f}{\partial x_n} \end{pmatrix}$$同様に、ベクトル値関数 $\boldsymbol{f}(\boldsymbol{x})$ をベクトルで微分すればヤコビ行列に、スカラー関数を行列 $\boldsymbol{X}$ で微分すれば行列勾配になる。 これが「ベクトルの微分」「行列の微分」の基本的な考え方である。
微分の種類と結果の形
| 被微分関数 | 微分変数 | 結果の形 | 名称 |
|---|---|---|---|
| スカラー $f$ | ベクトル $\boldsymbol{x} \in \mathbb{R}^n$ | $n$ 次元ベクトル | 勾配(gradient) |
| ベクトル $\boldsymbol{f} \in \mathbb{R}^m$ | ベクトル $\boldsymbol{x} \in \mathbb{R}^n$ | $n \times m$ 行列 | ヤコビ行列(Jacobian) |
| スカラー $f$ | ベクトル $\boldsymbol{x}$(2回微分) | $n \times n$ 行列 | ヘッセ行列(Hessian) |
| スカラー $f$ | 行列 $\boldsymbol{X} \in \mathbb{R}^{m \times n}$ | $m \times n$ 行列 | 行列勾配 |
なぜ必要なのか
- 機械学習: ニューラルネットワークの逆伝播(バックプロパゲーション)は行列の微分そのもの。損失関数の重み行列に関する勾配 $\frac{\partial L}{\partial \boldsymbol{W}}$ を計算する
- 統計学: 最尤推定でパラメータベクトルに関する対数尤度の勾配を求める。フィッシャー情報行列やガウス過程の計算にも不可欠
- 最適化: Newton法・準Newton法では勾配(1次)とヘッセ行列(2次)を使って収束を加速する
- 制御工学: LQR(線形二次レギュレータ)やカルマンフィルタの導出に二次形式の微分が必要
- 物理学: 連続体力学のひずみエネルギー関数、電磁気学のグリーン関数の微分など
主要公式 早見表(分母レイアウト)
以下は最も頻繁に使われる公式の抜粋である。全公式は公式集を参照。
ベクトルの微分(スカラーをベクトルで微分)
| 関数 | 微分 $\dfrac{\partial}{\partial \boldsymbol{x}}$ | 備考 |
|---|---|---|
| $\boldsymbol{a}^\top \boldsymbol{x}$ | $\boldsymbol{a}$ | 線形関数 |
| $\boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x}$ | $(\boldsymbol{A} + \boldsymbol{A}^\top)\boldsymbol{x}$ | 二次形式($\boldsymbol{A}$ 対称なら $2\boldsymbol{A}\boldsymbol{x}$) |
| $\|\boldsymbol{x}\|^2 = \boldsymbol{x}^\top\boldsymbol{x}$ | $2\boldsymbol{x}$ | ノルムの二乗 |
| $\boldsymbol{x}^\top \boldsymbol{A}^\top \boldsymbol{b}$ | $\boldsymbol{A}^\top \boldsymbol{b}$ | アフィン変換 |
| $\|\boldsymbol{A}\boldsymbol{x} - \boldsymbol{b}\|^2$ | $2\boldsymbol{A}^\top(\boldsymbol{A}\boldsymbol{x} - \boldsymbol{b})$ | 最小二乗法の正規方程式 |
ベクトルの微分(ベクトルをベクトルで微分)
| 関数 | 微分 $\dfrac{\partial}{\partial \boldsymbol{x}}$ | 備考 |
|---|---|---|
| $\boldsymbol{A}\boldsymbol{x}$ | $\boldsymbol{A}^\top$ | ヤコビ行列 |
| $\boldsymbol{x}$ | $\boldsymbol{I}$ | 恒等写像 |
行列の微分(スカラーを行列で微分)
| 関数 | 微分 $\dfrac{\partial}{\partial \boldsymbol{X}}$ | 備考 |
|---|---|---|
| $\mathrm{tr}(\boldsymbol{A}\boldsymbol{X})$ | $\boldsymbol{A}^\top$ | トレースの微分(最基本) |
| $\mathrm{tr}(\boldsymbol{X}^\top\boldsymbol{A}\boldsymbol{X})$ | $(\boldsymbol{A}+\boldsymbol{A}^\top)\boldsymbol{X}$ | 二次形式のトレース |
| $\mathrm{tr}(\boldsymbol{A}\boldsymbol{X}^{-1}\boldsymbol{B})$ | $-\boldsymbol{X}^{-\top}\boldsymbol{A}^\top\boldsymbol{B}^\top\boldsymbol{X}^{-\top}$ | 逆行列を含むトレース |
| $\log|\boldsymbol{X}|$ | $\boldsymbol{X}^{-\top}$ | 対数行列式(最尤推定で頻出) |
| $|\boldsymbol{X}|$ | $|\boldsymbol{X}|\,\boldsymbol{X}^{-\top}$ | 行列式の微分 |
| $\boldsymbol{X}^{-1}$(行列値) | $-\boldsymbol{X}^{-1} d\boldsymbol{X}\, \boldsymbol{X}^{-1}$ | 逆行列の微分 |
上表はすべて分母レイアウト(Jacobian formulation)に基づく。分子レイアウトでは転置が入る。詳細は入門ページの「レイアウトの選び方」を参照。
分母レイアウトと分子レイアウト
行列微分には2つの記法が共存しており、文献によって異なる。結果が転置の関係になるため、混在させると計算を間違える。
| 項目 | 分母レイアウト | 分子レイアウト |
|---|---|---|
| $\dfrac{\partial f}{\partial \boldsymbol{x}}$($f$: スカラー, $\boldsymbol{x} \in \mathbb{R}^n$) | $n \times 1$ 列ベクトル | $1 \times n$ 行ベクトル |
| 別名 | Jacobian formulation | Hessian formulation |
| 主な採用分野 | 統計学・機械学習・最適化 | 工学・物理学の一部 |
| 連鎖律の順序 | 右から左 | 左から右 |
本シリーズでは分母レイアウトを採用している。詳しい比較は入門ページ、約60分野のレイアウト傾向は分野別レイアウト一覧を参照。
本シリーズの特徴
シリーズ目次
-
第1章
ベクトル微分/行列微分入門
なぜ必要か、何ができるか、分母/分子レイアウトの選び方
-
第2章
ベクトル微分/行列微分の公式集
全16章・スカラー/ベクトル/行列の微分公式一覧
-
第3章
ベクトル微分/行列微分の証明集
各公式の詳細な導出過程(16章+Lie群3章+応用4章)
-
第4章
テンソル微分入門
高階テンソルへの一般化
-
第5章
自動微分と最適化
深層学習フレームワークとの関係
-
付録
分野別レイアウト一覧
約60分野における記法の傾向
前提知識
- 線形代数の基礎(行列演算、転置、逆行列、行列式)
- 微分の基礎(偏微分、連鎖律)
- ベクトル解析の基礎(勾配)