본문 바로가기
수학

Higher-Order Derivatives

by 볼록티 2020. 5. 30.
728x90
반응형

gradient는 주어진 함수를 한번 미분한 결과였다. 이번 장에서는 주어진 함수를 여러번 미분한  Higher-Order Derivatives를 알아본다.  Higher-Order Derivatives는 주어진 함수에 대한 특정 지점에서 풍부한 정보를 얻고 싶을 때의 정보를 알려준다. gradient는 local영역에서의 slope를 의미하는데, 그 지점에서의 함수 형태가 얼마나 곡선을 띄고 있는지 등에 대한 정보를 알 수 있다.

 

아래의 경우 두 개의 입력을 받는 함수를 보자. $f$를 $x$에 대해 2번 미분하거나 $n$번 미분한다는 말이고, 두개의 입력을 받기 때문에 $x$에 대해 먼저 미분하고 $y$를 미분하거나 순서를 바꾸어서 반대의 순서를 나타낸다. 이 notation에 대해 숙지하자.

 

 

Higher-Order Derivatives 는 두 번이상 미분한 것을 말하는데, 일반적으로 n번 미분하는 derivatives는 많이 사용하지 않고, 대표적인게 second derivatives이다. 함수가 입력으로 가진 변수에 대해 두번 미분한 정보들을 하나의 matrix 형태로 모아놓은 것을 Hessian matrix (5.147)라 한다. 즉 Hessian matrix는 모든 second-order partial derivatives를 모아 놓은 것이다. 아래의 $H$는 $\Delta^{2}_{x,y}f(x,y)$ 를 뜻한다.

 

$x \in \mathbb{R}^{n}$의 input variable과 $f : \mathbb{R}^{n} \rightarrow \mathbb{R}$ 인 함수가 있다고 했을 때, 이 때 $H$ matrix는 ( n x n )  matrix가 된다.

 이 경우의 $H$ matrix를 보면 아래와 같다.

 

(5.147)을 보면 symmetric metrix이다. 그래서 주어진 함수를  $x$ 또는 $y$로 먼저 미분하나 결과는 같게 된다. 

 

gradient 가 주는 정보는 주어진 지점에서 tanhgent plane에 대한 정보를 주고, $H$가 주는 정보는 특정 지점에서 local하게 얼마나 공유를 이루고 있는가에 대한 curvature정보를 준다. 2차 함수에서의 한번 미분하면 점선의 기울기과, 한번 더 미분하면 위로 볼록인지 아래로 볼록인지 판단가능하니까 이 때의 위로 아래로 볼록인지 여부가 curvature 정보이다. 

 

 

 

gradient와 Hessian정보를 이용하면 주어진 함수의 특정 지점에서 local 하게 approximation하는 함수를 얻을 수 있는데, 앞서서 univariate 에 대한 Taylr전개에 대해 봤는데, 이걸 $n$ 차원으로 확장해보면 주어진 함수의 gradient정보는 특정 지점 $x_{0}$에서 이 함수를 locally linear approximation하는데 활용이 된다. 주어진 함수가 아래처럼 $f$라 하면 테일러 전개를 하면 linear term까지 포함해서 approximation하는 것이다.

 그림의 검은색 실선이 $f_{x}$이고, 빨간점이 $x_{0}$일 때, 이 지점에서 테일러 전개, locally linear approximation을 수행하면 파란 실선처럼 나온다. 그러면 $x_{0}$ 지점에서 원래 함수를 근사시킬 수 있게 되는 것이다. 하지만 $x_{0}$지점을 벗어나면 근사를 시키기 힘들어진다. 무한대번 미분가능할 때, 무한대의 term을 포함해서 근사하면 원래함수랑 일치하게 되는데, 좀 더 higher order derivatives를 담고 있는 term들을 더 활용하면 좀 더 넓은 영역에까지 근사를 할 수 있게 될 것이다. 예를 들면 한 번 더 미분하게 되면 $x_{0}$지점에 아래로 볼록한 이차함수곡선이 그려지게 되어 조금 더 넓게까지 근사가 가능하다는 것을 쉽게 알 수 있다.

 

 

주어진 함수가 Multivariate function일 때, (1.151) 처럼 테일러 전개를 할 수 있다.

3,4,5....n차에 대해서 Taylor expension하는 경우는 거의 없고, 주로 활용되는게 second-order 이다. 3,4,5 차까지 하게 되면 계산량이 너무 늘어나게 되기 때문이다. 교재의 것을 일반화시킨 개념을 이해할 필요는 없고 second-order에 대해서만 알고가자. 아래는 second-order Taylor expension terms이다.

 

 

예제를 살펴보자.

$(x_{0},y_{0})$ = (1,2)$ 지점에서 $f$의 테일러 전개로 expension을 계산해보자. 위에 썼던 식을 활용하자.

 

지금까지 first-order derivatives에 대해서만 봤는데, second-order derivatives가 curvature정보를 준다는 것과 이를 모아놓은 것이 $H$matrix라는 것을 알아두자. 그리고 더 higher-order로 넘어갈 수 있는데 왜 쓰지 않느냐면 연산량 때문이라는걸 알아두자. Hessian을 봐도 연산량이 변수 $n$의 제곱만큼 커지기 때문이다.

 

 

728x90
반응형

'수학' 카테고리의 다른 글

Singulardecomposition  (0) 2020.05.30
Eigendecomposition  (0) 2020.05.30
Backpropagation and Automatic Differentiation  (0) 2020.05.30
Gradients of Matrices  (0) 2020.05.27
Differentiation of Univariate/Multivariate Functions  (0) 2020.05.27

댓글