2. スカラをベクトルで微分の証明
Proofs: Scalar by Vector
2.1 定数の微分
証明
分母レイアウトでは、スカラ $a$ をベクトル $\boldsymbol{x}$ で微分した結果は、各成分の偏微分を縦に並べた列ベクトルになる。
まず、勾配ベクトルの定義を確認する。スカラ関数をベクトルで微分すると、各成分に関する偏微分を並べたベクトルが得られる。
\begin{equation} \frac{\partial a}{\partial \boldsymbol{x}} = \begin{pmatrix} \displaystyle\frac{\partial a}{\partial x_0} \\[1em] \displaystyle\frac{\partial a}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial a}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-1-1} \end{equation}
ここで、$a$ は定数であることに注意する。定数とは、$x_0, x_1, \ldots, x_{N-1}$ のどの変数にも依存しない値である。
変数に依存しない値を、その変数で微分すると 0 になる。これは微分の基本的な性質である。したがって、各成分について以下が成り立つ。
\begin{equation} \frac{\partial a}{\partial x_k} = 0 \quad (k = 0, 1, \ldots, N-1) \label{eq:2-1-2} \end{equation}
\eqref{eq:2-1-2} を \eqref{eq:2-1-1} に代入すると、すべての成分が 0 になる。
\begin{equation} \frac{\partial a}{\partial \boldsymbol{x}} = \begin{pmatrix} 0 \\ 0 \\ \vdots \\ 0 \end{pmatrix} \label{eq:2-1-3} \end{equation}
すべての成分が 0 であるベクトルは、ゼロベクトル $\boldsymbol{0}$ と呼ばれる。したがって、最終的な結果は次のようになる。
\begin{equation} \frac{\partial a}{\partial \boldsymbol{x}} = \boldsymbol{0} \label{eq:2-1-4} \end{equation}
2.2 内積の微分
証明
まず、内積 $\boldsymbol{a}^\top \boldsymbol{x}$ の定義を確認する。行ベクトル $\boldsymbol{a}^\top$ と列ベクトル $\boldsymbol{x}$ の積として表される。
\begin{equation} \boldsymbol{a}^\top \boldsymbol{x} = \begin{pmatrix} a_0 & a_1 & \cdots & a_{N-1} \end{pmatrix} \begin{pmatrix} x_0 \\ x_1 \\ \vdots \\ x_{N-1} \end{pmatrix} \label{eq:2-2-1} \end{equation}
行列の積を計算する。行ベクトルと列ベクトルの積は、対応する成分同士の積を足し合わせたスカラになる。
\begin{equation} \boldsymbol{a}^\top \boldsymbol{x} = a_0 x_0 + a_1 x_1 + \cdots + a_{N-1} x_{N-1} \label{eq:2-2-2} \end{equation}
これを総和記号を用いて簡潔に表すと、次のようになる。
\begin{equation} \boldsymbol{a}^\top \boldsymbol{x} = \sum_{n=0}^{N-1} a_n x_n \label{eq:2-2-3} \end{equation}
次に、この式を $x_k$($k$ 番目の成分)で偏微分する。和の中で $x_k$ を含む項は $a_k x_k$ だけであり、それ以外の項($a_n x_n$ で $n \neq k$)は $x_k$ に依存しない。
\begin{equation} \frac{\partial}{\partial x_k} \sum_{n=0}^{N-1} a_n x_n = \frac{\partial}{\partial x_k} (a_0 x_0 + \cdots + a_k x_k + \cdots + a_{N-1} x_{N-1}) \label{eq:2-2-4} \end{equation}
$x_k$ に依存しない項を微分すると 0 になる。したがって、$a_k x_k$ の項だけが残る。
\begin{equation} \frac{\partial}{\partial x_k} \sum_{n=0}^{N-1} a_n x_n = 0 + \cdots + \frac{\partial}{\partial x_k}(a_k x_k) + \cdots + 0 \label{eq:2-2-5} \end{equation}
$a_k$ は定数なので、積の微分において外に出すことができる。$\displaystyle\frac{\partial x_k}{\partial x_k} = 1$ であるから、次の結果を得る。
\begin{equation} \frac{\partial}{\partial x_k}(a_k x_k) = a_k \cdot \frac{\partial x_k}{\partial x_k} = a_k \cdot 1 = a_k \label{eq:2-2-6} \end{equation}
したがって、内積の $x_k$ に関する偏微分は次のようになる。
\begin{equation} \frac{\partial}{\partial x_k} (\boldsymbol{a}^\top \boldsymbol{x}) = a_k \label{eq:2-2-7} \end{equation}
この結果 \eqref{eq:2-2-7} を全ての $k = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{a}^\top \boldsymbol{x}) = \begin{pmatrix} \displaystyle\frac{\partial}{\partial x_0} (\boldsymbol{a}^\top \boldsymbol{x}) \\[1em] \displaystyle\frac{\partial}{\partial x_1} (\boldsymbol{a}^\top \boldsymbol{x}) \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial}{\partial x_{N-1}} (\boldsymbol{a}^\top \boldsymbol{x}) \end{pmatrix} = \begin{pmatrix} a_0 \\ a_1 \\ \vdots \\ a_{N-1} \end{pmatrix} \label{eq:2-2-8} \end{equation}
右辺のベクトルは $\boldsymbol{a}$ そのものである。したがって、最終的な結果は次のようになる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{a}^\top \boldsymbol{x}) = \boldsymbol{a} \label{eq:2-2-9} \end{equation}
2.3 2-ノルムの2乗の微分
証明
まず、$\boldsymbol{x}^\top \boldsymbol{x}$ を成分表示で書き下す。行ベクトル $\boldsymbol{x}^\top$ と列ベクトル $\boldsymbol{x}$ の積である。
\begin{equation} \boldsymbol{x}^\top \boldsymbol{x} = \begin{pmatrix} x_0 & x_1 & \cdots & x_{N-1} \end{pmatrix} \begin{pmatrix} x_0 \\ x_1 \\ \vdots \\ x_{N-1} \end{pmatrix} \label{eq:2-3-1} \end{equation}
行列の積を計算する。対応する成分同士を掛けて足し合わせると、各成分の2乗の和になる。
\begin{equation} \boldsymbol{x}^\top \boldsymbol{x} = x_0 \cdot x_0 + x_1 \cdot x_1 + \cdots + x_{N-1} \cdot x_{N-1} \label{eq:2-3-2} \end{equation}
これを整理すると、次のように表せる。
\begin{equation} \boldsymbol{x}^\top \boldsymbol{x} = x_0^2 + x_1^2 + \cdots + x_{N-1}^2 \label{eq:2-3-3} \end{equation}
総和記号を用いて簡潔に表すと、次のようになる。これは 2-ノルムの2乗 $\|\boldsymbol{x}\|_2^2$ に等しい。
\begin{equation} \boldsymbol{x}^\top \boldsymbol{x} = \sum_{n=0}^{N-1} x_n^2 = \|\boldsymbol{x}\|_2^2 \label{eq:2-3-4} \end{equation}
次に、この式を $x_k$($k$ 番目の成分)で偏微分する。和の中で $x_k$ を含む項は $x_k^2$ だけである。
\begin{equation} \frac{\partial}{\partial x_k} \sum_{n=0}^{N-1} x_n^2 = \frac{\partial}{\partial x_k} (x_0^2 + \cdots + x_k^2 + \cdots + x_{N-1}^2) \label{eq:2-3-5} \end{equation}
$x_k$ に依存しない項($x_n^2$ で $n \neq k$)を微分すると 0 になる。したがって、$x_k^2$ の項だけが残る。
\begin{equation} \frac{\partial}{\partial x_k} \sum_{n=0}^{N-1} x_n^2 = 0 + \cdots + \frac{\partial}{\partial x_k}(x_k^2) + \cdots + 0 \label{eq:2-3-6} \end{equation}
べき乗の微分公式(1.18)を適用する。$\displaystyle\frac{d}{dx}(x^n) = n x^{n-1}$ において $n = 2$ とすると、次を得る。
\begin{equation} \frac{\partial}{\partial x_k}(x_k^2) = 2 x_k^{2-1} = 2x_k \label{eq:2-3-7} \end{equation}
この結果 \eqref{eq:2-3-7} を全ての $k = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{x}^\top \boldsymbol{x}) = \begin{pmatrix} 2x_0 \\ 2x_1 \\ \vdots \\ 2x_{N-1} \end{pmatrix} \label{eq:2-3-8} \end{equation}
共通因子 2 をくくり出すと、次のように整理できる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{x}^\top \boldsymbol{x}) = 2 \begin{pmatrix} x_0 \\ x_1 \\ \vdots \\ x_{N-1} \end{pmatrix} \label{eq:2-3-9} \end{equation}
右辺の列ベクトルは $\boldsymbol{x}$ そのものである。したがって、最終的な結果は次のようになる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{x}^\top \boldsymbol{x}) = 2\boldsymbol{x} \label{eq:2-3-10} \end{equation}
2.4 バイリニア形式(双線形形式)
証明
まず、$\boldsymbol{A}\boldsymbol{x}$ を成分で計算する。$\boldsymbol{A}$ は $M \times N$ 行列、$\boldsymbol{x}$ は $N$ 次元列ベクトルなので、結果は $M$ 次元列ベクトルになる。
\begin{equation} (\boldsymbol{A}\boldsymbol{x})_i = \sum_{j=0}^{N-1} A_{ij} x_j \quad (i = 0, 1, \ldots, M-1) \label{eq:2-4-1} \end{equation}
つまり、$\boldsymbol{A}\boldsymbol{x}$ の第 $i$ 成分は、$\boldsymbol{A}$ の第 $i$ 行と $\boldsymbol{x}$ の内積である。
次に、$\boldsymbol{b}^\top (\boldsymbol{A}\boldsymbol{x})$ を計算する。これは $M$ 次元ベクトル同士の内積である。
\begin{equation} \boldsymbol{b}^\top (\boldsymbol{A}\boldsymbol{x}) = \sum_{i=0}^{M-1} b_i \cdot (\boldsymbol{A}\boldsymbol{x})_i \label{eq:2-4-2} \end{equation}
\eqref{eq:2-4-1} を \eqref{eq:2-4-2} に代入する。
\begin{equation} \boldsymbol{b}^\top \boldsymbol{A} \boldsymbol{x} = \sum_{i=0}^{M-1} b_i \cdot \left( \sum_{j=0}^{N-1} A_{ij} x_j \right) \label{eq:2-4-3} \end{equation}
和の順序を入れ替えて、二重和を1つの式にまとめる。$b_i$ は $j$ に依存しないので、内側の和に入れることができる。
\begin{equation} \boldsymbol{b}^\top \boldsymbol{A} \boldsymbol{x} = \sum_{i=0}^{M-1} \sum_{j=0}^{N-1} b_i A_{ij} x_j \label{eq:2-4-4} \end{equation}
この式を $x_k$($k$ 番目の成分)で偏微分する。微分は線形作用素なので、和と順序を交換できる。
\begin{equation} \frac{\partial}{\partial x_k} \left( \sum_{i=0}^{M-1} \sum_{j=0}^{N-1} b_i A_{ij} x_j \right) = \sum_{i=0}^{M-1} \sum_{j=0}^{N-1} b_i A_{ij} \frac{\partial x_j}{\partial x_k} \label{eq:2-4-5} \end{equation}
ここで、$\displaystyle\frac{\partial x_j}{\partial x_k}$ はKroneckerのデルタと等しい。これは $j = k$ のとき 1、それ以外のとき 0 になる。
\begin{equation} \frac{\partial x_j}{\partial x_k} = \delta_{jk} = \begin{cases} 1 & (j = k \text{ のとき}) \\ 0 & (j \neq k \text{ のとき}) \end{cases} \label{eq:2-4-6} \end{equation}
\eqref{eq:2-4-6} を \eqref{eq:2-4-5} に代入する。$\delta_{jk}$ により、$j = k$ の項だけが残る。
\begin{equation} \frac{\partial}{\partial x_k} (\boldsymbol{b}^\top \boldsymbol{A} \boldsymbol{x}) = \sum_{i=0}^{M-1} \sum_{j=0}^{N-1} b_i A_{ij} \delta_{jk} \label{eq:2-4-7} \end{equation}
$j$ についての和でデルタ関数を適用すると、$j = k$ の項のみが選ばれる。
\begin{equation} \frac{\partial}{\partial x_k} (\boldsymbol{b}^\top \boldsymbol{A} \boldsymbol{x}) = \sum_{i=0}^{M-1} b_i A_{ik} \label{eq:2-4-8} \end{equation}
この結果を行列の積として解釈する。$\sum_{i=0}^{M-1} b_i A_{ik}$ は、行ベクトル $\boldsymbol{b}^\top$ と行列 $\boldsymbol{A}$ の第 $k$ 列との内積である。これが $(\boldsymbol{A}^\top \boldsymbol{b})_k$ と等しいことを確認する。
$\boldsymbol{A}^\top$ の第 $k$ 行は $\boldsymbol{A}$ の第 $k$ 列を転置したものである。転置の定義 $(\boldsymbol{A}^\top)_{ki} = A_{ik}$ を使うと、次のようになる。
\begin{equation} (\boldsymbol{A}^\top \boldsymbol{b})_k = \sum_{i=0}^{M-1} (\boldsymbol{A}^\top)_{ki} b_i = \sum_{i=0}^{M-1} A_{ik} b_i \label{eq:2-4-9} \end{equation}
積の順序を入れ替えると、\eqref{eq:2-4-8} と一致することがわかる。
\begin{equation} (\boldsymbol{A}^\top \boldsymbol{b})_k = \sum_{i=0}^{M-1} b_i A_{ik} \label{eq:2-4-10} \end{equation}
したがって、$x_k$ に関する偏微分は次のようになる。
\begin{equation} \frac{\partial}{\partial x_k} (\boldsymbol{b}^\top \boldsymbol{A} \boldsymbol{x}) = (\boldsymbol{A}^\top \boldsymbol{b})_k \label{eq:2-4-11} \end{equation}
この結果を全ての $k = 0, 1, \ldots, N-1$ についてまとめると、最終的な結果を得る。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{b}^\top \boldsymbol{A} \boldsymbol{x}) = \boldsymbol{A}^\top \boldsymbol{b} \label{eq:2-4-12} \end{equation}
2.5 二次形式
証明
まず、二次形式 $\boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x}$ を成分で書き下す。$\boldsymbol{A}\boldsymbol{x}$ の第 $i$ 成分は $\sum_{j=0}^{N-1} A_{ij} x_j$ である。
\begin{equation} \boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x} = \boldsymbol{x}^\top (\boldsymbol{A} \boldsymbol{x}) \label{eq:2-5-1} \end{equation}
内積の定義に従って展開する。
\begin{equation} \boldsymbol{x}^\top (\boldsymbol{A} \boldsymbol{x}) = \sum_{i=0}^{N-1} x_i \cdot (\boldsymbol{A}\boldsymbol{x})_i \label{eq:2-5-2} \end{equation}
$(\boldsymbol{A}\boldsymbol{x})_i$ の定義を代入する。
\begin{equation} \boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x} = \sum_{i=0}^{N-1} x_i \cdot \left( \sum_{j=0}^{N-1} A_{ij} x_j \right) \label{eq:2-5-3} \end{equation}
括弧を外して、二重和にまとめる。
\begin{equation} \boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x} = \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} A_{ij} x_i x_j \label{eq:2-5-4} \end{equation}
この式を $x_k$($k$ 番目の成分)で偏微分する。二重和の各項 $A_{ij} x_i x_j$ について、$x_k$ が現れるのは $i = k$ または $j = k$ のときである。
積の微分公式(Leibniz則、1.25)を使う。$\displaystyle\frac{\partial x_i}{\partial x_k} = \delta_{ik}$(Kroneckerのデルタ)であることに注意する。
\begin{equation} \frac{\partial (x_i x_j)}{\partial x_k} = \frac{\partial x_i}{\partial x_k} \cdot x_j + x_i \cdot \frac{\partial x_j}{\partial x_k} = \delta_{ik} x_j + x_i \delta_{jk} \label{eq:2-5-5} \end{equation}
この結果を二重和に適用する。$A_{ij}$ は定数なので、微分の外に出せる。
\begin{equation} \frac{\partial}{\partial x_k} (\boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x}) = \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} A_{ij} (\delta_{ik} x_j + x_i \delta_{jk}) \label{eq:2-5-6} \end{equation}
和を2つの部分に分ける。
\begin{equation} \frac{\partial}{\partial x_k} (\boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x}) = \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} A_{ij} \delta_{ik} x_j + \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} A_{ij} x_i \delta_{jk} \label{eq:2-5-7} \end{equation}
第1項を計算する。$\delta_{ik} = 1$ となるのは $i = k$ のときだけなので、$i$ についての和でデルタ関数を適用すると、$i = k$ の項のみが選ばれる。
\begin{equation} \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} A_{ij} \delta_{ik} x_j = \sum_{j=0}^{N-1} A_{kj} x_j \label{eq:2-5-8} \end{equation}
これは $(\boldsymbol{A}\boldsymbol{x})_k$、すなわち $\boldsymbol{A}\boldsymbol{x}$ の第 $k$ 成分である。
\begin{equation} \sum_{j=0}^{N-1} A_{kj} x_j = (\boldsymbol{A}\boldsymbol{x})_k \label{eq:2-5-9} \end{equation}
第2項を計算する。$\delta_{jk} = 1$ となるのは $j = k$ のときだけなので、$j$ についての和でデルタ関数を適用する。
\begin{equation} \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} A_{ij} x_i \delta_{jk} = \sum_{i=0}^{N-1} A_{ik} x_i \label{eq:2-5-10} \end{equation}
第2項を $\boldsymbol{A}^\top \boldsymbol{x}$ の成分として解釈する。転置の定義 $(\boldsymbol{A}^\top)_{ki} = A_{ik}$ を使う。
\begin{equation} (\boldsymbol{A}^\top \boldsymbol{x})_k = \sum_{i=0}^{N-1} (\boldsymbol{A}^\top)_{ki} x_i = \sum_{i=0}^{N-1} A_{ik} x_i \label{eq:2-5-11} \end{equation}
\eqref{eq:2-5-10} と \eqref{eq:2-5-11} を比較すると、両者は等しいことがわかる。
\begin{equation} \sum_{i=0}^{N-1} A_{ik} x_i = (\boldsymbol{A}^\top \boldsymbol{x})_k \label{eq:2-5-12} \end{equation}
\eqref{eq:2-5-7} に \eqref{eq:2-5-9} と \eqref{eq:2-5-12} を代入する。
\begin{equation} \frac{\partial}{\partial x_k} (\boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x}) = (\boldsymbol{A}\boldsymbol{x})_k + (\boldsymbol{A}^\top \boldsymbol{x})_k \label{eq:2-5-13} \end{equation}
右辺を行列の和として整理する。
\begin{equation} (\boldsymbol{A}\boldsymbol{x})_k + (\boldsymbol{A}^\top \boldsymbol{x})_k = ((\boldsymbol{A} + \boldsymbol{A}^\top) \boldsymbol{x})_k \label{eq:2-5-14} \end{equation}
この結果を全ての $k = 0, 1, \ldots, N-1$ についてまとめると、最終的な結果を得る。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x}) = (\boldsymbol{A} + \boldsymbol{A}^\top) \boldsymbol{x} \label{eq:2-5-15} \end{equation}
補足2:$\boldsymbol{A} = \boldsymbol{I}$(単位行列)のとき、$\boldsymbol{I} + \boldsymbol{I}^\top = 2\boldsymbol{I}$ なので、 $$\displaystyle\frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{x}^\top \boldsymbol{x}) = 2\boldsymbol{I}\boldsymbol{x} = 2\boldsymbol{x}$$ となり、公式(2.3)と一致する。
2.6 2-ノルムの微分
証明
まず、2-ノルム $\|\boldsymbol{x} - \boldsymbol{a}\|$ を定義に従って書き下す。
\begin{equation} \|\boldsymbol{x} - \boldsymbol{a}\| = \sqrt{(\boldsymbol{x} - \boldsymbol{a})^\top (\boldsymbol{x} - \boldsymbol{a})} \label{eq:2-6-1} \end{equation}
成分表示に展開すると、次のようになる。
\begin{equation} \|\boldsymbol{x} - \boldsymbol{a}\| = \sqrt{\sum_{i=0}^{N-1} (x_i - a_i)^2} \label{eq:2-6-2} \end{equation}
表記を簡単にするため、$u = \|\boldsymbol{x} - \boldsymbol{a}\|^2$ とおく。
\begin{equation} u = \|\boldsymbol{x} - \boldsymbol{a}\|^2 = \sum_{i=0}^{N-1} (x_i - a_i)^2 \label{eq:2-6-3} \end{equation}
すると、$\|\boldsymbol{x} - \boldsymbol{a}\| = \sqrt{u} = u^{1/2}$ と書ける。
\begin{equation} \|\boldsymbol{x} - \boldsymbol{a}\| = u^{1/2} \label{eq:2-6-4} \end{equation}
$u^{1/2}$ を $x_k$ で偏微分する。合成関数の微分(連鎖律、1.26)を使う。
\begin{equation} \frac{\partial}{\partial x_k} (u^{1/2}) = \frac{d}{du}(u^{1/2}) \cdot \frac{\partial u}{\partial x_k} \label{eq:2-6-5} \end{equation}
まず、$\displaystyle\frac{d}{du}(u^{1/2})$ を計算する。べき乗の微分公式(1.19)$\displaystyle\frac{d}{du}(u^n) = n u^{n-1}$ を適用する。
\begin{equation} \frac{d}{du}(u^{1/2}) = \frac{1}{2} u^{1/2 - 1} = \frac{1}{2} u^{-1/2} \label{eq:2-6-6} \end{equation}
これを元の変数で表すと、次のようになる。
\begin{equation} \frac{1}{2} u^{-1/2} = \frac{1}{2\sqrt{u}} = \frac{1}{2\|\boldsymbol{x} - \boldsymbol{a}\|} \label{eq:2-6-7} \end{equation}
次に、$\displaystyle\frac{\partial u}{\partial x_k}$ を計算する。$u$ の定義 \eqref{eq:2-6-3} より、
\begin{equation} \frac{\partial u}{\partial x_k} = \frac{\partial}{\partial x_k} \sum_{i=0}^{N-1} (x_i - a_i)^2 \label{eq:2-6-8} \end{equation}
和の中で $x_k$ を含む項は $(x_k - a_k)^2$ だけである。他の項は $x_k$ に依存しないので、微分すると 0 になる。
\begin{equation} \frac{\partial u}{\partial x_k} = \frac{\partial}{\partial x_k} (x_k - a_k)^2 \label{eq:2-6-9} \end{equation}
$(x_k - a_k)^2$ を $x_k$ で微分する。連鎖律(1.26)を適用する。
\begin{equation} \frac{\partial}{\partial x_k} (x_k - a_k)^2 = 2(x_k - a_k) \cdot \frac{\partial}{\partial x_k}(x_k - a_k) \label{eq:2-6-10} \end{equation}
$a_k$ は定数なので、$\displaystyle\frac{\partial}{\partial x_k}(x_k - a_k) = 1$ である。
\begin{equation} \frac{\partial}{\partial x_k} (x_k - a_k)^2 = 2(x_k - a_k) \cdot 1 = 2(x_k - a_k) \label{eq:2-6-11} \end{equation}
\eqref{eq:2-6-5} に \eqref{eq:2-6-7} と \eqref{eq:2-6-11} を代入する。
\begin{equation} \frac{\partial}{\partial x_k} \|\boldsymbol{x} - \boldsymbol{a}\| = \frac{1}{2\|\boldsymbol{x} - \boldsymbol{a}\|} \cdot 2(x_k - a_k) \label{eq:2-6-12} \end{equation}
分子の 2 と分母の 2 が約分される。
\begin{equation} \frac{\partial}{\partial x_k} \|\boldsymbol{x} - \boldsymbol{a}\| = \frac{x_k - a_k}{\|\boldsymbol{x} - \boldsymbol{a}\|} \label{eq:2-6-13} \end{equation}
この結果を全ての $k = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \|\boldsymbol{x} - \boldsymbol{a}\| = \begin{pmatrix} \displaystyle\frac{x_0 - a_0}{\|\boldsymbol{x} - \boldsymbol{a}\|} \\[1em] \displaystyle\frac{x_1 - a_1}{\|\boldsymbol{x} - \boldsymbol{a}\|} \\[1em] \vdots \\[0.5em] \displaystyle\frac{x_{N-1} - a_{N-1}}{\|\boldsymbol{x} - \boldsymbol{a}\|} \end{pmatrix} \label{eq:2-6-14} \end{equation}
分母 $\|\boldsymbol{x} - \boldsymbol{a}\|$ は全ての成分で共通なので、スカラとしてくくり出せる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \|\boldsymbol{x} - \boldsymbol{a}\| = \frac{1}{\|\boldsymbol{x} - \boldsymbol{a}\|} \begin{pmatrix} x_0 - a_0 \\ x_1 - a_1 \\ \vdots \\ x_{N-1} - a_{N-1} \end{pmatrix} \label{eq:2-6-15} \end{equation}
右辺の列ベクトルは $\boldsymbol{x} - \boldsymbol{a}$ そのものである。したがって、最終的な結果は次のようになる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \|\boldsymbol{x} - \boldsymbol{a}\| = \frac{\boldsymbol{x} - \boldsymbol{a}}{\|\boldsymbol{x} - \boldsymbol{a}\|} \label{eq:2-6-16} \end{equation}
補足2:$\boldsymbol{a} = \boldsymbol{0}$ の場合は $\displaystyle\frac{\boldsymbol{x}}{\|\boldsymbol{x}\|}$ となる。
$\boldsymbol{x} = \boldsymbol{a}$ での非微分可能性:$\boldsymbol{x} = \boldsymbol{a}$ では分母が 0 になり、勾配が定義されない。幾何的には、ノルム関数はこの点で「折れ曲がる」ため、一意な接線方向が存在しない。最適化の文脈では、この点での勾配の代わりに劣勾配(subgradient)の集合 $\{\boldsymbol{g} : \|\boldsymbol{g}\| \leq 1\}$ が用いられる。
2.7 2-ノルムの2乗の微分
証明
まず、$\|\boldsymbol{x} - \boldsymbol{a}\|^2$ を内積の形で表す。
\begin{equation} \|\boldsymbol{x} - \boldsymbol{a}\|^2 = (\boldsymbol{x} - \boldsymbol{a})^\top (\boldsymbol{x} - \boldsymbol{a}) \label{eq:2-7-1} \end{equation}
表記を簡単にするため、ベクトル値関数 $\boldsymbol{f}(\boldsymbol{x}) = \boldsymbol{x} - \boldsymbol{a}$ を定義する。
\begin{equation} \boldsymbol{f}(\boldsymbol{x}) = \boldsymbol{x} - \boldsymbol{a} \label{eq:2-7-2} \end{equation}
すると、\eqref{eq:2-7-1} は次のように書ける。
\begin{equation} \|\boldsymbol{x} - \boldsymbol{a}\|^2 = \boldsymbol{f}(\boldsymbol{x})^\top \boldsymbol{f}(\boldsymbol{x}) \label{eq:2-7-3} \end{equation}
$\boldsymbol{a}$ は定数なので、$\boldsymbol{f}(\boldsymbol{x})$ のJacobi行列を計算すると、単位行列になる。
\begin{equation} \frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}} = \boldsymbol{I} \label{eq:2-7-4} \end{equation}
公式(2.3)より、$\displaystyle\frac{\partial}{\partial \boldsymbol{f}} (\boldsymbol{f}^\top \boldsymbol{f}) = 2\boldsymbol{f}$ である。
\begin{equation} \frac{\partial}{\partial \boldsymbol{f}} (\boldsymbol{f}^\top \boldsymbol{f}) = 2\boldsymbol{f} \label{eq:2-7-5} \end{equation}
合成関数の微分(連鎖律、1.26)を適用する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \|\boldsymbol{x} - \boldsymbol{a}\|^2 = \frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}} \cdot \frac{\partial}{\partial \boldsymbol{f}} (\boldsymbol{f}^\top \boldsymbol{f}) \label{eq:2-7-6} \end{equation}
\eqref{eq:2-7-4} と \eqref{eq:2-7-5} を \eqref{eq:2-7-6} に代入する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \|\boldsymbol{x} - \boldsymbol{a}\|^2 = \boldsymbol{I} \cdot 2\boldsymbol{f}(\boldsymbol{x}) \label{eq:2-7-7} \end{equation}
単位行列とベクトルの積はそのベクトル自身になる。
\begin{equation} \boldsymbol{I} \cdot 2\boldsymbol{f}(\boldsymbol{x}) = 2\boldsymbol{f}(\boldsymbol{x}) \label{eq:2-7-8} \end{equation}
$\boldsymbol{f}(\boldsymbol{x})$ の定義 \eqref{eq:2-7-2} を代入すると、最終的な結果を得る。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \|\boldsymbol{x} - \boldsymbol{a}\|^2 = 2(\boldsymbol{x} - \boldsymbol{a}) \label{eq:2-7-9} \end{equation}
2.8 内積(ドット積)の微分
証明
内積 $\boldsymbol{f}(\boldsymbol{x})^\top \boldsymbol{g}(\boldsymbol{x})$ を成分で書き下す。$\boldsymbol{f}(\boldsymbol{x})$ の第 $m$ 成分を $f_m(\boldsymbol{x})$、$\boldsymbol{g}(\boldsymbol{x})$ の第 $m$ 成分を $g_m(\boldsymbol{x})$ と書く。
\begin{equation} \boldsymbol{f}(\boldsymbol{x})^\top \boldsymbol{g}(\boldsymbol{x}) = \sum_{m=0}^{M-1} f_m(\boldsymbol{x}) g_m(\boldsymbol{x}) \label{eq:2-8-1} \end{equation}
この式を $x_n$($\boldsymbol{x}$ の第 $n$ 成分)で偏微分する。
\begin{equation} \frac{\partial}{\partial x_n} (\boldsymbol{f}(\boldsymbol{x})^\top \boldsymbol{g}(\boldsymbol{x})) = \frac{\partial}{\partial x_n} \sum_{m=0}^{M-1} f_m(\boldsymbol{x}) g_m(\boldsymbol{x}) \label{eq:2-8-2} \end{equation}
微分は線形作用素なので、和と順序を交換できる。
\begin{equation} \frac{\partial}{\partial x_n} (\boldsymbol{f}(\boldsymbol{x})^\top \boldsymbol{g}(\boldsymbol{x})) = \sum_{m=0}^{M-1} \frac{\partial}{\partial x_n} (f_m(\boldsymbol{x}) g_m(\boldsymbol{x})) \label{eq:2-8-3} \end{equation}
各項 $f_m(\boldsymbol{x}) g_m(\boldsymbol{x})$ に積の微分法則(Leibniz則、1.25)を適用する。
\begin{equation} \frac{\partial}{\partial x_n} (f_m(\boldsymbol{x}) g_m(\boldsymbol{x})) = \frac{\partial f_m(\boldsymbol{x})}{\partial x_n} g_m(\boldsymbol{x}) + f_m(\boldsymbol{x}) \frac{\partial g_m(\boldsymbol{x})}{\partial x_n} \label{eq:2-8-4} \end{equation}
\eqref{eq:2-8-4} を \eqref{eq:2-8-3} に代入する。
\begin{equation} \frac{\partial}{\partial x_n} (\boldsymbol{f}(\boldsymbol{x})^\top \boldsymbol{g}(\boldsymbol{x})) = \sum_{m=0}^{M-1} \left( \frac{\partial f_m(\boldsymbol{x})}{\partial x_n} g_m(\boldsymbol{x}) + f_m(\boldsymbol{x}) \frac{\partial g_m(\boldsymbol{x})}{\partial x_n} \right) \label{eq:2-8-5} \end{equation}
和を2つに分ける。
\begin{equation} \frac{\partial}{\partial x_n} (\boldsymbol{f}(\boldsymbol{x})^\top \boldsymbol{g}(\boldsymbol{x})) = \sum_{m=0}^{M-1} \frac{\partial f_m(\boldsymbol{x})}{\partial x_n} g_m(\boldsymbol{x}) + \sum_{m=0}^{M-1} f_m(\boldsymbol{x}) \frac{\partial g_m(\boldsymbol{x})}{\partial x_n} \label{eq:2-8-6} \end{equation}
第1項を行列の積として解釈する。$\displaystyle\frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}}$ は $N \times M$ 行列で、その $(n, m)$ 成分は $\displaystyle\frac{\partial f_m(\boldsymbol{x})}{\partial x_n}$ である。
\begin{equation} \left(\frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}}\right)_{nm} = \frac{\partial f_m(\boldsymbol{x})}{\partial x_n} \label{eq:2-8-7} \end{equation}
この行列と $\boldsymbol{g}(\boldsymbol{x})$ の積の第 $n$ 成分は、第1項の和と等しい。
\begin{equation} \left(\frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}} \boldsymbol{g}(\boldsymbol{x})\right)_n = \sum_{m=0}^{M-1} \frac{\partial f_m(\boldsymbol{x})}{\partial x_n} g_m(\boldsymbol{x}) \label{eq:2-8-8} \end{equation}
同様に、第2項は次のように解釈できる。
\begin{equation} \left(\frac{\partial \boldsymbol{g}(\boldsymbol{x})}{\partial \boldsymbol{x}} \boldsymbol{f}(\boldsymbol{x})\right)_n = \sum_{m=0}^{M-1} \frac{\partial g_m(\boldsymbol{x})}{\partial x_n} f_m(\boldsymbol{x}) \label{eq:2-8-9} \end{equation}
スカラの積は可換なので、$f_m(\boldsymbol{x}) \displaystyle\frac{\partial g_m(\boldsymbol{x})}{\partial x_n} = \displaystyle\frac{\partial g_m(\boldsymbol{x})}{\partial x_n} f_m(\boldsymbol{x})$ である。
\eqref{eq:2-8-6} の第1項と第2項を \eqref{eq:2-8-8} と \eqref{eq:2-8-9} で置き換える。
\begin{equation} \frac{\partial}{\partial x_n} (\boldsymbol{f}(\boldsymbol{x})^\top \boldsymbol{g}(\boldsymbol{x})) = \left(\frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}} \boldsymbol{g}(\boldsymbol{x})\right)_n + \left(\frac{\partial \boldsymbol{g}(\boldsymbol{x})}{\partial \boldsymbol{x}} \boldsymbol{f}(\boldsymbol{x})\right)_n \label{eq:2-8-10} \end{equation}
この結果を全ての $n = 0, 1, \ldots, N-1$ についてまとめると、最終的な結果を得る。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{f}(\boldsymbol{x})^\top \boldsymbol{g}(\boldsymbol{x})) = \frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}} \boldsymbol{g}(\boldsymbol{x}) + \frac{\partial \boldsymbol{g}(\boldsymbol{x})}{\partial \boldsymbol{x}} \boldsymbol{f}(\boldsymbol{x}) \label{eq:2-8-11} \end{equation}
- $\displaystyle\frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}} \in \mathbb{R}^{N \times M}$($N$ 行 $M$ 列の行列)
- $\boldsymbol{g}(\boldsymbol{x}) \in \mathbb{R}^M$($M$ 次元列ベクトル)
- 積 $\displaystyle\frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}} \boldsymbol{g}(\boldsymbol{x}) \in \mathbb{R}^N$($N$ 次元列ベクトル)
2.9 スカラ関数の積の微分
証明
勾配ベクトルの第 $n$ 成分を考える。積 $f(\boldsymbol{x}) g(\boldsymbol{x})$ を $x_n$ で偏微分する。
通常の積の微分法則(Leibniz則、1.25)を適用する。
\begin{equation} \frac{\partial (f(\boldsymbol{x}) g(\boldsymbol{x}))}{\partial x_n} = \frac{\partial f(\boldsymbol{x})}{\partial x_n} \cdot g(\boldsymbol{x}) + f(\boldsymbol{x}) \cdot \frac{\partial g(\boldsymbol{x})}{\partial x_n} \label{eq:2-9-1} \end{equation}
この結果を全ての $n = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial (f(\boldsymbol{x}) g(\boldsymbol{x}))}{\partial \boldsymbol{x}} = \begin{pmatrix} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} g(\boldsymbol{x}) + f(\boldsymbol{x}) \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} g(\boldsymbol{x}) + f(\boldsymbol{x}) \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} g(\boldsymbol{x}) + f(\boldsymbol{x}) \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-9-2} \end{equation}
これを2つのベクトルの和として書き直す。
\begin{equation} \frac{\partial (f(\boldsymbol{x}) g(\boldsymbol{x}))}{\partial \boldsymbol{x}} = \begin{pmatrix} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} g(\boldsymbol{x}) \\[1em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} g(\boldsymbol{x}) \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} g(\boldsymbol{x}) \end{pmatrix} + \begin{pmatrix} \displaystyle f(\boldsymbol{x}) \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle f(\boldsymbol{x}) \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle f(\boldsymbol{x}) \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-9-3} \end{equation}
$f(\boldsymbol{x})$ と $g(\boldsymbol{x})$ はスカラなので、ベクトルの各成分から共通因子としてくくり出せる。
\begin{equation} \frac{\partial (f(\boldsymbol{x}) g(\boldsymbol{x}))}{\partial \boldsymbol{x}} = g(\boldsymbol{x}) \begin{pmatrix} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} + f(\boldsymbol{x}) \begin{pmatrix} \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-9-4} \end{equation}
勾配ベクトルの定義を使って整理すると、最終的な結果を得る。
\begin{equation} \frac{\partial (f(\boldsymbol{x}) g(\boldsymbol{x}))}{\partial \boldsymbol{x}} = g(\boldsymbol{x}) \frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}} + f(\boldsymbol{x}) \frac{\partial g(\boldsymbol{x})}{\partial \boldsymbol{x}} \label{eq:2-9-5} \end{equation}
2.10 和・差の法則
証明
勾配ベクトルの第 $n$ 成分を考える。$f + g$ を $x_n$ で偏微分する。
微分の線形性(1.24)より、和の微分は微分の和に等しい。
\begin{equation} \frac{\partial (f + g)}{\partial x_n} = \frac{\partial f}{\partial x_n} + \frac{\partial g}{\partial x_n} \label{eq:2-10-1} \end{equation}
この結果を全ての $n = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial (f + g)}{\partial \boldsymbol{x}} = \begin{pmatrix} \displaystyle\frac{\partial f}{\partial x_0} + \displaystyle\frac{\partial g}{\partial x_0} \\[1em] \displaystyle\frac{\partial f}{\partial x_1} + \displaystyle\frac{\partial g}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f}{\partial x_{N-1}} + \displaystyle\frac{\partial g}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-10-2} \end{equation}
これを2つのベクトルの和として書き直す。
\begin{equation} \frac{\partial (f + g)}{\partial \boldsymbol{x}} = \begin{pmatrix} \displaystyle\frac{\partial f}{\partial x_0} \\[1em] \displaystyle\frac{\partial f}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f}{\partial x_{N-1}} \end{pmatrix} + \begin{pmatrix} \displaystyle\frac{\partial g}{\partial x_0} \\[1em] \displaystyle\frac{\partial g}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial g}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-10-3} \end{equation}
勾配ベクトルの定義を使って整理すると、最終的な結果を得る。
\begin{equation} \frac{\partial (f + g)}{\partial \boldsymbol{x}} = \frac{\partial f}{\partial \boldsymbol{x}} + \frac{\partial g}{\partial \boldsymbol{x}} \label{eq:2-10-4} \end{equation}
差 $f - g$ についても同様の議論が成り立つ。微分の線形性より、差の微分は微分の差に等しい。
\begin{equation} \frac{\partial (f - g)}{\partial \boldsymbol{x}} = \frac{\partial f}{\partial \boldsymbol{x}} - \frac{\partial g}{\partial \boldsymbol{x}} \label{eq:2-10-5} \end{equation}
2.11 スカラ倍の法則
証明
勾配ベクトルの第 $n$ 成分を考える。$c \cdot f$ を $x_n$ で偏微分する。
$c$ は $x_n$ に依存しない定数なので、微分の外に出せる。これは微分の線形性(1.24)の一部である。
\begin{equation} \frac{\partial (c \cdot f)}{\partial x_n} = c \cdot \frac{\partial f}{\partial x_n} \label{eq:2-11-1} \end{equation}
この結果を全ての $n = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial (c \cdot f)}{\partial \boldsymbol{x}} = \begin{pmatrix} \displaystyle c \cdot \displaystyle\frac{\partial f}{\partial x_0} \\[1em] \displaystyle c \cdot \displaystyle\frac{\partial f}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle c \cdot \displaystyle\frac{\partial f}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-11-2} \end{equation}
$c$ は全ての成分で共通なので、スカラとしてくくり出せる。
\begin{equation} \frac{\partial (c \cdot f)}{\partial \boldsymbol{x}} = c \cdot \begin{pmatrix} \displaystyle\frac{\partial f}{\partial x_0} \\[1em] \displaystyle\frac{\partial f}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-11-3} \end{equation}
勾配ベクトルの定義を使って整理すると、最終的な結果を得る。
\begin{equation} \frac{\partial (c \cdot f)}{\partial \boldsymbol{x}} = c \frac{\partial f}{\partial \boldsymbol{x}} \label{eq:2-11-4} \end{equation}
2.12 商の法則
証明
勾配ベクトルの第 $n$ 成分を考える。$f(\boldsymbol{x})/g(\boldsymbol{x})$ を $x_n$ で偏微分する。
通常の商の微分法則(1.28)を適用する。
\begin{equation} \frac{\partial}{\partial x_n} \left( \frac{f(\boldsymbol{x})}{g(\boldsymbol{x})} \right) = \frac{g(\boldsymbol{x}) \cdot \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_n} - f(\boldsymbol{x}) \cdot \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_n}}{g(\boldsymbol{x})^2} \label{eq:2-12-1} \end{equation}
$\displaystyle\frac{1}{g(\boldsymbol{x})^2}$ をくくり出す。
\begin{equation} \frac{\partial}{\partial x_n} \left( \frac{f(\boldsymbol{x})}{g(\boldsymbol{x})} \right) = \frac{1}{g(\boldsymbol{x})^2} \left( g(\boldsymbol{x}) \frac{\partial f(\boldsymbol{x})}{\partial x_n} - f(\boldsymbol{x}) \frac{\partial g(\boldsymbol{x})}{\partial x_n} \right) \label{eq:2-12-2} \end{equation}
この結果を全ての $n = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \left( \frac{f(\boldsymbol{x})}{g(\boldsymbol{x})} \right) = \begin{pmatrix} \displaystyle\frac{1}{g(\boldsymbol{x})^2} \left( g(\boldsymbol{x}) \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} - f(\boldsymbol{x}) \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_0} \right) \\[1em] \displaystyle\frac{1}{g(\boldsymbol{x})^2} \left( g(\boldsymbol{x}) \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} - f(\boldsymbol{x}) \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_1} \right) \\[1em] \vdots \\[0.5em] \displaystyle\frac{1}{g(\boldsymbol{x})^2} \left( g(\boldsymbol{x}) \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} - f(\boldsymbol{x}) \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_{N-1}} \right) \end{pmatrix} \label{eq:2-12-3} \end{equation}
$f(\boldsymbol{x})$、$g(\boldsymbol{x})$、$1/g(\boldsymbol{x})^2$ はスカラなので、ベクトルの外にくくり出せる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \left( \frac{f(\boldsymbol{x})}{g(\boldsymbol{x})} \right) = \frac{1}{g(\boldsymbol{x})^2} \left( g(\boldsymbol{x}) \begin{pmatrix} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} - f(\boldsymbol{x}) \begin{pmatrix} \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_0} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial g(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \right) \label{eq:2-12-4} \end{equation}
勾配ベクトルの定義を使って整理すると、最終的な結果を得る。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \left( \frac{f(\boldsymbol{x})}{g(\boldsymbol{x})} \right) = \frac{1}{g(\boldsymbol{x})^2} \left( g(\boldsymbol{x}) \frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}} - f(\boldsymbol{x}) \frac{\partial g(\boldsymbol{x})}{\partial \boldsymbol{x}} \right) \label{eq:2-12-5} \end{equation}
2.13 逆数の微分
証明
勾配ベクトルの第 $n$ 成分を考える。$1/f(\boldsymbol{x})$ を $x_n$ で偏微分する。
$1/f(\boldsymbol{x}) = f(\boldsymbol{x})^{-1}$ と書けるので、連鎖律(1.26)を適用する準備として、この形で表す。
\begin{equation} \frac{\partial}{\partial x_n} \left( \frac{1}{f(\boldsymbol{x})} \right) = \frac{\partial}{\partial x_n} (f(\boldsymbol{x})^{-1}) \label{eq:2-13-1} \end{equation}
連鎖律(1.26)により、「外側の関数の微分」×「内側の関数の微分」になる。$t = f(\boldsymbol{x})$ とおくと、次のように表せる。
\begin{equation} \frac{\partial}{\partial x_n} (f(\boldsymbol{x})^{-1}) = \frac{d}{dt}(t^{-1}) \cdot \frac{\partial f(\boldsymbol{x})}{\partial x_n} \label{eq:2-13-2} \end{equation}
まず、$\displaystyle\frac{d}{dt}(t^{-1})$ を計算する。べき乗の微分公式(1.19)$\displaystyle\frac{d}{dt}(t^n) = n t^{n-1}$ において $n = -1$ とする。
\begin{equation} \frac{d}{dt}(t^{-1}) = (-1) \cdot t^{-1-1} = -t^{-2} \label{eq:2-13-3} \end{equation}
これを分数の形に書き直すと、次のようになる。
\begin{equation} -t^{-2} = -\frac{1}{t^2} = -\frac{1}{f(\boldsymbol{x})^2} \label{eq:2-13-4} \end{equation}
\eqref{eq:2-13-4} を \eqref{eq:2-13-2} に代入する。
\begin{equation} \frac{\partial}{\partial x_n} \left( \frac{1}{f(\boldsymbol{x})} \right) = -\frac{1}{f(\boldsymbol{x})^2} \cdot \frac{\partial f(\boldsymbol{x})}{\partial x_n} \label{eq:2-13-5} \end{equation}
この結果を全ての $n = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \left( \frac{1}{f(\boldsymbol{x})} \right) = \begin{pmatrix} \displaystyle -\displaystyle\frac{1}{f(\boldsymbol{x})^2} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle -\displaystyle\frac{1}{f(\boldsymbol{x})^2} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle -\displaystyle\frac{1}{f(\boldsymbol{x})^2} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-13-6} \end{equation}
$-\displaystyle\frac{1}{f(\boldsymbol{x})^2}$ は全ての成分で共通なので、スカラとしてくくり出せる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \left( \frac{1}{f(\boldsymbol{x})} \right) = -\frac{1}{f(\boldsymbol{x})^2} \begin{pmatrix} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-13-7} \end{equation}
勾配ベクトルの定義を使って整理すると、最終的な結果を得る。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} \left( \frac{1}{f(\boldsymbol{x})} \right) = -\frac{1}{f(\boldsymbol{x})^2} \frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}} \label{eq:2-13-8} \end{equation}
2.14 べき乗の微分
証明
勾配ベクトルの第 $k$ 成分を考える。$f(\boldsymbol{x})^n$ を $x_k$ で偏微分する。
連鎖律(1.26)を適用する。「外側の関数の微分」×「内側の関数の微分」になる。$t = f(\boldsymbol{x})$ とおくと、次のように表せる。
\begin{equation} \frac{\partial}{\partial x_k} (f(\boldsymbol{x})^n) = \frac{d}{dt}(t^n) \cdot \frac{\partial f(\boldsymbol{x})}{\partial x_k} \label{eq:2-14-1} \end{equation}
まず、$\displaystyle\frac{d}{dt}(t^n)$ を計算する。べき乗の微分公式(1.19)を適用する。
\begin{equation} \frac{d}{dt}(t^n) = n \cdot t^{n-1} \label{eq:2-14-2} \end{equation}
$t = f(\boldsymbol{x})$ を代入すると、次のようになる。
\begin{equation} \frac{d}{dt}(t^n) = n \cdot f(\boldsymbol{x})^{n-1} \label{eq:2-14-3} \end{equation}
\eqref{eq:2-14-3} を \eqref{eq:2-14-1} に代入する。
\begin{equation} \frac{\partial}{\partial x_k} (f(\boldsymbol{x})^n) = n f(\boldsymbol{x})^{n-1} \cdot \frac{\partial f(\boldsymbol{x})}{\partial x_k} \label{eq:2-14-4} \end{equation}
この結果を全ての $k = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (f(\boldsymbol{x})^n) = \begin{pmatrix} \displaystyle n f(\boldsymbol{x})^{n-1} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle n f(\boldsymbol{x})^{n-1} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle n f(\boldsymbol{x})^{n-1} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-14-5} \end{equation}
$n f(\boldsymbol{x})^{n-1}$ は全ての成分で共通なので、スカラとしてくくり出せる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (f(\boldsymbol{x})^n) = n f(\boldsymbol{x})^{n-1} \begin{pmatrix} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-14-6} \end{equation}
勾配ベクトルの定義を使って整理すると、最終的な結果を得る。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (f(\boldsymbol{x})^n) = n f(\boldsymbol{x})^{n-1} \frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}} \label{eq:2-14-7} \end{equation}
- $n = 1/2$ のとき:平方根 $\sqrt{f(\boldsymbol{x})} = f(\boldsymbol{x})^{1/2}$ の微分が得られる。$\displaystyle\frac{\partial}{\partial \boldsymbol{x}} \sqrt{f(\boldsymbol{x})} = \displaystyle\frac{1}{2\sqrt{f(\boldsymbol{x})}} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}}$
- $n = -1$ のとき:逆数 $1/f(\boldsymbol{x}) = f(\boldsymbol{x})^{-1}$ の微分(2.13)が得られる。
- $n = 2$ のとき:2乗 $f(\boldsymbol{x})^2$ の微分。$\displaystyle\frac{\partial}{\partial \boldsymbol{x}} f(\boldsymbol{x})^2 = 2f(\boldsymbol{x}) \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}}$
2.15 指数関数の微分
証明
勾配ベクトルの第 $k$ 成分を考える。$e^{f(\boldsymbol{x})}$ を $x_k$ で偏微分する。
連鎖律(1.26)を適用する。「外側の関数の微分」×「内側の関数の微分」になる。
\begin{equation} \frac{\partial}{\partial x_k} (e^{f(\boldsymbol{x})}) = \frac{d}{df}(e^f) \cdot \frac{\partial f(\boldsymbol{x})}{\partial x_k} \label{eq:2-15-1} \end{equation}
$\displaystyle\frac{d}{df}(e^f)$ を計算する。指数関数 $e^f$ の微分は $e^f$ 自身である(1.20)。
\begin{equation} \frac{d}{df}(e^f) = e^f \label{eq:2-15-2} \end{equation}
\eqref{eq:2-15-2} を \eqref{eq:2-15-1} に代入する。
\begin{equation} \frac{\partial}{\partial x_k} (e^{f(\boldsymbol{x})}) = e^{f(\boldsymbol{x})} \cdot \frac{\partial f(\boldsymbol{x})}{\partial x_k} \label{eq:2-15-3} \end{equation}
この結果を全ての $k = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (e^{f(\boldsymbol{x})}) = \begin{pmatrix} \displaystyle e^{f(\boldsymbol{x})} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle e^{f(\boldsymbol{x})} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle e^{f(\boldsymbol{x})} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-15-4} \end{equation}
$e^{f(\boldsymbol{x})}$ は全ての成分で共通なので、スカラとしてくくり出せる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (e^{f(\boldsymbol{x})}) = e^{f(\boldsymbol{x})} \begin{pmatrix} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-15-5} \end{equation}
勾配ベクトルの定義を使って整理すると、最終的な結果を得る。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (e^{f(\boldsymbol{x})}) = e^{f(\boldsymbol{x})} \frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}} \label{eq:2-15-6} \end{equation}
2.16 対数関数の微分
証明
勾配ベクトルの第 $k$ 成分を考える。$\log f(\boldsymbol{x})$ を $x_k$ で偏微分する。
連鎖律(1.26)を適用する。「外側の関数の微分」×「内側の関数の微分」になる。
\begin{equation} \frac{\partial}{\partial x_k} (\log f(\boldsymbol{x})) = \frac{d}{df}(\log f) \cdot \frac{\partial f(\boldsymbol{x})}{\partial x_k} \label{eq:2-16-1} \end{equation}
$\displaystyle\frac{d}{df}(\log f)$ を計算する。自然対数 $\log f$ の微分は $\displaystyle\frac{1}{f}$ である(1.21)。
\begin{equation} \frac{d}{df}(\log f) = \frac{1}{f} \label{eq:2-16-2} \end{equation}
\eqref{eq:2-16-2} を \eqref{eq:2-16-1} に代入する。
\begin{equation} \frac{\partial}{\partial x_k} (\log f(\boldsymbol{x})) = \frac{1}{f(\boldsymbol{x})} \cdot \frac{\partial f(\boldsymbol{x})}{\partial x_k} \label{eq:2-16-3} \end{equation}
この結果を全ての $k = 0, 1, \ldots, N-1$ についてまとめて、勾配ベクトルを構成する。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\log f(\boldsymbol{x})) = \begin{pmatrix} \displaystyle \displaystyle\frac{1}{f(\boldsymbol{x})} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle \displaystyle\frac{1}{f(\boldsymbol{x})} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle \displaystyle\frac{1}{f(\boldsymbol{x})} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-16-4} \end{equation}
$\displaystyle\frac{1}{f(\boldsymbol{x})}$ は全ての成分で共通なので、スカラとしてくくり出せる。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\log f(\boldsymbol{x})) = \frac{1}{f(\boldsymbol{x})} \begin{pmatrix} \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_0} \\[1em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_1} \\[1em] \vdots \\[0.5em] \displaystyle\frac{\partial f(\boldsymbol{x})}{\partial x_{N-1}} \end{pmatrix} \label{eq:2-16-5} \end{equation}
勾配ベクトルの定義を使って整理すると、最終的な結果を得る。
\begin{equation} \frac{\partial}{\partial \boldsymbol{x}} (\log f(\boldsymbol{x})) = \frac{1}{f(\boldsymbol{x})} \frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}} \label{eq:2-16-6} \end{equation}