선형화와 다변수 테일러 급수

함수 $f$ 의 그래디언트 $\nabla f$ 는 종종 $x_0$ 주변에서 $f$ 의 국소적인 선형 근사(locally linear approximation)를 수행하는 데 사용된다.

$$ f(x) \approx f(x_0) + (\nabla_x f)(x_0)(x - x_0). \quad (5.148) $$

여기서 $(\nabla_x f)(x_0)$ 는 $x_0$ 에서 평가된 $x$ 에 대한 $f$ 의 그래디언트이다. 그림 5.12는 입력 $x_0$ 에서 함수 $f$ 의 선형 근사를 시각적으로 보여준다.
figure 5.12.png
$\to$ 그림 5.12 함수의 선형 근사. 원래의 함수 $f$ 는 1차 테일러 급수 전개를 사용하여 $x_0 = -2$ 지점에서 선형화되었다.
원래의 함수가 하나의 직선으로 근사되었다. 이 근사는 $x_0$ 주변의 국소적인 영역에서는 정확하지만, 기준점 $x_0$ 에서 멀어질수록 근사의 오차는 더 커진다. 식 (5.148)은 $x_0$ 를 기준으로 한 $f$ 의 다변수 테일러 급수 전개 중에서 처음 두 개의 항(상수항과 1차항)만을 고려한 특수한 경우이다. 다음에서는 오차를 줄이고 더 나은 근사를 가능하게 해 줄 일반화된 경우를 논의한다.

정의 5.7 (다변수 테일러 급수). 특정 지점 $x_0$ 에서 매끄러운(smooth) 다음 함수를 고려하자.

$$ f : \mathbb{R}^D \to \mathbb{R} \quad (5.149) $$
$$ x \mapsto f(x), \quad x \in \mathbb{R}^D, \quad (5.150) $$

기준점과의 차이 벡터(difference vector)를 $\delta := x - x_0$ 로 정의할 때, 지점 $x_0$ 에서의 $f$ 의 다변수 테일러 급수(multivariate Taylor series)는 다음과 같이 정의된다.

$$ f(x) = \sum_{k=0}^{\infty} \frac{D_x^k f(x_0)}{k!} \delta^k, \quad (5.151) $$

여기서 $D_x^k f(x_0)$ 는 $x_0$ 에서 평가된 $x$ 에 대한 $f$ 의 $k$ 차 전도함수(total derivative)를 의미한다.

정의 5.8 (테일러 다항식). 지점 $x_0$ 에서 $f$ 의 $n$ 차 테일러 다항식(Taylor polynomial)은 식 (5.151)의 무한 급수 중에서 처음 $n + 1$ 개의 성분들만 포함하여 끊어낸 것이며, 다음과 같이 정의된다.

$$ T_n(x) = \sum_{k=0}^{n} \frac{D_x^k f(x_0)}{k!} \delta^k. \quad (5.152) $$

$\quad$ 이전 식 (5.151)과 (5.152)에서 우리는 $\delta^k$ 라는 약간 엉성한(sloppy) 표기법을 사용했는데, 이는 다변수 벡터 $x \in \mathbb{R}^D$ ( $D > 1$ ) 및 $k > 1$ 에 대해서는 수학적으로 정의되지 않는다. $D_x^k f$ 와 $\delta^k$ 는 단순한 벡터의 거듭제곱이 아니라 모두 $k$ 차 텐서(k-th order tensors), 즉 $k$ 차원 배열이라는 점에 유의하라. $k$ 차 텐서 $\delta^k \in \mathbb{R}^{D \times D \times \dots \times D}$ ( $k$ 번 곱해짐)는 벡터 $\delta \in \mathbb{R}^D$ 를 $k$ 번 중첩하여 외적(Outer product, 기호 $\otimes$ )한 결과로 얻어진다. 예를 들어 다음과 같다.

$$ \delta^2 := \delta \otimes \delta = \delta \delta^\top, \quad \delta^2[i, j] = \delta[i]\delta[j] \quad (5.153) $$
$$ \delta^3 := \delta \otimes \delta \otimes \delta, \quad \delta^3[i, j, k] = \delta[i]\delta[j]\delta[k]. \quad (5.154) $$

figure 5.13.png
그림 5.13은 이러한 외적 과정을 시각적으로 보여준다. 일반적으로 다변수 테일러 급수에서 우리는 다음과 같은 항들을 얻게 된다.

$$ D_x^k f(x_0) \delta^k = \sum_{i_1=1}^D \dots \sum_{i_k=1}^D D_x^k f(x_0)[i_1, \dots, i_k] \delta[i_1] \dots \delta[i_k] \quad (5.155) $$

여기서 $D_x^k f(x_0) \delta^k$ 는 $k$ 차 다항식을 구성한다.
$\quad$ 이제 벡터장을 위한 테일러 급수를 명확히 정의했으므로, $k=0, \dots, 3$ 과 $\delta := x - x_0$ 에 대한 테일러 급수 전개의 처음 몇 개 항 $D_x^k f(x_0) \delta^k$ 를 명시적으로 수식으로 적어보자.
$k = 0 : D_x^0 f(x_0) \delta^0 = f(x_0) \in \mathbb{R} \quad (5.156)$
$k = 1 : D_x^1 f(x_0) \delta^1 = \underbrace{\nabla_x f(x_0)}_{1 \times D} \underbrace{\delta}_{D \times 1} = \sum_{i=1}^D \nabla_x f(x_0)[i]\delta[i] \in \mathbb{R} \quad (5.157)$
$k = 2 : D_x^2 f(x_0) \delta^2 = \text{tr}(\underbrace{H(x_0)}_{D \times D} \underbrace{\delta \delta^\top}_{D \times D}) = \underbrace{\delta^\top}_{1 \times D} \underbrace{H(x_0)}_{D \times D} \underbrace{\delta}_{D \times 1} \quad (5.158)$
$= \sum_{i=1}^D \sum_{j=1}^D H[i,j]\delta[i]\delta[j] \in \mathbb{R} \quad (5.159)$
$k = 3 : D_x^3 f(x_0) \delta^3 = \sum_{i=1}^D \sum_{j=1}^D \sum_{k=1}^D D_x^3 f(x_0)[i,j,k]\delta[i]\delta[j]\delta[k] \in \mathbb{R} \quad (5.160)$
여기서 $H(x_0)$ 는 기준점 $x_0$ 에서 평가된 $f$ 의 헤시안(Hessian) 행렬이다.

예제 5.15 (두 변수를 가진 함수의 테일러 급수 전개)

다음과 같은 함수를 고려하자.

$$ f(x, y) = x^2 + 2xy + y^3 \quad (5.161) $$

우리는 $(x_0, y_0) = (1, 2)$ 에서 $f$ 의 테일러 급수 전개를 계산하고자 한다. 시작하기 전에 우리가 무엇을 기대해야 할지 논의해 보자. 식 (5.161)의 함수는 3차 다항식이다. 우리는 다항식들의 선형 결합(linear combination)인 테일러 급수 전개를 찾고 있다. 따라서 3차 다항식을 표현하기 위해 테일러 급수 전개가 4차 이상의 항을 포함할 것이라고 기대하지 않는다. 이는 식 (5.161)을 완벽하게 대체하는 정확한 표현을 찾기 위해 식 (5.151)의 처음 네 개의 항만 결정하는 것으로 충분하다는 것을 의미한다.

$\quad$ 테일러 급수 전개를 결정하기 위해, 우리는 상수항과 1차 도함수들부터 시작하며 이는 다음과 같이 주어진다.

$$ f(1, 2) = 13 \quad (5.162) $$
$$ \frac{\partial f}{\partial x} = 2x + 2y \implies \frac{\partial f}{\partial x}(1, 2) = 6 \quad (5.163) $$
$$ \frac{\partial f}{\partial y} = 2x + 3y^2 \implies \frac{\partial f}{\partial y}(1, 2) = 14 \quad (5.164) $$

따라서 우리는 다음을 얻는다.

$$ D_{x,y}^1 f(1,2) = \nabla_{x,y} f(1,2) = \left[ \frac{\partial f}{\partial x}(1,2) \quad \frac{\partial f}{\partial y}(1,2) \right] = [6 \quad 14] \in \mathbb{R}^{1 \times 2} \quad (5.165) $$

이로 인해 다음이 성립한다.

$$ \frac{D_{x,y}^1 f(1,2)}{1!} \delta = [6 \quad 14] \begin{bmatrix} x - 1 \\ y - 2 \end{bmatrix} = 6(x - 1) + 14(y - 2) \quad (5.166) $$

$D_{x,y}^1 f(1,2)\delta$ 는 오직 선형항들, 즉 1차 다항식들만 포함한다는 점에 주목하라.

$\quad$ 2차 편도함수들은 다음과 같이 주어진다.

$$ \frac{\partial^2 f}{\partial x^2} = 2 \implies \frac{\partial^2 f}{\partial x^2}(1, 2) = 2 \quad (5.167) $$
$$ \frac{\partial^2 f}{\partial y^2} = 6y \implies \frac{\partial^2 f}{\partial y^2}(1, 2) = 12 \quad (5.168) $$
$$ \frac{\partial^2 f}{\partial y \partial x} = 2 \implies \frac{\partial^2 f}{\partial y \partial x}(1, 2) = 2 \quad (5.169) $$
$$ \frac{\partial^2 f}{\partial x \partial y} = 2 \implies \frac{\partial^2 f}{\partial x \partial y}(1, 2) = 2 \quad (5.170) $$

우리가 2차 편도함수들을 모으면 다음과 같은 헤시안(Hessian)을 얻는다.

$$ 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} = \begin{bmatrix} 2 & 2 \\ 2 & 6y \end{bmatrix} \quad (5.171) $$

이로 인해 다음이 성립한다.

$$ H(1, 2) = \begin{bmatrix} 2 & 2 \\ 2 & 12 \end{bmatrix} \in \mathbb{R}^{2 \times 2} \quad (5.172) $$

그러므로 테일러 급수 전개의 다음 항은 다음과 같이 주어진다.

$$ \frac{D_{x,y}^2 f(1,2)}{2!} \delta^2 = \frac{1}{2} \delta^\top H(1,2) \delta \quad (5.173a) $$
$$ = \frac{1}{2} [x-1 \quad y-2] \begin{bmatrix} 2 & 2 \\ 2 & 12 \end{bmatrix} \begin{bmatrix} x-1 \\ y-2 \end{bmatrix} \quad (5.173b) $$
$$ = (x - 1)^2 + 2(x - 1)(y - 2) + 6(y - 2)^2 \quad (5.173c) $$

여기서 $D_{x,y}^2 f(1,2) \delta^2$ 은 오직 이차항들, 즉 2차 다항식들만 포함한다.

$\quad$ 3차 도함수들은 다음과 같이 얻어진다.

$$ D_{x,y}^3 f = \begin{bmatrix} \frac{\partial H}{\partial x} & \frac{\partial H}{\partial y} \end{bmatrix} \in \mathbb{R}^{2 \times 2 \times 2} \quad (5.174) $$
$$ D_{x,y}^3 f[:, :, 1] = \frac{\partial H}{\partial x} = \begin{bmatrix} \frac{\partial^3 f}{\partial x^3} & \frac{\partial^3 f}{\partial x^2 \partial y} \\ \frac{\partial^3 f}{\partial x \partial y \partial x} & \frac{\partial^3 f}{\partial x \partial y^2} \end{bmatrix} \quad (5.175) $$
$$ D_{x,y}^3 f[:, :, 2] = \frac{\partial H}{\partial y} = \begin{bmatrix} \frac{\partial^3 f}{\partial y \partial x^2} & \frac{\partial^3 f}{\partial y \partial x \partial y} \\ \frac{\partial^3 f}{\partial y^2 \partial x} & \frac{\partial^3 f}{\partial y^3} \end{bmatrix} \quad (5.176) $$

식 (5.171)의 헤시안에 있는 대부분의 2차 편도함수들이 상수이므로, 유일하게 0이 아닌 3차 편도함수는 다음과 같다.

$$ \frac{\partial^3 f}{\partial y^3} = 6 \implies \frac{\partial^3 f}{\partial y^3}(1, 2) = 6 \quad (5.177) $$

고계 도함수들과 차수 3의 혼합 도함수들(예: $\frac{\partial^3 f}{\partial x^2 \partial y}$ )은 사라져서(vanish) 다음이 성립한다.

$$ D_{x,y}^3 f[:, :, 1] = \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}, \quad D_{x,y}^3 f[:, :, 2] = \begin{bmatrix} 0 & 0 \\ 0 & 6 \end{bmatrix} \quad (5.178) $$

그리고

$$ \frac{D_{x,y}^3 f(1,2)}{3!} \delta^3 = (y - 2)^3 \quad (5.179) $$

이는 테일러 급수의 모든 3차항을 수집한 것이다. 종합하면, $(x_0, y_0) = (1, 2)$ 에서 $f$ 의 (정확한) 테일러 급수 전개는 다음과 같다.

$$ f(x) = f(1, 2) + D_{x,y}^1 f(1,2)\delta + \frac{D_{x,y}^2 f(1,2)}{2!} \delta^2 + \frac{D_{x,y}^3 f(1,2)}{3!} \delta^3 \quad (5.180a) $$
$$ = f(1,2) + \frac{\partial f(1,2)}{\partial x}(x-1) + \frac{\partial f(1,2)}{\partial y}(y-2) + \frac{1}{2!} \left( \frac{\partial^2 f(1,2)}{\partial x^2}(x-1)^2 + \frac{\partial^2 f(1,2)}{\partial y^2}(y-2)^2 + 2\frac{\partial^2 f(1,2)}{\partial x \partial y}(x-1)(y-2) \right) + \frac{1}{6} \frac{\partial^3 f(1,2)}{\partial y^3}(y-2)^3 \quad (5.180b) $$
$$ = 13 + 6(x - 1) + 14(y - 2) + (x - 1)^2 + 6(y - 2)^2 + 2(x - 1)(y - 2) + (y - 2)^3 \quad (5.180c) $$

이 경우, 우리는 식 (5.161)에 있는 다항식의 정확한(exact) 테일러 급수 전개를 얻었다. 즉, 식 (5.180c)의 다항식은 식 (5.161)의 원본 다항식과 동일하다. 원래의 함수가 3차 다항식이었고 우리가 이를 (5.180c)에서 상수항, 1차, 2차, 3차 다항식들의 선형 결합으로 표현했기 때문에, 이 특정 예제에서 이러한 결과는 놀라운 것이 아니다.