Hesse行列

同義語:ヘッセ行列Hessian matrix

概要

Hesse行列(Hessian matrix)とは、多変数の関数 $f$ の 2 階偏微分係数を並べた正方行列 $H_f(a)=\bigl(\partial_j\partial_if(a)\bigr)$、すなわち勾配 $\nabla f$ の Jacobi 行列である。$f$ が点 $a$ で 2 回微分可能でありさえすれば対称行列になり、$f$ の 2 次の Taylor 近似の 2 次の部分を与える。座標変換では臨界点でだけ合同変換で移り、階数と正・負の固有値の個数(Morse 指数)が座標によらない。凸な開集合の上の $C^2$ 級関数が凸であることは Hesse 行列が至るところ半正定値であることと同値であり、極値の判定や最適化の基本の道具である。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 偏微分, 全微分, 対称行列, 2次形式

多変数の関数 $f$ の 2 階偏導関数を並べた正方行列を Hesse 行列(Hessian matrix)という。1 変数の関数の 2 階導関数 $f''$ にあたるもので、点 $a$ の近くで $f$ を 2 次式で近似したときの 2 次の部分 $\frac12h^{\top}H_f(a)h$ を与える。2 次の部分の形は、どの向きに上に曲がり、どの向きに下に曲がるかを表しており、極値の判定、凸性の判定、Newton 法などの最適化、Morse 理論の指数がこの行列で表される。
この記事では、Hesse 行列を「勾配の Jacobi 行列」として定義し、関数が 1 点で 2 回微分可能でありさえすれば Hesse 行列が対称になることを証明する。あわせて、2 次の Taylor 近似、座標変換の公式(臨界点では合同変換になり、符号数が座標によらないこと)、凸関数であることと Hesse 行列が半正定値であることの同値性、固有値と方向の 2 階微分の関係を示す。臨界点での極大・極小の判定は 極値 の記事の定理「2 階の十分条件」が扱うので、ここでは証明を繰り返さない。

定義

以下、$U\subset\mathbb{R}^n$ は開集合、$f\colon U\to\mathbb{R}$ とし、$\partial_if:=\partial f/\partial x_i$、$\partial_j\partial_if:=\partial_j(\partial_if)$ と書く。$\|\cdot\|$ は Euclid ノルムである。

2 回微分可能性と Hesse 行列

$f$ が点 $a\in U$ のある近傍の各点で全微分可能であり、勾配の写像 $\nabla f=(\partial_1f,\dots,\partial_nf)$ が $a$ で全微分可能であるとき、$f$ は $a$ で 2 回微分可能であるという。このとき $\nabla f$ の $a$ における Jacobi 行列
$$ H_f(a):=D(\nabla f)(a)=\bigl(\partial_j\partial_if(a)\bigr)_{i,j=1,\dots,n} $$
を $f$ の $a$ における Hesse 行列という。$\det H_f(a)$ を Hesse 行列式(Hessian)という。

$\nabla f$ が $a$ で全微分可能なら各成分 $\partial_if$ が $a$ で全微分可能なので、2 階偏微分係数 $\partial_j\partial_if(a)$ はすべて存在する。$f$ が $C^2$ 級なら、$\nabla f$ は $C^1$ 級なので全微分可能であり(偏微分 の記事の定理「偏導関数が連続なら全微分可能」)、$f$ は各点で 2 回微分可能である。$H_f(a)$ の $(i,j)$ 成分は「$x_i$ で微分してから $x_j$ で微分したもの」だが、次の定理により順序は気にしなくてよい。

2 次関数とノルムの Hesse 行列
  1. $A$ を $n$ 次正方行列、$b\in\mathbb{R}^n$ とし、$f(x)=\frac12x^{\top}Ax+b\cdot x$ とすると、$\nabla f(x)=\frac12(A+A^{\top})x+b$ なので $H_f(x)=\frac12(A+A^{\top})$ である。$A$ が対称なら $H_f=A$ であり、2 次形式の行列が Hesse 行列としてそのまま現れる。
  2. $f(x)=\|x\|$($x\ne0$)では $\partial_if=x_i/\|x\|$、$\partial_j\partial_if=\delta_{ij}/\|x\|-x_ix_j/\|x\|^3$ なので
    $$ H_f(x)=\frac1{\|x\|}\Bigl(I-\frac{xx^{\top}}{\|x\|^2}\Bigr) $$
    である。$v\perp x$ なら $H_f(x)v=v/\|x\|$、$v=x$ なら $H_f(x)x=0$ であり、固有値は $1/\|x\|$(重複度 $n-1$)と $0$ である。原点から放射状にのびる直線の上で $\|x\|$ は 1 次関数なので、その方向の 2 階微分が $0$ になる。

対称性

Hesse 行列の対称性

$f$ が $a\in U$ で 2 回微分可能ならば、すべての $i,j$ について $\partial_j\partial_if(a)=\partial_i\partial_jf(a)$ であり、$H_f(a)$ は対称行列である。

2 重差分を平均値の定理で評価する

$H:=H_f(a)$ とおく。$\varepsilon>0$ とする。$r_0>0$ を、$f$ が $B(a,r_0)\subset U$ の各点で全微分可能となるようにとり、$\delta\in(0,r_0]$ を、$\|v\|< \delta$ なら
$$ \nabla f(a+v)=\nabla f(a)+Hv+R(v),\qquad\|R(v)\|\le\varepsilon\|v\| $$
となるようにとる($\nabla f$ の $a$ での全微分可能性)。$\|h\|,\|k\|< \delta/2$ について 2 重差分
$$ \Delta(h,k):=f(a+h+k)-f(a+h)-f(a+k)+f(a) $$
を考える。これは $h$ と $k$ について対称である。$g(t):=f(a+th+k)-f(a+th)$($0\le t\le1$)とおくと、現れる点はすべて $B(a,\delta)$ に入り、連鎖律 により $g$ は微分可能で $g'(t)=\nabla f(a+th+k)\cdot h-\nabla f(a+th)\cdot h$ である。平均値の定理 により $0< \theta< 1$ で $\Delta(h,k)=g(1)-g(0)=g'(\theta)$ となるものがあり、上の展開を代入すると
$$ \Delta(h,k)=\bigl(H(\theta h+k)\bigr)\cdot h-(H\theta h)\cdot h+\bigl(R(\theta h+k)-R(\theta h)\bigr)\cdot h=h^{\top}Hk+e $$
で、$|e|\le\varepsilon\bigl(\|\theta h+k\|+\|\theta h\|\bigr)\|h\|\le\varepsilon(2\|h\|+\|k\|)\|h\|$ である。
$0< s<\delta/2$ として $h=se_i$、$k=se_j$($e_i$ は第 $i$ 単位ベクトル)とすると、$h^{\top}Hk=s^2H_{ij}$ なので $|\Delta(se_i,se_j)-s^2H_{ij}|\le3\varepsilon s^2$ である。$i,j$ を入れ替えた式と $\Delta(se_i,se_j)=\Delta(se_j,se_i)$ から $s^2|H_{ij}-H_{ji}|\le6\varepsilon s^2$、すなわち $|H_{ij}-H_{ji}|\le6\varepsilon$ を得る。$\varepsilon>0$ は任意なので $H_{ij}=H_{ji}$ である。$\square$

偏微分 の記事の系「$C^2$ 級関数の偏微分の可換性」は $f$ が $C^2$ 級の場合であり、この定理は 2 階偏導関数の連続性も、$a$ 以外の点での 2 回微分可能性も仮定しない。LS90 Ch. 3 §16 Theorem 16.3(pp. 187–188)は、$f$ が $C^1$ 級で 2 階の微分が $a$ に存在するときに同じ 2 重差分の論法で対称性を示している。2 階偏微分係数がすべて存在するだけでは対称とは限らない(ex-hs-table の 1 行目)。
対称性を使うと、1 点での 2 回微分可能性だけから 2 次の近似が得られる。

2 次の Taylor 近似

$f$ が $a\in U$ で 2 回微分可能ならば
$$ f(a+h)=f(a)+\nabla f(a)\cdot h+\frac12h^{\top}H_f(a)h+o(\|h\|^2)\qquad(h\to0) $$
である。

$H:=H_f(a)$ とし、$\varepsilon,r_0,\delta,R$ を prf-hs-symmetric と同じにとる。$\|h\|< \delta$ について $g(h):=f(a+h)-f(a)-\nabla f(a)\cdot h-\frac12h^{\top}Hh$ とおく。$H$ は対称なので $\frac12v^{\top}Hv$ の勾配は $Hv$ であり、$\nabla g(v)=\nabla f(a+v)-\nabla f(a)-Hv=R(v)$ である。$\psi(t):=g(th)$ に 平均値の定理 を使うと、$0< \theta< 1$ で
$$ |g(h)|=|\psi(1)-\psi(0)|=|R(\theta h)\cdot h|\le\varepsilon\|\theta h\|\,\|h\|\le\varepsilon\|h\|^2 $$
である。$\varepsilon$ は任意なので $g(h)=o(\|h\|^2)$ である。$\square$

$f$ が $C^2$ 級なら、剰余を $\frac12h^{\top}H_f(a+\theta h)h$ の形で書く Lagrange 型の式が 極値 の記事の補題「2 次の Taylor の公式」にある。

座標変換

Hesse 行列の座標変換

$V\subset\mathbb{R}^n$ を開集合、$\varphi=(\varphi_1,\dots,\varphi_n)\colon V\to U$ と $f\colon U\to\mathbb{R}$ を $C^2$ 級とし、$b\in V$、$a:=\varphi(b)$、$J:=D\varphi(b)$ とする。このとき
$$ H_{f\circ\varphi}(b)=J^{\top}H_f(a)\,J+\sum_{k=1}^n\partial_kf(a)\,H_{\varphi_k}(b) $$
である。とくに次が成り立つ。

  1. $\varphi$ が 1 次式($\varphi(y)=Ay+c$)なら、すべての点で $H_{f\circ\varphi}(b)=A^{\top}H_f(a)A$ である。
  2. $a$ が $f$ の臨界点($\nabla f(a)=0$)なら $H_{f\circ\varphi}(b)=J^{\top}H_f(a)J$ である。さらに $J$ が正則なら、$H_{f\circ\varphi}(b)$ と $H_f(a)$ の階数、正の固有値の個数、負の固有値の個数(重複を込める)はそれぞれ等しい。
連鎖律を 2 回使う

連鎖律 により $\partial_\alpha(f\circ\varphi)=\sum_k(\partial_kf\circ\varphi)\,\partial_\alpha\varphi_k$ である。これを $y_\beta$ で微分すると、積の微分と連鎖律により
$$ \partial_\beta\partial_\alpha(f\circ\varphi)=\sum_{k,l}(\partial_l\partial_kf\circ\varphi)\,\partial_\beta\varphi_l\,\partial_\alpha\varphi_k+\sum_k(\partial_kf\circ\varphi)\,\partial_\beta\partial_\alpha\varphi_k $$
である。$b$ で評価すると、第 1 項は $J^{\top}H_f(a)J$ の $(\alpha,\beta)$ 成分 $\sum_{k,l}J_{k\alpha}(H_f(a))_{kl}J_{l\beta}$($H_f(a)$ の対称性を使う)、第 2 項は $\sum_k\partial_kf(a)(H_{\varphi_k}(b))_{\alpha\beta}$ である。1 では $H_{\varphi_k}=0$、2 では $\partial_kf(a)=0$ なので第 2 項が消える。2 の後半:$J$ が正則なので $J^{\top}H_f(a)J$ と $H_f(a)$ の階数は等しい。2 次形式 $u\mapsto u^{\top}H_f(a)u$ を変数変換 $u=Jw$ で書き直したものが $w^{\top}J^{\top}H_f(a)Jw$ なので、2次形式 の記事の定理「実2次形式の係数の符号の不変性」(Sylvester の慣性法則)と同じ記事の定理「実対称行列の主軸定理」により、正・負の固有値の個数も等しい。$\square$

臨界点でない点では第 2 項が残り、Hesse 行列の符号は座標の取り方で変わる(ex-hs-table の 2 行目)。多様体の上の関数について、臨界点での Hesse 行列が座標によらない対称双線形形式(Hesse 形式)を定めることは Morse関数 の記事の命題「Hesse形式」で示されており、上の 2 はその行列の形での言い換えである。Riemann 多様体の上では、Levi-Civita 接続 $\nabla$(Levi-Civita接続)を使って $\nabla^2f(Y,X):=X(Yf)-(\nabla_XY)f$ と定めると、臨界点以外でも座標によらない 2 階のテンソル(共変 Hesse 形式)が得られ、局所座標では成分が $\partial_j\partial_if-\sum_k\Gamma^k_{ji}\partial_kf$ である(LeeR18 Example 4.22、p. 100)。臨界点では $\partial_kf=0$ なので、これは普通の Hesse 行列に一致する。

凸性の判定

凸関数の 2 階の判定

$U\subset\mathbb{R}^n$ を凸な開集合、$f\colon U\to\mathbb{R}$ を $C^2$ 級とする。

  1. $f$ が凸関数であることと、すべての $x\in U$ で $H_f(x)$ が半正定値であることは同値である。
  2. すべての $x\in U$ で $H_f(x)$ が正定値ならば、$f$ は狭義凸関数である。
直線への制限で 1 変数に帰着する

$x\in U$、$v\in\mathbb{R}^n$ について $I:=\{t\in\mathbb{R}\mid x+tv\in U\}$ とおくと、$U$ が凸な開集合なので $I$ は $0$ を含む開区間であり、$\psi(t):=f(x+tv)$ は $I$ 上で $C^2$ 級である。連鎖律 を 2 回使うと $\psi'(t)=\sum_i\partial_if(x+tv)v_i$、$\psi''(t)=\sum_{i,j}\partial_j\partial_if(x+tv)v_iv_j=v^{\top}H_f(x+tv)v$ である。
1 の「ならば」:$f$ が凸なら、$s\in[0,1]$、$t_1,t_2\in I$ について
$$ \psi\bigl((1-s)t_1+st_2\bigr)=f\bigl((1-s)(x+t_1v)+s(x+t_2v)\bigr)\le(1-s)\psi(t_1)+s\psi(t_2) $$
なので $\psi$ は凸関数である。凸関数 の記事の系「2階導関数による判定」の 1 により $\psi''(0)=v^{\top}H_f(x)v\ge0$ である。$x,v$ は任意なので $H_f(x)$ は半正定値である。
1 の「逆」と 2:$x,y\in U$ とし、$v:=y-x$ とすると $[0,1]\subset I$ である。$H_f$ が至るところ半正定値なら $\psi''\ge0$ なので、同じ系の 1 により $\psi$ は $I$ 上の凸関数であり、$f((1-s)x+sy)=\psi(s)\le(1-s)\psi(0)+s\psi(1)=(1-s)f(x)+sf(y)$ である。$H_f$ が至るところ正定値で $x\ne y$ なら、$v\ne0$ なので $\psi''>0$ であり、系の 2 により $\psi$ は狭義凸関数なので、$0< s< 1$ で上の不等号は狭義になる。$\square$

これは Boy04 §3.1.4(p. 71)の 2 階の条件で、同書では証明が演習になっている。2 の逆は成り立たない。$f(x)=x^4$ は狭義凸関数だが $f''(0)=0$ である(同所)。凸関数の極小が最小になることは 極値 の記事の命題「凸関数の極小は最小」にある。

固有値と方向の 2 階微分

$H_f(a)$ は実対称行列なので、直交行列で対角化でき、固有値 $\lambda_1\le\dots\le\lambda_n$ はすべて実数である(2次形式 の記事の定理「実対称行列の主軸定理」)。

方向の 2 階微分の最大と最小

$f$ が $a$ で 2 回微分可能なとき、単位ベクトル $v$ について $\varphi_v(t):=f(a+tv)$ の $t=0$ での 2 階微分係数は $\varphi_v''(0)=v^{\top}H_f(a)v$ であり、
$$ \min_{\|v\|=1}v^{\top}H_f(a)v=\lambda_1,\qquad\max_{\|v\|=1}v^{\top}H_f(a)v=\lambda_n $$
である。最小・最大はそれぞれ $\lambda_1$、$\lambda_n$ の単位固有ベクトルでとる。

$\varphi_v'(t)=\nabla f(a+tv)\cdot v$ であり、$\nabla f$ の $a$ での全微分可能性から $\frac{\varphi_v'(t)-\varphi_v'(0)}{t}=\frac{(H_f(a)tv+R(tv))\cdot v}{t}\to v^{\top}H_f(a)v$($\|R(w)\|=o(\|w\|)$)なので、1 つ目の式を得る。直交行列 $P$ で $P^{\top}H_f(a)P=\operatorname{diag}(\lambda_1,\dots,\lambda_n)$ とし、$w:=P^{\top}v$ とおくと $\|w\|=1$ で $v^{\top}H_f(a)v=\sum_i\lambda_iw_i^2$ である。$\sum_iw_i^2=1$ なので $\lambda_1\le\sum_i\lambda_iw_i^2\le\lambda_n$ であり、$w=e_1$、$w=e_n$ で等号が成り立つ。$\square$

固有値の和は $\operatorname{tr}H_f(a)=\sum_i\partial_i\partial_if(a)=\Delta f(a)$ であり、Laplace 作用素は Hesse 行列のトレースである。これは勾配の場の発散でもある(発散(ベクトル場) の記事の命題「発散の計算規則」の 2)。固有値の積は Hesse 行列式 $\det H_f(a)$ である。

臨界点と指数

臨界点 $a$ で $\det H_f(a)\ne0$ のとき、$a$ を非退化臨界点といい、$H_f(a)$ の負の固有値の個数(重複を込める)を $a$ の指数(Morse 指数)という。prop-hs-change の 2 により、どちらも $C^2$ 級の座標変換で変わらない。指数は、$f$ が $a$ から下がっていく向きの次元の最大値に等しく(Morse関数 の記事の補題「指数と対角化」)、$f$ が $C^2$ 級のとき、指数が $0$ なら狭義の極小、指数が $n$ なら狭義の極大、その間なら鞍点である(極値 の記事の定理「2 階の十分条件」)。滑らかな関数の非退化臨界点の近くでは、座標を選ぶと $f-f(a)$ が 2 次形式そのものになる(Morse関数 の記事の定理「Morseの補題」)。

指数の計算

$f(x,y,z)=x^2+y^2-z^2+xz$ の臨界点は原点だけで、
$$ H_f(0)=\begin{pmatrix}2&0&1\\0&2&0\\1&0&-2\end{pmatrix},\qquad\det H_f(0)=2\cdot(-4-1)=-10 $$
である。固有値は $y$ 方向の $2$ と、$\begin{pmatrix}2&1\\1&-2\end{pmatrix}$ の固有値 $\pm\sqrt5$ なので、原点は指数 $1$ の非退化臨界点(鞍点)である。一方 $g(x,y)=x^3-3xy^2$ の原点は臨界点で $H_g(0)=0$ なので退化しており、指数では形が分からない(3 方向に下がる「猿の鞍」)。

反例:条件を外すと

外す条件反例成り立たなくなること
$a$ で 2 回微分可能(thm-hs-symmetric)$k(x,y)=\dfrac{xy(x^2-y^2)}{x^2+y^2}$、$k(0,0)=0$ の原点2 階偏微分係数を並べた行列が対称
$a$ が臨界点(prop-hs-change の 2)$f(x,y)=y$、$\varphi(u,v)=(u,v+u^2)$Hesse 行列の符号が座標によらない
Hesse 行列が正定値(thm-hs-convex の 2、半正定値に弱める)$\mathbb{R}^2$ 上の $f(x,y)=x^2$狭義凸関数
表の確かめ

1 行目:$k_x(0,y)=-y$、$k_y(x,0)=x$ なので $\partial_y\partial_xk(0,0)=-1$、$\partial_x\partial_yk(0,0)=1$ である(偏微分 の記事の例「反例:2 階の偏導関数の順序を交換できない関数」)。2 階偏微分係数はすべて存在するが、$\nabla k$ は原点で全微分可能でない(全微分可能なら thm-hs-symmetric に反する)。
2 行目:$H_f=0$ だが、$f\circ\varphi(u,v)=v+u^2$ の Hesse 行列は $\operatorname{diag}(2,0)$ である。$f$ には臨界点がなく、$J=D\varphi$ は正則である。
3 行目:$H_f=\operatorname{diag}(2,0)$ は半正定値で、$f$ は凸だが、$(0,0)$ と $(0,1)$ を結ぶ線分の上で $f=0$ は 1 次関数なので狭義凸でない。

補足

最適化と Hesse 行列

$\nabla f(x)=0$ を解く Newton法 は、2 次の近似 $f(x+h)\approx f(x)+\nabla f(x)\cdot h+\frac12h^{\top}H_f(x)h$ の停留点($H_f(x)$ が正定値なら最小点)となる $h$、すなわち $H_f(x)h=-\nabla f(x)$ の解だけ進む反復であり、Hesse 行列の連立 1 次方程式を各段で解く。制約付きの問題では、Lagrange 関数の Hesse 行列を制約の接空間に制限したものが 2 次の条件を与える(Lagrangeの未定乗数法 の記事の定理「2 次の十分条件」)。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する