300x250

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

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

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

 

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

 

 

 

목차

     

     

     

     

    4. Multivariable Chain Rule

     

    다변수 함수의 미분에서 chain rule을 어떻게 적용하는지는 chain rule에 대한 개념과 편미분에 대한 개념을 알고 있다면 간단하다.

    x, y 변수에 대한 스칼라 함수 f가 존재하고, x와 y는 각각 매개변수 t에 대한 함수라 하자.

    이때, t에 대한 f의 미분은 다음과 같이 구할 수 있다.

     

    \( \frac{d}{dt} f \left(x(t), y(t) \right) = \frac{\partial f}{\partial x} \cdot \frac{dx}{dt} + \frac{\partial f}{\partial y} \cdot \frac{dy}{dt} \)

     

    이는 직관적으로 다음과 같이 설명할 수 있다.

     

    \( dx = \frac{dx}{dt} dt , dy = \frac{dy}{dt} dt \)

    \(df = \frac{\partial f}{\partial x} dx, df = \frac{\partial f}{\partial y} dy \)

     

    따라서

     

    \( df = \frac{\partial f}{\partial x} \cdot \frac{dx}{dt} \cdot dt + \frac{\partial f}{\partial y} \cdot \frac{dy}{dt} \cdot dt \)

     

    여기서 양변에 \(dt\)를 나누면 위와 같은 결과가 나오는 것이다.

     

     

     

     

    1) Vector Form of Multivariable Chain Rule

     

    벡터로 표기하면서 다변수 함수의 chain rule을 일반화할 수 있다.

     

    벡터 함수 \( \mathbf{v}(t) = \begin{bmatrix} x(t) \\ y(t) \end{bmatrix} \)를 정의하자.

     

    이때, 벡터 함수를 t에 대해 미분한다고 하면, v에 대한 편도함수를 구한다고 생각할 수 있을 것이다.

    이는 각 요소를 미분하는 것으로, 다음과 같이 나타낼 수 있다.

     

    \( \frac{\mathbf{v}(t)}{dt} = \begin{bmatrix} \frac{dx}{dt} \\ \frac{dy}{dt} \end{bmatrix} \)

     

    아래의 다변수 함수의 연쇄 법칙을 살펴보면, 내적과 같이 요소끼리 곱하여 더한 개념임을 알 수 있다.

     

    \( \frac{d}{dt} f \left(x(t), y(t) \right) = \frac{\partial f}{\partial x} \cdot \frac{dx}{dt} + \frac{\partial f}{\partial y} \cdot \frac{dy}{dt} \)

     

    따라서 위 식은 다음과 같이 벡터의 내적으로 간단히 나타낼 수 있다.

     

    \( \begin{align*} \frac{d}{dt} f \left(x(t), y(t) \right) &= \frac{\partial f}{\partial x} \cdot \frac{dx}{dt} + \frac{\partial f}{\partial y} \cdot \frac{dy}{dt} \\ &= \begin{bmatrix} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y} \end{bmatrix} \cdot \begin{bmatrix} \frac{dx}{dt} \\ \frac{dy}{dt} \end{bmatrix} \end{align*} \)

     

    여기서 왼쪽 벡터는 gradient of f \(\nabla f \)이고, 오른쪽 벡터는 \( \frac{d\mathbf{v}}{dt} = \mathbf{v}^\prime (t) \)이므로, 다음과 같이 표현 가능하다.

     

    \( \nabla f \cdot \mathbf{v}^\prime (t) \)

     

    이는 곧 다변수 함수의 chain rule의 또다른 표현이며, 더 정확하게 다음과 같이 나타낼 수 있다.

     

    \( \nabla f(\mathbf{v}(t)) \cdot \mathbf{v}^\prime \)

     

    이는 마치 변수가 하나인 함수의 chain rule   \( \frac{d}{dx} f(g(x)) = f^\prime(g(x)) g^\prime(x) \)  과 같은 형태이다.

     

     

     

     

     

    5. Jacobian

     

    Jacobian에 대해 알아보자.

    구체적으로 Jacobian Matrix, associated determinant에 대해 다룰 것이다.

     

     

     

    1) Prerequisite Knowledge

     

    Jacobian에 대해 배우기 이전에, 알아두어야 할 지식이 있다.

     

    선형대수, 특히 행렬을 공간의 변환으로 이해하고 있어야 한다.

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

     

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

     

    인공지능을 위한 선형대수 정리 (1)

    인공지능을 위해 필요한 선형대수 내용을 간단하게 정리해보고자 한다. 4년간 배운 내용과 다른 블로그, 유튜브 등 여러 곳에서 조금씩 참고하여 정리했다. 전체적인 흐름은 유명한 '3Blue1Brown'

    jjuke-brain.tistory.com

     

     

     

     

    1) Local Linearity of a Multivariable Function

     

    이제까지 배운 Multivariate Calculus 내용은 Linear Algebra와 겹치는 내용이 상당히 많다.

     

    그리고 이것을 변형하여 비선형 문제에 적용시킬 수도 있다.

     

    예를 들어, 다음과 같은 변환 함수를 생각해보자.

     

    \( f \left( \begin{bmatrix} x \\ y \end{bmatrix} \right) = \begin{bmatrix} x + \sin(y) \\ y + \sin(x) \end{bmatrix} \)

     

    변환이 이루어지는 과정을 아래와 같이 나타냈듯이, 해당 변환은 선형 변환이 아니다.

     

    non-linear transformation

     

    변환이 매우 복잡해보이지만, multivariable calculus의 성질에 따라 'Locally Linear' 성질을 갖는다.

    이는 전체적으로는 선형이 아니지만, 아주 작은 부분을 확대하면 그 부분은 'locally' 선형 변환으로 볼 수 있다는 뜻이다.

     

    Local Linearity

     

     

     

     

     

    2) Jacobian Matrix

     

    Jacobian Matrix는 위와 같이 선형인것 처럼 보이는 변환 행렬을 말한다.

     

    예시에서 함수를 두 개의 스칼라 함수로 나누어 다음과 같이 표현할 수 있다.

     

    \( f \left( \begin{bmatrix} x \\ y \end{bmatrix} \right) = \begin{bmatrix} f_1 (x, y) \\ f_2 (x, y) \end{bmatrix} = \begin{bmatrix} x + \sin(y) \\ y + \sin(x) \end{bmatrix} \)

     

    변환은 2 × 2 행렬일 것이다.

    여기서 (1, 1) 요소는 \(f_1\)함수에 대한 \(x\) 방향으로의 partial change, (1,2) 요소는 \(f_2\) 함수에 대한 \(x\) 방향으로의 partial change일 것이다.

    마찬가지로 (2, 1) 요소는 \(f_1\)함수에 대한 \(y\)방향으로의 partial change, (2, 2) 요소는 \(f_2\) 함수에 대한 \(y\) 방향으로의 partial change이다.

    이를 행렬로 나타내면 다음과 같다.

     

    \( \begin{bmatrix} \frac{\partial f_1}{\partial x} & \frac{\partial f_1}{\partial y} \\ \frac{\partial f_2}{\partial x} & \frac{\partial f_2}{\partial y} \end{bmatrix} \)

     

    이 행렬을 Jacobian Matrix라 한다.

     

    주어진 예의 Jacobian Matrix는 다음과 같다.

     

    \( \begin{bmatrix} 1 & \cos(y) \\ \cos(x) & 1 \end{bmatrix} \)

     

    만약 특정 점 (-2, 1)을 변환시킬 때, 다음과 같은 변환 행렬을 가질 것이다.

     

    \( \begin{bmatrix} 1 & \cos(1) \\ \cos(-2) & 1 \end{bmatrix} \)

     

     

     

     

     

     

    6. Hessian Matrix

     

    Hessian Matrix는 이계 도함수의 정보를 모두 모아놓은 집합이다.

    정의는 다음과 같다.

     

    \( \mathbf{H} = \begin{bmatrix} \frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial x \partial y} \\ \frac{\partial^2 f }{\partial y \partial x} & \frac{\partial^2 f}{\partial y^2} \end{bmatrix} \)

     

    다음과 같은 다변수 함수가 있다고 하자.

     

    \(f(x, y) = e^{x/2} \sin(y) \)

     

    이때 f에 대한 Hessian Marix는 다음과 같다.

     

    \( \mathbf{H}_f = \begin{bmatrix} \frac{1}{y} e^{x/2} \sin(y) & \frac{1}{2} e^{x/2} \cos(y) \\ \frac{1}{2} e^{x/2} \cos(y) & e^{x/2} (- \sin(y)) \end{bmatrix} \)

     

    이는 행렬 함수이기도 한데, (x, y)에 값을 대입해주면 행렬을 얻게 된다.

    Hessian Matrix는 변수 개수에 따라 무수히 확장이 가능하다. ( '변수 개수' × '변수 개수' 행렬)

     

    예를 들어, \(f(x, y, z)\)에 대한 Hessian Matrix는 다음과 같다.

     

    \( \mathbf{H}_f = \begin{bmatrix} \frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial x \partial y} & \frac{\partial^2 f}{\partial x \partial z} \\ \frac{\partial^2 f }{\partial y \partial x} & \frac{\partial^2 f}{\partial y^2} & \frac{\partial^2 f}{\partial y \partial z} \\ \frac{\partial^2 f}{\partial z \partial x} & \frac{\partial^2 f}{\partial z \partial y} & \frac{\partial^2 f}{\partial z^2} \end{bmatrix} \)

     

    이러한 표기를 통해 이계 편도함수 정보를 쉽게 나타낼 수 있다.

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