4장. 헤세 행렬과 극값

다변수 미적분 · 2부. 최적화

기본 · 약 15분 · 연습문제 5

요약

임계점, 헤세 행렬, 이차 테일러 근사, 극대·극소·안장점 판정, 볼록함수

한 변수에서는 f′(c)=0f'(c) = 0인 점에서 f′′(c)f''(c)의 부호로 극대·극소를 판정했습니다(미적분학 5장). 여러 변수에서는 이계도함수가 수 하나가 아니라 행렬(헤세 행렬)이고, 그 행렬의 고윳값 부호가 판정을 맡습니다. 그리고 한 변수에는 없던 새로운 경우, 한 방향으로는 극소이고 다른 방향으로는 극대인 안장점이 나옵니다. 머신러닝 손실 함수의 지형을 이해하는 데 꼭 필요한 장입니다.

4.1 임계점

정의 4.1 (임계점). ∇f(a)=0\nabla f(\mathbf{a}) = \mathbf{0}인 점을 임계점(critical point)이라 합니다.

2장의 문제 2.5에서 보였듯이, 미분 가능한 함수의 극값은 임계점에서만 나옵니다. 그러나 임계점이 모두 극값인 것은 아닙니다.

예제 4.2.

  • x2+y2x^2 + y^2: 원점이 임계점이고 극소(그릇 모양).
  • −x2−y2-x^2 - y^2: 원점이 극대(뒤집은 그릇).
  • x2−y2x^2 - y^2: 원점이 임계점이지만, xx축을 따라서는 극소, yy축을 따라서는 극대입니다. 말안장 모양이라 안장점(saddle point)이라 합니다.

4.2 헤세 행렬과 이차 근사

정의 4.3 (헤세 행렬). 이계 편미분을 모은 n×nn \times n 행렬

H=[fx1x1⋯fx1xn⋮⋮fxnx1⋯fxnxn]H = \begin{bmatrix} f_{x_1x_1} & \cdots & f_{x_1x_n} \\ \vdots & & \vdots \\ f_{x_nx_1} & \cdots & f_{x_nx_n} \end{bmatrix}

을 ff의 헤세 행렬(Hessian matrix)이라 합니다. 2장의 클레로 정리로 HH는 대칭행렬입니다.

정리 4.4 (이차 테일러 근사).

f(a+h)≈f(a)+∇f(a)⋅h+12hTH(a)h.f(\mathbf{a} + \mathbf{h}) \approx f(\mathbf{a}) + \nabla f(\mathbf{a})\cdot\mathbf{h} + \tfrac12\mathbf{h}^TH(\mathbf{a})\mathbf{h}.

미적분학 12장의 f(a)+f′(a)h+12f′′(a)h2f(a) + f'(a)h + \frac12f''(a)h^2에서 f′′(a)h2f''(a)h^2 자리에 이차형식 hTHh\mathbf{h}^TH\mathbf{h}(선형대수 17장)가 온 것입니다.

임계점에서는 ∇f=0\nabla f = \mathbf{0}이므로 f(a+h)−f(a)≈12hTHhf(\mathbf{a} + \mathbf{h}) - f(\mathbf{a}) \approx \frac12\mathbf{h}^TH\mathbf{h}입니다. 극대·극소는 이 이차형식의 부호로 정해집니다.

4.3 극값 판정

정리 4.5 (이계도함수 판정). a\mathbf{a}가 임계점이고 H=H(a)H = H(\mathbf{a})일 때

  1. HH가 양정치(모든 고윳값 >0> 0)이면 극소.
  2. HH가 음정치(모든 고윳값 <0< 0)이면 극대.
  3. HH의 고윳값에 양수와 음수가 모두 있으면 안장점.
  4. 고윳값에 0이 있고 나머지 부호가 같으면 이 판정으로는 알 수 없음.

증명 개요. H=QΛQTH = Q\Lambda Q^T로 직교 대각화하면(선형대수 17장의 스펙트럼 정리) hTHh=∑λiyi2\mathbf{h}^TH\mathbf{h} = \sum\lambda_iy_i^2(y=QTh\mathbf{y} = Q^T\mathbf{h})입니다. 모든 λi>0\lambda_i > 0이면 어느 방향으로든 증가하고, 부호가 섞이면 고유벡터 방향에 따라 증가·감소가 갈립니다. □

고윳값의 부호는 곡면이 고유벡터 방향으로 위로 휘는지 아래로 휘는지를 나타냅니다. 큰 고윳값은 그 방향으로 가파르게 휜다는 뜻입니다.

2변수에서 빠르게. D=fxxfyy−fxy2=det⁡HD = f_{xx}f_{yy} - f_{xy}^2 = \det H로 판정할 수 있습니다.

조건 결론
D>0D > 0, fxx>0f_{xx} > 0 극소
D>0D > 0, fxx<0f_{xx} < 0 극대
D<0D < 0 안장점
D=0D = 0 판정 불가

D=λ1λ2D = \lambda_1\lambda_2이므로 D<0D < 0이면 고윳값의 부호가 다르고, D>0D > 0이면 같습니다(같은 부호는 fxxf_{xx}로 확인).

예제 4.6. f(x,y)=x3−3x+y2f(x, y) = x^3 - 3x + y^2. ∇f=(3x2−3,2y)=0\nabla f = (3x^2 - 3, 2y) = \mathbf{0}에서 임계점은 (1,0)(1, 0), (−1,0)(-1, 0)입니다. H=[6x002]H = \begin{bmatrix} 6x & 0 \\ 0 & 2 \end{bmatrix}이므로 (1,0)(1, 0)에서 D=12>0D = 12 > 0, fxx=6>0f_{xx} = 6 > 0: 극소. (−1,0)(-1, 0)에서 D=−12<0D = -12 < 0: 안장점.

예제 4.7 (판정 불가). x4+y4x^4 + y^4과 x4−y4x^4 - y^4은 원점에서 H=0H = 0이지만, 앞은 극소이고 뒤는 안장점입니다. D=0D = 0이면 더 높은 차수를 봐야 합니다.

4.4 볼록함수

정의 4.8 (볼록함수). 모든 x,y\mathbf{x}, \mathbf{y}와 0≤t≤10 \le t \le 1에 대해 f(tx+(1−t)y)≤tf(x)+(1−t)f(y)f(t\mathbf{x} + (1 - t)\mathbf{y}) \le tf(\mathbf{x}) + (1 - t)f(\mathbf{y})이면 ff는 볼록(convex)합니다. 그래프 위의 두 점을 이은 선분이 그래프보다 위(또는 같은 곳)에 있다는 뜻입니다.

정리 4.9. 두 번 미분 가능한 ff가 볼록일 필요충분조건은 모든 점에서 HH가 양반정치(고윳값 ≥0\ge 0)인 것입니다.

정리 4.10. 볼록함수의 임계점은 최소점(전역 최소)입니다. 극소가 곧 최소입니다.

증명 개요. 볼록함수는 모든 접평면보다 위에 있습니다: f(y)≥f(a)+∇f(a)⋅(y−a)f(\mathbf{y}) \ge f(\mathbf{a}) + \nabla f(\mathbf{a})\cdot(\mathbf{y} - \mathbf{a}). 임계점에서는 ∇f(a)=0\nabla f(\mathbf{a}) = \mathbf{0}이므로 f(y)≥f(a)f(\mathbf{y}) \ge f(\mathbf{a})입니다. □

예제 4.11. 선형회귀의 손실 L(β)=∥Xβ−y∥2L(\boldsymbol\beta) = \|X\boldsymbol\beta - \mathbf{y}\|^2의 헤세 행렬은 2XTX2X^TX이고, vTXTXv=∥Xv∥2≥0\mathbf{v}^TX^TX\mathbf{v} = \|X\mathbf{v}\|^2 \ge 0이므로 양반정치입니다. 그래서 LL은 볼록이고, 임계점(정규방정식의 해, 선형대수 13장)이 최소점입니다.

4.5 이 장의 요약

  • 임계점 ∇f=0\nabla f = \mathbf{0}에서 헤세 행렬 HH의 고윳값 부호로 극소·극대·안장점을 판정합니다.
  • 2변수: D=fxxfyy−fxy2D = f_{xx}f_{yy} - f_{xy}^2.
  • 볼록함수(H⪰0H \succeq 0)는 극소 = 최소.

쓰이는 곳. 머신러닝 이론에서 손실 지형의 안장점과 평평한 극소점(헤세 행렬의 고윳값이 작은 곳)이 일반화와 관련 있다는 연구가 많고, 볼록 최적화는 로지스틱 회귀·SVM처럼 최적해가 보장되는 모델의 바탕입니다. 뉴턴 방법(5장)은 헤세 행렬을 직접 씁니다. 물리에서 퍼텐셜의 헤세 행렬은 평형점의 안정성과 진동수를 정합니다.

문제

4.1 [계산] · 확인 문제

f(x,y)=x2+xy+y2−3xf(x, y) = x^2 + xy + y^2 - 3x의 임계점과 판정을 구합니다.

항목 값
임계점의 xx [?]
임계점의 yy [?]
D=det⁡HD = \det H [?]
극값 [?]
힌트 1

fx=2x+y−3=0f_x = 2x + y - 3 = 0, fy=x+2y=0f_y = x + 2y = 0을 풉니다.

정답
2
-1
3
-3
풀이

연립하면 x=2x = 2, y=−1y = -1. H=[2112]H = \begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix}이므로 D=3>0D = 3 > 0, fxx=2>0f_{xx} = 2 > 0: 극소. 값은 4−2+1−6=−34 - 2 + 1 - 6 = -3입니다.

4.2 [개념] · 확인 문제

f(x,y)=x2+4xy+y2f(x, y) = x^2 + 4xy + y^2의 원점은?

  1. 극소점
  2. 극대점
  3. 안장점
  4. 판정할 수 없음
정답
3
풀이

H=[2442]H = \begin{bmatrix} 2 & 4 \\ 4 & 2 \end{bmatrix}, D=4−16=−12<0D = 4 - 16 = -12 < 0이므로 안장점입니다. 고윳값은 6과 −2-2이고, 방향 (1,1)(1, 1)로는 위로, (1,−1)(1, -1)로는 아래로 휩니다.

4.3 [계산] · 확인 문제

예제 4.6의 f(x,y)=x3−3x+y2f(x, y) = x^3 - 3x + y^2에서 극솟값은?

정답
-2
풀이

극소점 (1,0)(1, 0)에서 f=1−3+0=−2f = 1 - 3 + 0 = -2입니다.

4.4 [개념]

R2\mathbb{R}^2에서 볼록함수를 모두 고릅니다.

  1. x2+y2x^2 + y^2
  2. x2−y2x^2 - y^2
  3. ex+y2e^{x} + y^2
  4. (x+y)2(x + y)^2
정답
1,3,4
풀이

헤세 행렬: 1번 diag⁡(2,2)\operatorname{diag}(2, 2), 3번 diag⁡(ex,2)\operatorname{diag}(e^x, 2), 4번 [2222]\begin{bmatrix} 2 & 2 \\ 2 & 2 \end{bmatrix}(고윳값 4, 0)은 모두 양반정치라 볼록입니다. 2번은 고윳값 2,−22, -2라 볼록이 아닙니다.

4.5 [증명]

상자의 부피가 32로 정해졌을 때, 뚜껑 없는 직육면체 상자의 겉넓이 S=xy+64x+64yS = xy + \frac{64}{x} + \frac{64}{y}(x,y>0x, y > 0, 높이는 32/(xy)32/(xy))가 최소가 되는 치수를 구하고, 이계도함수 판정으로 극소임을 확인합니다.

풀이

Sx=y−64/x2=0S_x = y - 64/x^2 = 0, Sy=x−64/y2=0S_y = x - 64/y^2 = 0에서 yx2=64yx^2 = 64, xy2=64xy^2 = 64이므로 x=yx = y, x3=64x^3 = 64, x=y=4x = y = 4, 높이 32/16=232/16 = 2입니다. H=[128/x311128/y3]=[2112]H = \begin{bmatrix} 128/x^3 & 1 \\ 1 & 128/y^3 \end{bmatrix} = \begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix}이고 D=3>0D = 3 > 0, Sxx>0S_{xx} > 0이므로 극소입니다. 이때 겉넓이는 16+16+16=4816 + 16 + 16 = 48입니다.