300x250

다변수 미적분은 인공지능에서 수없이 사용되는, 필수적인 기초 수학 개념이다.

'Khan Academy'의 'Multivariable Calculus' 유튜브를 보고 내용을 정리해 둔다.

너무 기초적인 내용은 배제하고, 잊고 있었던 개념 위주로 정리할 예정이다.

 

https://www.youtube.com/watch?v=TrcCbdWwCBc&list=PLSQl0a2vh4HC5feHa6Rc5c0wbRTx56nF7 

 

 

 

 

 

 

7. Multivariable Maxima and Minima

 

이 부분은 인공지능, 머신러닝에서 매우 중요하다.

머신러닝의 주요 목표는 cost function을 세워 그것을 최소화하도록 하는 것이다.

기계가 어떤 것을 예측했는데, 그것이 실제와 얼마나 다른지를 cost function으로 두어 그 값을 최소화화도록 학습시키는 것이 머신러닝의 전체적인 방법론이다.

 

 

 

 

1) Maxima, Minima (극대, 극소)

 

예를 들어, 다음과 같은 이변수 함수 \(f(x, y) = z\)의 그래프가 있다고 가정하자.

 

graph of two variable function

 

함수의 입력으로는 xy 평면의 특정 지점이 들어가고, 출력으로 높이가 나온다.

 

이를 최대화(maximize)하기 위해서는, peak점, 즉 함수 값이 가장 큰 지점의 xy평면의 입력값(x, y 좌표)을 찾아야 한다.

 

이러한 peak 점의 특징은, 해당 점에서의 tangent plane이 xy평면과 평행하다는 것이다.

즉, 기울기가 0이 되는 지점을 찾으면 쉽게 peak점을 찾아낼 수 있다.

그런데 지금은 3차원이므로, x축의 기준에서 볼 때의 기울기도 0, y축의 기준에서 볼 때의 기울기도 0이다.

이를 수식으로 표현하면 다음과 같다.

 

\( \frac{\partial f}{\partial x} (x_0, y_0) = 0 \)

\( \frac{\partial f}{\partial y} (x_0, y_0) = 0 \)

 

3차원 그래프에 대한 peak점에서는 위 두 식을 모두 만족시켜야 한다.

 

하지만, 이의 역은 성립하지 않는다.

peak점이 아닌 다른 지점에서도 두 식을 만족시키는 점, 즉 xy평면과 평행한 tangent plane을 갖는 지점이 여러 개 있을 수 있기 때문이다.

이러한 점들은 근처 점에 비해서는 최대값을 갖지만, 전체 함수를 놓고 봤을 때 최댓값을 가지지는 않는다.

 

주변보다 큰 점을 (local) maxima, 주변보다 작은 점을 (local) minima라 하고, 주어진 영역 전체에서 가장 최댓값을 갖는 점을 global minima, 최솟값을 갖는 점을 global minima라 한다.

해당 내용은 다음 포스팅에 잘 정리되어 있다.

 

https://jjuke-brain.tistory.com/93?category=969282 

 

인공지능을 위한 최적화(Optimization) 정리

인공지능 기초수학 개념으로, 선형대수에 이어 미적분과 관련이 많은 '최적화'에 대해 간단히 정리하려 한다. 4년간 배운 내용과 다른 블로그, 유튜브 등 여러 곳에서 조금씩 참고하여 정리했다.

jjuke-brain.tistory.com

 

 

다변수 함수에서 수많은 변수에 대해 각각의 편미분을 계산하여 0으로 만들어주는 작업을 하는 대신에, gradient를 사용하여 간단하게 다음과 같이 나타날 수 있다.

gradient는 모든 편미분계수를 포함하기 때문이다.

 

\( \nabla f = \begin{bmatrix} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y} \\ \vdots \end{bmatrix} = \boldsymbol{0} \)

 

 

 

 

2) Saddle Point (안장점)

 

최댓값, 최솟값을 찾을 때, tangent plane이 xy 평면과 평행한 점을 찾는다고 하였다.

 

그런데, 다변수 함수에서는 특별히 maximum points, minimum points 말고도 접평면이 평평한 점이 또 존재한다.

이를 saddle point라 하는데, 말 안장같이 생긴 곳의 특정 지점이라 해서 붙은 이름이다.

 

다음과 같은 \( f(x, y) = x^2 - y^2 \) 함수의 그래프를 살펴보자.

 

안장점

 

이 함수는 원점에서 \( \nabla f(0,0) = \bodsymbol{0}\)을 만족, 즉 xy평면과 평행(여기서는 일치)하다.

이 그래프는 x=0 평면으로 잘라도, y=0 평면으로 잘라도 교선(두 평면이 겹치는 선)의 모양이 포물선이며, 각 포물선의 (0, 0)에서의 기울기는 0이다.

하지만 (0,0) 점에서 x=0 평면의 교선은 극대점(\(z = -y^2\))을, y=0 평면의 교선은 극소점(\(z = x^2\))을 보인다.

 

이는 단일변수 미적분에서는 보일 수 없는 모습으로, 두 변수 이상이 있기 때문에 이와 같은 점이 나타난다.

이 점을 saddle point라 한다.

 

함수를 최적화 할 때, 이러한 안장점의 존재 여부를 고려해야 한다.

 

안장점은 그래프 형태에서는 쉽게 판단이 가능하다. 하지만, 함수만 주어졌을 때에는 안장점을 어떻게 판단해야 할까?

 

 

 

 

 

3) Second Partial Derivative Test

 

그래프 개형이 주어지지 않은 경우,

단일변수 함수의 최댓값, 최솟값을 찾을 때에는 x축에 평행한 접선을 찾고,

 

\( f'(x) = 0 \)

 

이계도함수 \(f''(x) > 0\) 이면 아래로 볼록, \(f''(x) < 0\)이면 아래로 오목임을 통해 전자인 경우 minima, 후자인 경우 maxima임을 알 수 있다.

만약 \(f'(x) = 0, f''(x) = 0 \)이면, 다른 방법을 통해 알아내야 한다.

 

다변수 함수도 비슷하다. xy평면에 평행한 접평면(tangent plane)을 찾고,

 

\( \nabla f = \boldsymbol{0} \)

 

이차 미분계수 판정(second derivative test)과 비슷하게, 다변수 함수에서는 이차 편미분계수의 판정(second partial derivative test)을 진행한다.

 

예를 들어, 다변수 함수 \(f(x, y) = x^4 - 4x^2 + y^2 \)의 그래프는 아래와 같다.

 

example

 

먼저 gradient가 영벡터가 되는 점을 찾자.

 

\( \nabla f = \begin{bmatrix} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y}  \end{bmatrix} = \begin{bmatrix} 4x^3 - 8x \\ 2y  \end{bmatrix} = \boldsymbol{0} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} \)

 

연립하여 풀어보면 \( y = 0 \), \( x = 0 or \pm \sqrt{2} \)가 해이다.

순서쌍으로 해를 나타내면, \( (0, \; 0), \; ( \sqrt{2} , \; 0), \; (- \sqrt{2}, \; 0) \)이다.

 

그래프 형태를 통해 쉽게 두 점 \( ( \sqrt{2} , \; 0), \; (- \sqrt{2}, \; 0) \)이 극소값, 원점 \( (0, \; 0) \)이 안장점임을 알 수 있다.

 

이를 이계 편도함수로 풀어 concavity(오목한지)를 판단해보자.

 

\( \frac{\partial^2 f}{\partial x^2} = 12 x^2 - 8 \)

 

위 식은 y=0에 대해 자른 단면의 그래프 개형을 나타낸다.

여기에 \( \pm \sqrt{2}\)를 대입하면 0보다 크므로, 아래로 볼록하고, 이에 따라 해당 값들은 극소값이다.

반면에, 0을 대입하면 0보다 작으므로, 아래로 오목(위로 볼록)하고, 해당 값은 극대값이다.

 

\( \frac{\partial^2 f}{\partial y^2} = 2 \)

 

따라서 y축의 기준으로 보기 위해 x=0 평면으로 잘랐을 때, 0보다 항상 크므로 항상 아래로 볼록하다.

이에 따라 세 점은 모두 극소값이다.

 

여기서, x에 대한 결과와 y에 대한 결과가 반대인 점, 즉 \( (0, \; 0 ) \)이 바로 saddle point라고 볼 수 있다.

해당 점은 x축 상에서는 극대, y축 상에서는 극소값이므로 saddle point이다.

 

하지만 위와 같은 두 가지 이계 편도함수의 결과로 극대 또는 극소값으로 판명되었지만, 실제로 saddle point일 수도 있다.

아직 다루지 않은 이계 편도함수, 'mixed partial derivative'가 있기 때문이다.

 

다른 예시로 \( f(x, y) = x^2 + y^2 - 4xy \)에 대해 알아보자.

아래는 이 함수의 그래프로, 원점이 안장점임을 명확하게 알 수 있다.

 

example 2

 

먼저 1차 편도함수를 구하자.

 

\( \frac{\partial f}{\partial x} = 2x - 4y \)

\( \frac{\partial f}{\partial y} = 2y - 4x \)

 

두 식을 모두 0으로 만드는 (x, y) 쌍은 (0, 0)이다.

다음으로, 이계편도함수를 보자.

 

\( f_{xx} \frac{\partial^2 f}{\partial x^2} = 2 \)

\( \frac{\partial^2 f}{\partial y^2} = 2 \) 

 

여기서 x축, y축에 대해 대해서 모두 0보다 크므로, (0, 0)은 극소값을 갖는 것으로 보인다.

다변수 함수의 경우, Second Partial Derivative Test를 진행할 때 x에 의해 두번 편미분한 항, y에 의해 두번 편미분한 항 이외에도, x에 의해 한 번 편미분한 후 y에 의해 한 번 편미분한 항이 존재한다.

이 항을 고려하여, 다음과 같이 특정 값 \(H\)를 정의한다.

 

\( H = f_{xx}(x_0, y_0) f_{yy}(x_0, y_0) - f_{xy} (x_0, y_0)^2 \)

 

계산하면 \( H = 2 \cdot 2 \cdot (-4)^2 = -12 (< 0) \) 이므로, 원점 (0, 0)은 saddle point이다.

 

 

정리하면, Secondary Partial Derivative Test의 정확한 순서는 다음과 같다.

  1.  \( \nabla f(x_0, y_0) = \boldsymbol{0} \)
  2. \( H = f_{xx}(x_0, y_0) f_{yy}(x_0, y_0) - f_{xy} (x_0, y_0)^2\) 의 부호 판단
    1. \(H > 0 \) : maximum or minimum이 존재한다. maximum인지 minimum인지는 \( f_{xx} \) 또는 \( f_{yy} \)의 결과로 판단한다. (이계 편미분에 값을 넣었을 때 0보다 크면 극소, 0보다 작으면 극대)
    2. \( H < 0 \) : saddle point이다.
    3. \( H = 0 \) : secondary partial derivative test로 알 수 없다. (이런 경우는 잘 없다.)

 

 

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기