更新:2024/10/21

ベクトルをベクトルで微分したときの公式の証明について

はるか
はるか
ベクトルをベクトルで微分する…。
ふゅか
ふゅか
それぞれの成分ごとの偏微分をまとめた行列になるんだよね!

1. ベクトルをベクトルで微分する

行列は、$\mathbf{a}=( a_1(t) ,a_2(t) ,\cdots , a_n(t))$ の各成分を $\mathbf{x}=(x_1,x_2,\cdots,x_n)$ の各成分で偏微分した結果を行列形式でまとめたものです。

$$ \dfrac{\partial }{\partial \mathbf{x}} \mathbf{a}= \begin{pmatrix} \dfrac{\partial a_1}{\partial x_1} & \dfrac{\partial a_2}{\partial x_1} & \dots & \dfrac{\partial a_n}{\partial x_1} \\ \dfrac{\partial a_1}{\partial x_2} & \dfrac{\partial a_2}{\partial x_2} & \dots & \dfrac{\partial a_n}{\partial x_2} \\ \vdots & \vdots & \ddots & \vdots \\ \dfrac{\partial a_1}{\partial x_n} & \dfrac{\partial a_2}{\partial x_n} & \dots & \dfrac{\partial a_n}{\partial x_n} \end{pmatrix} $$

1.1. ベクトルをベクトルで微分したときの公式

$A$を$n\times n$の正方行列、$I_n$を$n\times n$の単位行列とすると、

\begin{align*}
\frac{\partial x}{\partial x} &= I_n \\
\frac{\partial}{\partial x}(Ax) &= A^T \\
\end{align*}

ベクトルを入力とし、ベクトルを返す関数 \( f : \mathbb{R}^n \to \mathbb{R}^n \) および \( g : \mathbb{R}^n \to \mathbb{R}^n \) を合成したとき、合成関数の微分に関して次の関係が成り立ちます。

\[ \dfrac{\partial}{\partial \mathbf{x}} g(f(\mathbf{x})) = \dfrac{\partial f}{\partial \mathbf{x}} \cdot \dfrac{\partial g}{\partial \mathbf{y}} \]

2. 公式の証明

2.1. \(\dfrac{\partial \mathbf{x}}{\partial \mathbf{x}} = I_n\)

$$\frac{\partial x}{\partial x}= I_n$$

ベクトル \(\mathbf{x} = (x_1, x_2, \dots, x_n)^T\) の微分を考えると、

$$ \dfrac{\partial }{\partial \mathbf{x}} \mathbf{x}= \begin{pmatrix} \dfrac{\partial x_1}{\partial x_1} & \dfrac{\partial x_2}{\partial x_1} & \dots & \dfrac{\partial x_n}{\partial x_1} \\ \dfrac{\partial x_1}{\partial x_2} & \dfrac{\partial x_2}{\partial x_2} & \dots & \dfrac{\partial x_n}{\partial x_2} \\ \vdots & \vdots & \ddots & \vdots \\ \dfrac{\partial x_1}{\partial x_n} & \dfrac{\partial x_2}{\partial x_n} & \dots & \dfrac{\partial x_n}{\partial x_n} \end{pmatrix} $$

したがって、 \(i\) 行 \(j\) 列の要素の偏微分

\[ \frac{\partial x_j}{\partial x_i} = \begin{cases} 1 & (i = j) \\ 0 & (i \ne j) \end{cases} \]

これはクロネッカーのデルタ\(\delta_{ij}\) です。行列で表すと、これは \( n \times n \) の単位行列 \( I_n \) です。

2.2. \(\dfrac{\partial}{\partial \mathbf{x}} (A \mathbf{x}) = A^T\)

$$\frac{\partial}{\partial x}(Ax) = A^T$$

正方行列 \(A\) とベクトル \(\mathbf{x}\) に対して、\(\mathbf{a} = A \mathbf{x}\) と置きます。各成分は次のようになります。

\[ a_j = \sum_{k=1}^n A_{jk} x_k \]

これを用いて、 \(i\) 行 \(j\) 列の要素の偏微分を計算します。

\[ \dfrac{\partial a_j}{\partial x_i} = \dfrac{\partial}{\partial x_i} \left( \sum_{k=1}^n A_{jk} x_k \right) = A_{ji} \]

したがって、行列 \(\dfrac{\partial \mathbf{a}}{\partial \mathbf{x}}\) の \(i\) 行 \(j\) 列の要素は \(A_{ji}\) となります。したがって、行列 \(A\) の転置 \(A^T\) になります。

ふゅか
ふゅか
最後に合成関数の微分の話だよね?
はるか
はるか
うん。合成関数の微分は、チェーンルールを使う

2.3. \(\dfrac{\partial}{\partial \mathbf{x}} g(f(\mathbf{x})) = \dfrac{\partial f}{\partial \mathbf{x}} \cdot \dfrac{\partial g}{\partial \mathbf{y}}\)

$$\dfrac{\partial}{\partial \mathbf{x}} g(f(\mathbf{x})) = \dfrac{\partial f}{\partial \mathbf{x}} \cdot \dfrac{\partial g}{\partial \mathbf{y}}$$

\( \mathbf{y} = f(\mathbf{x}) \)、\( \mathbf{z} = g(\mathbf{y}) \) とします。各成分について、

\[ y_j = f_j(x_1, x_2, \dots, x_n) \]

\[ z_k = g_k(y_1, y_2, \dots, y_n) \]

チェーンルール(連鎖律)により、\(\dfrac{\partial z_k}{\partial x_i}\) は次のように計算できます。

\[ \dfrac{\partial z_k}{\partial x_i} = \sum_{j=1}^n \dfrac{\partial z_k}{\partial y_j} \dfrac{\partial y_j}{\partial x_i} \]

これは、行列の要素として次のように表すことができます。

  • \(\dfrac{\partial z_k}{\partial x_i}\) は行列 \(\dfrac{\partial \mathbf{z}}{\partial \mathbf{x}}\) の \( (i, k) \) 成分
  • \(\dfrac{\partial z_k}{\partial y_j}\) は行列 \(\dfrac{\partial \mathbf{z}}{\partial \mathbf{y}}\) の \( (j, k) \) 成分
  • \(\dfrac{\partial y_j}{\partial x_i}\) は行列 \(\dfrac{\partial \mathbf{y}}{\partial \mathbf{x}}\) の \( (i, j) \) 成分

これらを組み合わせて、

\[ \left( \dfrac{\partial \mathbf{z}}{\partial \mathbf{x}} \right)_{ik} = \sum_{j=1}^n \left( \dfrac{\partial \mathbf{y}}{\partial \mathbf{x}} \right)_{ij} \left( \dfrac{\partial \mathbf{z}}{\partial \mathbf{y}} \right)_{jk} \]

したがって、行列では

\[ \dfrac{\partial \mathbf{z}}{\partial \mathbf{x}} = \dfrac{\partial \mathbf{y}}{\partial \mathbf{x}} \cdot \dfrac{\partial \mathbf{z}}{\partial \mathbf{y}} \]

つまり、

\[ \dfrac{\partial}{\partial \mathbf{x}} g(f(\mathbf{x})) = \dfrac{\partial f}{\partial \mathbf{x}} \cdot \dfrac{\partial g}{\partial \mathbf{y}} \]

3. 関連した記事