Zeta Oph's Study

[벡터 해석학] Hessian Matrix 본문

수학/벡터 해석학

[벡터 해석학] Hessian Matrix

Zeta Oph 2023. 9. 15. 12:31

다시 돌아온 벡터 해석. 이번에는 Hessian Matrix에 대해 다루어보도록 하겠습니다.


저번에는 다변수 벡터 함수의 일차 도함수를 의미하는 Jacobian Matrix에 대해 알아보았습니다.

https://crane206265.tistory.com/33

 

[벡터 해석학] Jacobian Matrix

오랜만에 수학 글 이 글에서는 Jacobian Matrix에 대해 다루어 보도록 하겠습니다. Gradient 글에서 gradient는 다변수 스칼라 함수의 일차 도함수를 의미한다고 했습니다. https://crane206265.tistory.com/25 [벡

crane206265.tistory.com

Hessian Matrix다변수 스칼라 함수 이차도함수를 의미하는 행렬입니다.

다변수 스칼라 함수 $f=f(x_1, x_2, \cdots, x_n)$을 생각합시다. 그러면 함수 $f$의 Hessian Matrix $H(f)$는 아래와 같이 쓸 수 있습니다.

$$H(f)= \left( \begin{matrix} \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{matrix} \right) $$

 

Hessian Matrix는 어떻게 유도될까요?

앞서 Hessian Matrix는 다변수 스칼라 함수의 이차도함수라고 하였습니다. 이차도함수이므로, 다변수 스칼라 함수를 2번 미분한다고 생각할 수 있겠죠.

다변수 스칼라 함수 $f(\mathbf{x})=f(x_1, x_2, \cdots, x_n)$의 일차 도함수는 gradient라고 할 수 있다고 하였습니다.

$$\nabla{f(\mathbf{x})}=\frac{\partial f}{\partial x_1}\mathbf{\hat{e}_1}+\frac{\partial f}{\partial x_2}\mathbf{\hat{e}_2}+\cdots+\frac{\partial f}{\partial x_n}\mathbf{\hat{e}_n}$$

이제 이차 도함수를 구하려면 위 함수를 한 번 더 미분해야 합니다. 그리고 미분해야 할 일차 도함수는 다변수 벡터 함수의 형태이죠. 저번 글에서 다변수 벡터함수를 미분하기 위해서는 Jacobian Matrix를 사용해야 한다고 했습니다. 따라서 $\nabla{f(\mathbf{x})}$의 Jacobian Matrix를 구해줍니다.

$$J(\nabla{f(\mathbf{x})})=\left( \begin{matrix} \frac{\partial ^2 f}{\partial x_1^2} && \frac{\partial ^2 f}{\partial x_2 \partial x_1} && \cdots && \frac{\partial ^2 f}{\partial x_n \partial x_1} \\ \frac{\partial ^2 f}{\partial x_1 \partial x_2} && \frac{\partial ^2 f}{\partial x_2 ^2} && \cdots && \frac{\partial ^2 f}{\partial x_n \partial x_2} \\ \vdots && \vdots && \ddots && \vdots \\ \frac{\partial ^2 f}{\partial x_1 \partial x_n} && \frac{\partial ^2 f}{\partial x_2 \partial x_n} && \cdots && \frac{\partial ^2 f}{\partial x_n^2} \\ \end{matrix} \right)$$

그런데 편미분은 순서가 상관 없으므로, 이 행렬은 전치시켜주어도 바뀌지 않습니다. 따라서 이 행렬을 전치시켜주면, 위에서 보았던 Hessian Matrix를 얻을 수 있습니다.

$$H(f(\mathbf{x}))=J(\nabla{f(\mathbf{x})})^{T}$$

 

Hessian Matrix는 임계정 판정에 사용됩니다. 이계도함수의 부호로 아래로 볼록, 위로 볼록을 판정하는 것과 비슷합니다.

임계점에서 Hessian Matrix의 고윳값이 모두 양수면 극소점, 고윳값이 모두 음수면 극대점, 양의 부호와 음의 부호가 섞여있으면 안장점입니다.


이렇게 Hessian Matrix에 대해 알아보았습니다. Hessian Matrix는 임계점을 판정할 수 있다는 특징을 살려 인공지능에서 최적화 문제에 사용되기도 합니다.