1. 2次形式
(1) 2次形式の定義
定義14.1: 2次形式
2次形式(quadratic form)とは、変数ベクトル $\mathbf{x} \in \mathbb{R}^n$ に対して次の形で表される関数のことを指します。
$$
Q(\mathbf{x}) = \mathbf{x}^T A \mathbf{x}
$$
ここで、$A$ は $n \times n$ の実対称行列です(すなわち $A = A^T$)。
実対称行列を仮定するのは、$\mathbf{x}^T A \mathbf{x}$ の値が実数になること、また2次形式の解析が容易になるためです。
実対称行列を仮定するのは、$\mathbf{x}^T A \mathbf{x}$ の値が実数になること、また2次形式の解析が容易になるためです。
具体例をみる
$n=2$ の場合、$\mathbf{x} = \begin{pmatrix}x_1 \\ x_2\end{pmatrix}$、$A = \begin{pmatrix}a & b \\ b & c\end{pmatrix}$ とすると、 $$ Q(\mathbf{x}) = a x_1^2 + 2b x_1 x_2 + c x_2^2 $$ となります。(2) 2次形式と2次曲線
定理14.2: 2次曲線の分類
2変数の2次曲線の場合、$Q(x_1,x_2) = 0$ の等式は 2次曲線を表します。その概形は$Q(x)$の中心にある行列$A$の正値性または判別式 $D = ac – b^2$ と $a$ の符号によって分類されます。
- $A$が正値($D > 0$ かつ $a > 0$):楕円
- $A$が負値($D > 0$ かつ $a < 0$):楕円
- $A$が不定($D < 0$):双曲線
- $A$が半正値:平行な直線の組み または 存在しない
- $A$が半負値:放物線
(3) 2次形式のトレース (再掲)
以下の記事の定理3.38でも扱いました。
定理14.3: 2次形式のトレース
$$
\mathrm{Tr}(\mathbf{x}^T A \mathbf{x}) = \mathrm{Tr}(A \mathbf{x} \mathbf{x}^T)
$$
証明をみる
まず、$\mathbf{x}^T A \mathbf{x}$ はスカラーなので、トレースを取っても値は変わりません。 $$ \mathrm{Tr}(\mathbf{x}^T A \mathbf{x}) = \mathbf{x}^T A \mathbf{x} $$ また、トレースの性質 $\mathrm{Tr}(PQ) = \mathrm{Tr}(QP)$ を用いると、 $$ \mathbf{x}^T A \mathbf{x} = \mathrm{Tr}(\mathbf{x}^T A \mathbf{x}) = \mathrm{Tr}(A \mathbf{x} \mathbf{x}^T) $$ したがって主張が示されます。(4) 2次形式の勾配
定理14.4: 2次形式の勾配
$$
\nabla_{\mathbf{x}} (\mathbf{x}^T A \mathbf{x}) = 2A \mathbf{x}
$$
証明をみる
$\mathbf{x}^T A \mathbf{x}$ を成分表示すると、 $$ \mathbf{x}^T A \mathbf{x} = \sum_{i=1}^n \sum_{j=1}^n a_{ij} x_i x_j $$ これを $x_k$ で偏微分すると、 $$ \frac{\partial}{\partial x_k} \left( \sum_{i,j} a_{ij} x_i x_j \right) = \sum_{j} a_{kj} x_j + \sum_{i} a_{ik} x_i $$ $A$ が対称行列($a_{ij} = a_{ji}$)なので、これは $2 \sum_j a_{kj} x_j$ となります。すなわちベクトル形式で書くと $$ \nabla_{\mathbf{x}} (\mathbf{x}^T A \mathbf{x}) = 2A\mathbf{x} $$
2. ヘッセ行列
(1) 多変数関数のテイラー展開
定理14.5: 多変数のテイラー展開
多変数関数 $f:\mathbb{R}^n \to \mathbb{R}$ に対して、点 $\mathbf{a}$ のまわりでの2次までのテイラー展開は
$$
f(\mathbf{x}) \approx f(\mathbf{a}) + \nabla f(\mathbf{a})^T (\mathbf{x} – \mathbf{a}) + \frac{1}{2} (\mathbf{x} – \mathbf{a})^T H_f(\mathbf{a}) (\mathbf{x} – \mathbf{a})
$$
で表されます。ここで $H_f(\mathbf{a})$ はヘッセ行列です。
証明は「微分積分」コースに譲ります。
(2) 様々な行列(38):ヘッセ行列の定義
定義14.6: ヘッセ行列
ヘッセ行列(Hessian matrix)は、$n$ 変数関数 $f$ の2階偏導関数を成分とする $n\times n$ 行列で、
$$
H_f(\mathbf{x}) =
\begin{pmatrix}
\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1 \partial x_n} \\
\frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots & \frac{\partial^2 f}{\partial x_2 \partial x_n} \\
\vdots & \vdots & \ddots & \vdots \\
\frac{\partial^2 f}{\partial x_n \partial x_1} & \frac{\partial^2 f}{\partial x_n \partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n^2}
\end{pmatrix}
$$
となります。$f$ が十分滑らかであれば(連続な2階偏導関数を持てば)、混合偏導関数は順序を入れ替えても等しく、ヘッセ行列は対称行列になります。
(3) 多変数関数の極大・極小判定
定理14.7: 極大極小の判定
点 $\mathbf{a}$ が $f$ の停留点($\nabla f(\mathbf{a}) = \mathbf{0}$)であるとき、ヘッセ行列の固有値の符号によって以下のように分類されます。
- すべての固有値が正 $\Rightarrow$ $\mathbf{a}$ は局所極小点
- すべての固有値が負 $\Rightarrow$ $\mathbf{a}$ は局所極大点
- 正と負の固有値が混在 $\Rightarrow$ $\mathbf{a}$ は鞍点
- 0 の固有値を含む場合は判定不能(さらに高次の項を調べる必要あり)