§E4.6Hessian と局所極値

最終更新

f(x,y)=x2+3y2f(x,y)=x^2+3y^2とg(x,y)=2x2−y2g(x,y)=2x^2-y^2は、どちらも原点で勾配が零になる。ところが、ffは原点の周囲で値が増える一方、ggは進む方向によって値が増減する。一次近似が零になる臨界点では、勾配だけを見ても、この違いを判定することはできない。

直前の記事で得た二次 Taylor 展開は、臨界点の近くにおける最初の主要項を Hessian の二次形式として表す。二次形式がすべての非零方向で正なら局所最小点、負なら局所最大点、正負の両方を取るなら局所極値点でないことが期待される。しかし、x2+y6x^2+y^6とx2−y6x^2-y^6は原点で同じ退化した Hessian をもちながら、原点の振る舞いが異なる。二次形式が零になる方向では、より高次の項を無視することができない。

本記事では、まず臨界点を定義し、Hessian の符号を二次 Taylor 展開の誤差評価と組み合わせて局所極値判定を証明する。続いて、退化する場合に判定が定まらない例を比較し、首座小行列式から Hessian の符号を計算する方法を扱う。

1 臨界点

定義 1.1.U⊂RnU\subset\mathbb R^nを開集合とし、f:U→Rf:U\to\mathbb Rを全微分可能な関数とする。Df(a)=0Df(a)=0を満たす点a∈Ua\in Uをffの臨界点 (critical point) という。勾配を用いれば、この条件は∇f(a)=0\nabla f(a)=0と同値である。

2 二次形式の符号

定義 2.1.HHを実対称n×nn\times n行列とし、

qH(h)=hTHhq_H(h)=h^{\mathsf T}Hh

とおく。二次形式qHq_Hが§E3.40 定義 2.1の意味で正定値であるとき、HHは正定値 (positive definite) であるという。−H-Hが正定値であるとき、HHは負定値 (negative definite) であるという。また、qHq_Hが正の値と負の値をともに取るとき、HHは不定値 (indefinite) であるという。

§E3.40 定理 1.1と§E3.40 定理 2.2により、実二次形式は正の平方、負の平方および零係数の個数によって分類される。本記事では、この分類を証明せずに用いる。

系 2.2 (Sylvester の判定法).HHを実対称n×nn\times n行列とし、HHの左上k×kk\times k小行列の行列式をΔk\Delta_kとする。HHが正定値であるための必要十分条件は

Δ1>0,Δ2>0,…,Δn>0\Delta_1>0,\quad\Delta_2>0,\quad\ldots,\quad\Delta_n>0

である。

証明. これは、実対称行列に対する§E3.40 定理 3.1そのものである。▨

系 2.3.α,β,γ∈R\alpha,\beta,\gamma\in\mathbb Rとし、

H=(αββγ)H= \begin{pmatrix} \alpha&\beta\\ \beta&\gamma \end{pmatrix}

とおく。

  1. α>0\alpha>0かつdet⁡H>0\det H>0ならば、HHは正定値である。
  2. α<0\alpha<0かつdet⁡H>0\det H>0ならば、HHは負定値である。
  3. det⁡H<0\det H<0ならば、HHは不定値である。

証明.(1)の場合、二つの首座小行列式はα>0\alpha>0とdet⁡H>0\det H>0であるから、系 2.2によりHHは正定値である。(2)の場合、−H-Hの二つの首座小行列式は−α>0-\alpha>0とdet⁡(−H)=det⁡H>0\det(-H)=\det H>0であるから、−H-Hは正定値である。

(3)の場合、HHは正則なので、二次形式の慣性指数に零係数は現れない。§E3.40 定理 1.1による符号付き対角表示で正または負の平方だけが現れるならば、合同変換の行列をPPとして

det⁡(PTHP)=(det⁡P)2det⁡H\det(P^{\mathsf T}HP)=(\det P)^2\det H

の左辺は正になる。しかし、右辺はdet⁡H<0\det H<0から負であり、矛盾する。従って正の平方と負の平方が一つずつ現れ、§E3.40 定理 2.2によりHHは不定値である。▨

3 Hessian による局所極値判定

定理 3.1.n∈N≥1n\in\mathbb N_{\geq1}とし、U⊂RnU\subset\mathbb R^nを開集合、f:U→Rf:U\to\mathbb RをC2C^2級関数とする。a∈Ua\in Uをffの臨界点とし、H=Hf(a)H=H_f(a)とおく。このとき、次が成り立つ。

  1. HHが正定値ならば、aaはffの狭義局所最小点である。
  2. HHが負定値ならば、aaはffの狭義局所最大点である。
  3. HHが不定値ならば、aaはffの局所最小点でも局所最大点でもない。

証明.§E4.4 定義 3.3によりHHは実対称行列である。まず、HHが正定値であると仮定する。§D3.15 定理 3.1により、正規直交固有ベクトルv1,…,vnv_1,\ldots,v_nと実固有値λ1,…,λn\lambda_1,\ldots,\lambda_nが存在する。各iiについて

λi=viTHvi>0\lambda_i=v_i^{\mathsf T}Hv_i>0

である。従ってc=min⁡1≤i≤nλi>0c=\min_{1\leq i\leq n}\lambda_i>0とおけば、h=∑iξivih=\sum_i\xi_iv_iに対して

hTHh=∑i=1nλiξi2≥c∑i=1nξi2=c∥h∥2(1)h^{\mathsf T}Hh =\sum_{i=1}^n\lambda_i\xi_i^2 \geq c\sum_{i=1}^n\xi_i^2 =c\lVert h\rVert^2 \tag{1}

となる。

aaは臨界点であるから、二次 Taylor 展開§E4.5 系 2.1により

f(a+h)−f(a)=12hTHh+r(h),r(h)∥h∥2⟶0(h→0,h≠0)(2)f(a+h)-f(a)=\frac12h^{\mathsf T}Hh+r(h), \qquad \frac{r(h)}{\lVert h\rVert^2}\longrightarrow0 \quad(h\to0, h\ne0) \tag{2}

である。UUは開集合なので、あるρ>0\rho>0が存在してB(a,ρ)⊂UB(a,\rho)\subset Uとなる。また、式 (2) の極限から、あるδ0>0\delta_0>0が存在して

0<∥h∥<δ0⟹∣r(h)∣≤c4∥h∥2(3)0<\lVert h\rVert<\delta_0 \quad\Longrightarrow\quad |r(h)|\leq\frac{c}{4}\lVert h\rVert^2 \tag{3}

となる。δ=min⁡{ρ,δ0}\delta=\min\{\rho,\delta_0\}とおくと、式 (1) と式 (3) により、0<∥h∥<δ0<\lVert h\rVert<\deltaに対して

f(a+h)−f(a)≥c2∥h∥2−c4∥h∥2=c4∥h∥2>0f(a+h)-f(a) \geq\frac{c}{2}\lVert h\rVert^2-\frac{c}{4}\lVert h\rVert^2 =\frac{c}{4}\lVert h\rVert^2>0

である。従ってaaは狭義局所最小点である。

HHが負定値である場合、−f-fはC2C^2級であり、aaは−f-fの臨界点である。また、H−f(a)=−HH_{-f}(a)=-Hは正定値である。既に示した場合を−f-fへ適用すると、aaは−f-fの狭義局所最小点、従ってffの狭義局所最大点である。

最後に、HHが不定値であると仮定する。定義により、あるu+,u−∈Rn∖{0}u_+,u_-\in\mathbb R^n\setminus\{0\}が存在して

u+THu+>0,u−THu−<0u_+^{\mathsf T}Hu_+>0, \qquad u_-^{\mathsf T}Hu_-<0

となる。式 (2) へh=tu+h=tu_+を代入してt2t^2で割ると

f(a+tu+)−f(a)t2⟶12u+THu+>0(t→0,t≠0)\frac{f(a+tu_+)-f(a)}{t^2} \longrightarrow\frac12u_+^{\mathsf T}Hu_+>0 \qquad(t\to0, t\ne0)

である。同様に、

f(a+tu−)−f(a)t2⟶12u−THu−<0\frac{f(a+tu_-)-f(a)}{t^2} \longrightarrow\frac12u_-^{\mathsf T}Hu_-<0

である。UUがaaの近傍を含むことと二つの極限から、任意の十分小さい正のttに対して

f(a+tu+)>f(a),f(a+tu−)<f(a)f(a+tu_+)>f(a), \qquad f(a+tu_-)<f(a)

となる。従ってaaの任意の近傍にはf(a)f(a)より大きい値を取る点と小さい値を取る点が存在するので、aaは局所最小点でも局所最大点でもない。▨

4 退化する Hessian

例 4.1 (定符号と退化の基本例). 関数

f1(x,y)=x2+y2,f2(x,y)=x2−y2f_1(x,y)=x^2+y^2, \qquad f_2(x,y)=x^2-y^2

を考える。原点は両方の関数の臨界点である。Hf1(0,0)=2IH_{f_1}(0,0)=2Iは正定値なので、原点はf1f_1の狭義局所最小点である。一方、Hf2(0,0)=diag⁡(2,−2)H_{f_2}(0,0)=\operatorname{diag}(2,-2)は不定値なので、原点はf2f_2の局所極値ではない。

次に、

f3(x,y)=x2+y4,f4(x,y)=x2−y4f_3(x,y)=x^2+y^4, \qquad f_4(x,y)=x^2-y^4

を考える。二つの関数は原点で同じ Hessiandiag⁡(2,0)\operatorname{diag}(2,0)をもつ。f3(x,y)>0f_3(x,y)>0は(x,y)≠(0,0)(x,y)\ne(0,0)に対して成り立つので、原点はf3f_3の狭義局所最小点である。これに対し、f4(x,0)=x2>0f_4(x,0)=x^2>0およびf4(0,y)=−y4<0f_4(0,y)=-y^4<0が非零の十分小さいx,yx,yに対して成り立つので、原点はf4f_4の局所極値ではない。同じ半正定値 Hessian が異なる結論をもたらすため、退化する場合には Hessian だけで局所極値を判定することができない。

例 4.2 (完全に退化する鞍点).f(x,y)=x3−3xy2f(x,y)=x^3-3xy^2とする。原点では∇f(0,0)=0\nabla f(0,0)=0かつHf(0,0)=0H_f(0,0)=0である。極座標を用いると

f(rcos⁡θ,rsin⁡θ)=r3cos⁡(3θ)f(r\cos\theta,r\sin\theta)=r^3\cos(3\theta)

となる。任意のr>0r>0に対して、θ=0\theta=0では値が正であり、θ=π/3\theta=\pi/3では値が負である。従って原点は局所極値ではない。零行列である Hessian は、この符号変化を捉えない。

5 首座小行列式による計算

例 5.1 (三変数の判定). 関数

f(x,y,z)=x2−xy+y2+2z2f(x,y,z)=x^2-xy+y^2+2z^2

を考える。原点は臨界点であり、その Hessian は

Hf(0,0,0)=(2−10−120004)H_f(0,0,0)= \begin{pmatrix} 2&-1&0\\ -1&2&0\\ 0&0&4 \end{pmatrix}

である。首座小行列式は

Δ1=2,Δ2=3,Δ3=12\Delta_1=2, \qquad \Delta_2=3, \qquad \Delta_3=12

である。従って系 2.2により Hessian は正定値であり、定理 3.1により原点はffの狭義局所最小点である。

6 演習

問題 6.1 (二次判定と退化する場合).α,β∈R\alpha,\beta\in\mathbb Rに対し、

fα,β(x,y)=x2+2αxy+y2+βx4f_{\alpha,\beta}(x,y)=x^2+2\alpha xy+y^2+\beta x^4

とおく。原点が臨界点であることを確認し、次の各場合に原点を分類せよ。

  1. ∣α∣<1|\alpha|<1。
  2. ∣α∣>1|\alpha|>1。
  3. ∣α∣=1|\alpha|=1かつβ>0\beta>0、β=0\beta=0、β<0\beta<0の各場合。
解答.

一階偏導関数は

∂fα,β∂x=2x+2αy+4βx3,∂fα,β∂y=2αx+2y\frac{\partial f_{\alpha,\beta}}{\partial x} =2x+2\alpha y+4\beta x^3, \qquad \frac{\partial f_{\alpha,\beta}}{\partial y} =2\alpha x+2y

であるから、原点は臨界点である。原点における Hessian は

H=2(1αα1),det⁡H=4(1−α2)H=2 \begin{pmatrix} 1&\alpha\\ \alpha&1 \end{pmatrix}, \qquad \det H=4(1-\alpha^2)

である。

∣α∣<1|\alpha|<1の場合、HHの第1首座小行列式は2>02>0であり、行列式も正である。系 2.3によりHHは正定値なので、原点は狭義局所最小点である。∣α∣>1|\alpha|>1の場合、det⁡H<0\det H<0なのでHHは不定値であり、原点は局所最小点でも局所最大点でもない。

∣α∣=1|\alpha|=1の場合、Hessian は退化している。α=1\alpha=1ならば

f1,β(x,y)=(x+y)2+βx4,f_{1,\beta}(x,y)=(x+y)^2+\beta x^4,

α=−1\alpha=-1ならば

f−1,β(x,y)=(x−y)2+βx4f_{-1,\beta}(x,y)=(x-y)^2+\beta x^4

である。β>0\beta>0ならば、いずれの表示でも原点以外で値が正になるので、原点は狭義局所最小点である。β=0\beta=0ならば関数は非負であるが、直線y=−xy=-xまたはy=xy=x上で零になるので、原点は狭義でない局所最小点である。β<0\beta<0ならば、対応する直線上では非零のxxに対して値が負である一方、x=0x=0かつy≠0y\ne0では値が正である。従って原点は局所最小点でも局所最大点でもない。▨

参考文献

  1. Tom M. Apostol, Mathematical Analysis, 2nd ed., Addison-Wesley, 1974.多変数関数の二次微分判定と退化する場合の反例を参考にした。
  2. Roger A. Horn and Charles R. Johnson, Matrix Analysis, 2nd ed., Cambridge University Press, Cambridge, 2013.実対称行列の正定値性と Sylvester の判定法を参考にした。

前提記事