2次形式とヘッセ行列

バイオインフォ基礎

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)$ で正定値なので、原点は局所極小点です。