二次形式のヘッセ行列(Hessian matrix)の図形的意味を把握する

ヘッセ行列は多変数で表された二次形式(quadratic form)の二階微分を考える際に主に用いられる。凸最適化問題などを取り扱うにあたって時折出てくるので抑えておくと良い。

当稿ではWikipediaなどを参考に、ヘッセ行列の図形的な意味を把握することを目的に取りまとめを行なった。
https://ja.wikipedia.org/wiki/ヘッセ行列

基本事項の確認

$\nabla$と直積・外積

https://www.hello-statisticians.com/explain-terms-cat/pca1.html#nabla
上記で詳しく取り扱ったが、スカラー関数をベクトルで偏微分する際に下記のような演算子$\nabla$を定義することが多い。
$$
\large
\begin{align}
\nabla = \frac{\partial}{\partial \mathbf{x}} = \left(\begin{array}{c} \displaystyle \frac{\partial}{\partial x_1} \\ \vdots \\ \displaystyle \frac{\partial}{\partial x_n} \end{array} \right)
\end{align}
$$

上記の$\nabla$はヘッセ行列の定義にあたっても用いられる。また、ヘッセ行列の定義にあたっては直積(direct product)や外積(outer product)を表す演算子を定義する。ベクトル$\displaystyle \mathbf{a} = \left(\begin{array}{c} a_1 \\ \vdots \\ a_n \end{array} \right), \mathbf{b} = \left(\begin{array}{c} b_1 \\ \vdots \\ b_n \end{array} \right)$に対し、直積を表す演算子$\otimes$は下記のように定義される。
$$
\large
\begin{align}
\mathbf{a} \otimes \mathbf{b} &= \mathbf{a} \mathbf{b}^{\mathrm{T}} \\
&= \left(\begin{array}{c} a_1 \\ \vdots \\ a_n \end{array} \right) \left(\begin{array}{ccc} b_1 & \cdots & b_n \end{array} \right) \\
&= \left(\begin{array}{ccc} a_1 b_1 & \cdots & a_1 b_n \\ \vdots & \ddots & \vdots \\ a_n b_1 & \cdots & a_n b_n \end{array} \right)
\end{align}
$$

ここまでで確認した演算子の$\nabla, \otimes$を用いてヘッセ行列を定義することができる。

・参考:直積、外積の定義
https://ja.wikipedia.org/wiki/直積_(ベクトル)

ヘッセ行列の定義

$n$次元のベクトル$\displaystyle \mathbf{x} = \left(\begin{array}{c} x_1 \\ \vdots \\ x_n \end{array} \right)$に関するスカラー関数$f(\mathbf{x})$のヘッセ行列$H(f)$は下記のように定義される。
$$
\large
\begin{align}
H(f) &= \nabla \otimes \nabla f(\mathbf{x}) \\
&= \left(\begin{array}{c} \displaystyle \frac{\partial}{\partial x_1} \\ \vdots \\ \displaystyle \frac{\partial}{\partial x_n} \end{array} \right) \left(\begin{array}{ccc} \displaystyle \frac{\partial f}{\partial x_1} & \cdots & \displaystyle \frac{\partial f}{\partial x_n} \end{array} \right) \\
&= \left(\begin{array}{ccc} \displaystyle \frac{\partial^2 f}{\partial x_1^2} & \cdots & \displaystyle \frac{\partial^2 f}{\partial x_1 \partial x_n} \\ \vdots & \ddots & \vdots \\ \displaystyle \frac{\partial^2 f}{\partial x_n \partial x_1} & \cdots & \displaystyle \frac{\partial^2 f}{\partial x_n^2} \end{array} \right)
\end{align}
$$

ヘッセ行列の図形的解釈

問題設定

二次形式のヘッセ行列の図形的解釈を行うにあたって、問題設定を行う。
$$
\large
\begin{align}
f(x_1, x_2) = x_1^2 + 2x_1x_2 + 2x_2^2 + 3x_1 + 2x_2 + 1
\end{align}
$$
上記のような2変数のスカラー関数$f(x_1, x_2)$についてヘッセ行列を計算し、その図形的意味の確認を行う。

勾配ベクトル・ヘッセ行列の計算

勾配ベクトル$\nabla f(x_1, x_2)$を計算すると下記のようになる。
$$
\large
\begin{align}
\nabla f(x_1, x_2) &= \nabla(x_1^2 + 2x_1x_2 + 2x_2^2 + 3x_1 + 2x_2 + 1) \\
&= \left(\begin{array}{c} 2x_1 + 2x_2 + 3 \\ 2x_1 + 4x_2 + 2 \end{array} \right)
\end{align}
$$

ヘッセ行列$H(f)$を計算すると下記のようになる。
$$
\large
\begin{align}
H(f) &= \nabla \otimes \nabla f(x_1, x_2) \\
&= \left(\begin{array}{cc} 2 & 2 \\ 2 & 4 \end{array} \right)
\end{align}
$$

ヘッセ行列の図形的解釈

ヘッセ行列の固有値・固有ベクトルを計算した際に、固有ベクトルが二次形式$f(x_1, x_2)$の等高線に垂直な方向のベクトルを表し、固有値がそれぞれのベクトルの等高線の密度に関係する。

ヘッセ行列と分散共分散行列

$D$次元の多次元正規分布$\mathcal{N}(\boldsymbol{\mu},\Sigma)$の確率密度関数を$f(\mathbf{x})$とおくと、$f(\mathbf{x})$は下記のように表せる。
$$
\large
\begin{align}
f(\mathbf{x}) = \frac{1}{(2 \pi)^{\frac{D}{2}} |\Sigma|^{\frac{1}{2}}} \exp{\left[ -\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^{\mathrm{T}} \Sigma^{-1} (\mathbf{x}-\boldsymbol{\mu}) \right]}
\end{align}
$$

ここで下記のように$\Delta^2$を定義する。
$$
\large
\begin{align}
\Delta^2 = \frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^{\mathrm{T}} \Sigma^{-1} (\mathbf{x}-\boldsymbol{\mu})
\end{align}
$$

上記の$\Delta^2$に対し、ベクトル$\mathbf{x}$での微分を行うことで導出されるヘッセ行列を$H$とおくと、$H$は下記のように表せる。
$$
\large
\begin{align}
H = \Sigma^{-1}
\end{align}
$$

「二次形式のヘッセ行列(Hessian matrix)の図形的意味を把握する」への3件のフィードバック

コメントは受け付けていません。