home search
Math
Machine Learning
Mathematics for Machine Learning 5.1장: 벡터 연산 - 미분
2023. 01. 16

이 내용은 책 Mathematics for machine learning(Marc Peter Deisenroth et al.)을 기반으로 하고 있습니다.

5장 서문

많은 머신러닝의 알고리즘은 목적함수(objective func.)을 최적화한다. 최적화는 모델의 파라미터에 대해 이루어지는데, 파라미터는 모델이 그 데이터를 얼마나 잘 나타내는지를 조절한다. 좋은 파라미터를 찾는 것은 최적화 문제로 이어지는데, 그 예로 선형 회귀(9장)나 차원 축소와 데이터 압축을 위한 신경망 오토 인코더, 데이터 분포를 모델링하는 Gaussian mixture models(11장) 등이 있다.

5장에서는 주로 함수를 다룬다. 함수 $f$ 는 입력 $x \in \mathbb{R}^D$ 에서 타겟(함수값) $f(x)$ 간의 관계이며, $\mathbb{R}^D$ 는 함수의 domain, 함숫값 $f(x)$ 는 $f$ 의 image 혹은 codomain이라고 한다. 함수 $f$ 는 입력 $x$ 를 정확히 한 함숫값 $f(x)$ 로 매핑(mapping) 혹은 할당(assign)한다.

\[f: \mathbb{R}^D \rightarrow \mathbb{R} \\ x \mapsto f(x)\]

5.1: Differentiation of Univariate Functions

5.1장은 일변량 함수(Univariate Func.)의 미분을 다룬다.

미분 계수(Difference Quotient)

$f$의 그래프 위 두 점을 통과하는 선의 기울기를 말한다. 만약 $f$가 선형 함수라면 $f$의 평균 기울기를 말하게 된다. $\delta x \rightarrow 0$ 라면 $f$가 미분 가능할 때 $x$에서 $f$의 기울기(tangent) 값을 얻는다. $$ \cfrac{\delta y}{\delta x} := \cfrac{f(x + \delta x) - f(x)}{\delta x} $$

Derivative

$h > 0$일 때 $x$에서 $f$의 derivative를 정의한다. $$ \cfrac{\delta f}{\delta x} := \lim\limits_{h \rightarrow 0}\cfrac{f(x + h) - f(x)}{h} $$

5.1.1: Taylor Series (테일러 급수)

테일러 급수(Taylor Series)는 함수 $f$를 무한의 합으로 표현하는 방식이다. 이때 끝없이 더해지는 그 항은 $x_0$에서의 $f$의 미분이다.

테일러 다항식(Taylor Polynomial)

$x_0$에서 $f$의 $n$차 테일러 다항식은 아래와 같이 정의한다. $$ T_n(x) := \sum\limits_{k=0}^n \cfrac{f^{(k)}(x_0)}{k!} (x-x_0)^k $$

이때 $f^{(k)}(x_0)$는 $x_0$에서 f의 k번째 미분이며, $\frac{f^{(k)}(x_0)}{k!}$는 다항식의 계수(coefficients)가 된다.

테일러 급수(Taylor Series)

$x_0$에서 $f$의 $n$차 테일러 급수는 아래와 같이 정의한다. $$ T_{\infty}(x) := \sum\limits_{k=0}^{\infty} \cfrac{f^{(k)}(x_0)}{k!} (x-x_0)^k $$

이때 $f: \mathbb{R} \rightarrow \mathbb{R}$는 무한히 미분 가능한 매끄러운 곡선이다($f \in \mathcal{C}^{\infty}$).

특별히 $x_0 = 0$일 때의 테일러 급수를 일컬어 ‘매클로린 급수(Maclaurin series)’라고 한다. $f(x) = T_{\infty}(x)$ 라면 함수를 해석적(analytic)이라고 한다. 모양에서도 알 수 있듯이, 테일러 급수는 멱급수(power series, $f(x) = \sum\limits_{k=0}^{\infty} a_k (x-c)^k$)의 특별한 형태이다.

예를 들어, 다항식 $f(x) = x^4$ 이 있다고 하자. $x_0 = 1$ 이고, 이 함수의 6차 테일러 다항식을 찾으면 아래와 같다.

\[\begin{aligned} &f(1) = 1 \quad f^{\prime}(1) = 4 \quad f^{\prime \prime}(1) = 12 \quad f^{(3)}(1) = 24 \\ &f^{(4)}(1) = 24 \quad f^{(5)}(1) = 0 \quad f^{(6)}(1) = 0 \end{aligned}\] \[\begin{aligned} T_6(x) &= \sum\limits_{k=0}^6 \cfrac{f^{(k)}(x_0)}{k!} (x-x_0)^k \\ &= 1 + 4(x-1) + 6(x-1)^2 + 4(x-1)^3 + (x-1)^4 = 1 \end{aligned}\]

$T_6(x)$ 을 직접 전개해보아도 f의 형태가 그대로 나온다. 즉 원래 함수와 동일한 표현을 얻을 수 있다.

n차 테일러 다항식은 그 함수의 근사(approximation)이다. 즉, 그 함수를 테일러 다항식으로도 유사하게 나타낼 수 있다는 뜻이다.

image

위 사진은 $f(x) = \sin(x) + \cos(x)$를 검정색 실선으로, 이 함수를 테일러 다항식으로 나타낸 것을 점선으로 표시하고 있다. 테일러 급수의 차수가 높아질 수록(0에서 10) 본 함수와 유사한 모양을 띄는 것을 볼 수 있다.

5.1.2: Differentiation Rules (미분법)

기본적 미분 규칙은 아래와 같다.

  • Product rule (곱셈 규칙): $\left( f(x)g(x) \right)^{\prime} = f^{\prime}(x)g(x) + f(x)g^{\prime}(x)$
  • Quotient rule (나눗셈 규칙): $\left( \cfrac{f(x)}{g(x)} \right) ^{\prime} = \cfrac{f^{\prime}(x)g(x) - f(x)g^{\prime}(x)}{(g(x))^{\prime}}$
  • Sum rule (덧셈 규칙): $(f(x) + g(x))^{\prime} = f^{\prime}(x) + g^{\prime}(x)$
  • Chain rule: $\left( g(f(x)) \right) ^{\prime} = (g \circ f)^{\prime} (x) = g^{\prime}(f(x))f^{\prime}(x)$
arrow_upward arrow_downward
loading