1. 2次形式
(1) 定義
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次形式の解析が容易になるためです。
例:$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次形式 $Q(\mathbf{x}) = \mathbf{x}^T A \mathbf{x}$ は、行列 $A$ の固有値の符号によって次のように分類されます。
- 正定値:すべての固有値が正
$\Rightarrow Q(\mathbf{x}) > 0$($\mathbf{x} \neq \mathbf{0}$)
この場合、$n=2$ のとき $Q(x_1,x_2) = a x_1^2 + 2b x_1 x_2 + c x_2^2 = 1$ とすると楕円曲線を表します。原点を中心とし、すべての等高線が閉じた楕円形になります。 - 負定値:すべての固有値が負
$\Rightarrow Q(\mathbf{x}) < 0$($\mathbf{x} \neq \mathbf{0}$)
この場合、$Q(x_1,x_2) = -1$ とすると、やはり楕円曲線の形ですが、符号が逆であるため、$Q=1$ のような条件は実数解を持ちません(原点を通らない)。原点は最大値を取る点となります。 - 不定値:正と負の固有値が混在
$\Rightarrow Q(\mathbf{x})$ の正負が $\mathbf{x}$ によって変わる
この場合、$n=2$ のとき $Q(x_1,x_2) = a x_1^2 + 2b x_1 x_2 + c x_2^2 = 1$ は双曲線を表します。等高線は原点を中心とした開いた双曲線の枝になります。 - 半正定値:すべての固有値が非負(0を含む)
$\Rightarrow Q(\mathbf{x}) \ge 0$
$n=2$ で 1 つの固有値が 0 の場合、$Q(x_1,x_2) = 1$ は平行な直線の組(または存在しない)を表すことがあります。原点方向に平らな方向(曲がりがない方向)が存在します。 - 半負定値:すべての固有値が非正(0を含む)
$\Rightarrow Q(\mathbf{x}) \le 0$
この場合も、固有値が 0 の方向に沿って放物線的な平坦部が生じます。$n=2$ では負の固有値方向は曲線が閉じず、0 の固有値方向では曲がりが消えます。
(補足)
$n=2$ の場合、$Q(x_1,x_2) = 0$ の等式は 2次曲線の分類に対応します。判別式 $D = ac – b^2$ と $a$ の符号によっても分類できます:
- $D > 0$ かつ $a > 0$:楕円
- $D > 0$ かつ $a < 0$:楕円(負定値)
- $D < 0$:双曲線
- $D = 0$:放物線または直線の重なり
(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次形式の勾配
主張:
$$
\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) 多変数関数のテイラー展開
多変数関数 $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) ヘッセ行列
ヘッセ行列(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) 多変数関数の極大・極小判定
点 $\mathbf{a}$ が $f$ の停留点($\nabla f(\mathbf{a}) = \mathbf{0}$)であるとき、ヘッセ行列の固有値の符号によって以下のように分類されます。
- すべての固有値が正 $\Rightarrow$ $\mathbf{a}$ は局所極小点
- すべての固有値が負 $\Rightarrow$ $\mathbf{a}$ は局所極大点
- 正と負の固有値が混在 $\Rightarrow$ $\mathbf{a}$ は鞍点
- 0 の固有値を含む場合は判定不能(さらに高次の項を調べる必要あり)
例:$f(x,y) = x^2 + y^2$ の場合、ヘッセ行列は
$$
H_f =
\begin{pmatrix}
2 & 0 \\
0 & 2
\end{pmatrix}
$$
固有値は $(2,2)$ で正定値なので、原点は局所極小点です。