8. Linearization and Multivariate Taylor Series

 

Linearization and Multivariate Taylor Series

함수 $f$ 의 gradient $\nabla f$ 는 $\boldsymbol{x}_0$ 근처에서 $f$ 를 locally linear approximation 하는데 사용될 수 있습니다.

\[f(\boldsymbol{x}) \approx f(\boldsymbol{x}_0) + (\nabla_{\boldsymbol{x}}f)(\boldsymbol{x}_0)(\boldsymbol{x}-\boldsymbol{x}_0) \tag{5.148}\]

여기서 $(\nabla_{\boldsymbol{x}}f)(\boldsymbol{x}_0)$ 는 $\boldsymbol{x}_0$ 에서 평가된 $\boldsymbol{x}$ 에 대한 $f$ 의 gradient 값 입니다. 아래 그림 Figure 5.12는 input $x_0$ 에서 함수 $f$ 의 linear approximation을 보여줍니다.

Original function은 직선으로 근사되었습니다. 이 근사는 국부적(locally)으로 정확하며, $x_0$ 에서 멀어질수록 정확도는 떨어집니다. 식 (5.148)은 $\boldsymbol{x}_0$ 에서 $f$ 의 multivariate Taylor series expansion의 특별한 케이스이며, 오직 처음 2개의 term만을 취합니다. 이어서 조금 더 일반적인 케이스에 대해 살펴볼텐데, 이런 경우에는 더 정확한 근사가 가능합니다.

Definition 5.7 (Multivariate Taylor Series).

다음의 함수가 $\boldsymbol{x}_0$ 에서 smooth 하다고 가정하겠습니다.

\[\begin{align*} f :\mathbb{R}^D &\rightarrow \mathbb{R} \tag{5.149} \\ \boldsymbol{x} &\mapsto f(\boldsymbol{x}), \quad \boldsymbol{x}\in\mathbb{R}^D \tag{5.150} \end{align*}\]

Difference vector(미분 벡터)를 $\boldsymbol{\delta} := \boldsymbol{x}-\boldsymbol{x}_0$ 으로 정의할 때, $\boldsymbol{x}_0$ 에서 $f$ 의 multivariate Taylor series 는 다음과 같이 정의됩니다.

\[f(\boldsymbol{x}) = \sum_{k=0}^{\infty}\frac{D_{\boldsymbol{x}}^k f(\boldsymbol{x}_0)}{k!}\boldsymbol{\delta}^k \tag{5.151}\]

위 식에서 $D_{\boldsymbol{x}}^kf(\boldsymbol{x}_0)$ 는 $\boldsymbol{x}_0$ 에서 평가된 $\boldsymbol{x}$ 에 대한 $f$ 의 $k$-th (total) derivative 값 입니다.


Definition 5.8 (Taylor Polynomial).

$\boldsymbol{x}_0$ 에서 $f$ 의 Taylor polynomial of degree $n$ (n차 taylor polynomial)은 식 (5.151)의 series에서 처음 $n+1$ 개의 요소들을 포함하고 있으며, 다음과 같이 정의됩니다.

\[T_n(\boldsymbol{x}) = \sum_{k=0}^{n}\frac{D_{\boldsymbol{x}}^k f(\boldsymbol{x}_0)}{k!}\boldsymbol{\delta}^k \tag{5.152}\]


식 (5.151)과 (5.152)에서, $\boldsymbol{x}\in\mathbb{R}^D, D>1$ 에서는 정의되지 않는 불완전한 표기 $\boldsymbol{\delta}^k$ 를 사용했습니다. 여기서 $D_{\boldsymbol{x}}^kf$ 와 $\boldsymbol{\delta}^k$ 는 둘다 $k$-th order 텐서, 즉, $k$-dimensional arrays 입니다. $k$th-order tensor $\boldsymbol{\delta}^k\in\mathbb{R}^{\overbrace{D\times D\times\dotsc\times D}^{k \text{ times}}}$ 는 $\boldsymbol{\delta}\in\mathbb{R}^D$ 의 $k$-fold outer product 의 결과입니다.

예를 들면, 다음과 같이 계산됩니다.

\[\boldsymbol{\delta}^2 := \boldsymbol{\delta}\otimes\boldsymbol{\delta} = \boldsymbol{\delta}^\top, \quad \boldsymbol{\delta}^2\lbrack i,j\rbrack = \delta\lbrack i\rbrack\delta\lbrack j\rbrack \tag{5.153}\] \[\boldsymbol{\delta}^3 := \boldsymbol{\delta}\otimes\boldsymbol{\delta}\otimes\boldsymbol{\delta}, \quad \boldsymbol{\delta}^3\lbrack i,j,k\rbrack = \delta\lbrack i\rbrack\delta\lbrack j\rbrack\delta\lbrack k\rbrack \tag{5.154}\]

위 그림 Figure 5.13은 식 (5.153)과 (5.154)를 시각적으로 보여줍니다.

일반화하자면, Taylor series에서 아래의 term을 얻으며

\[D_{\boldsymbol{x}}^kf(\boldsymbol{x}_0)\boldsymbol{\delta}^k = \sum_{i_1=1}^D\cdots\sum_{i_k=1}^D D_{\boldsymbol{x}}^kf(\boldsymbol{x}_0)\lbrack i_1,\dotsc,i_k\rbrack\delta\lbrack i_1\rbrack\cdots\delta\lbrack i_k\rbrack \tag{5.155}\]

위 식에서 $D_{\boldsymbol{x}}^kf(\boldsymbol{x}_0)\boldsymbol{\delta}^k$ 는 $k$-th order polynomials를 포함합니다.

이제 vector field에서의 taylor series를 정의했으니, $k=0,\dotsc,3$ 에서 taylor series expansion의 첫 번째 항 $D_{\boldsymbol{x}}^kf(\boldsymbol{x}_0)\boldsymbol{\delta}^k$ 와 $\boldsymbol{\delta}:=\boldsymbol{x}-\boldsymbol{x}_0$ 을 구하면 다음과 같습니다.

\[\begin{align*} k &= 0 : D_{\boldsymbol{x}}^0f(\boldsymbol{x}_0)\boldsymbol{\delta}^0 = f(\boldsymbol{x}_0) \in \mathbb{R} \tag{5.156} \\ k &= 1 : D_{\boldsymbol{x}}^1f(\boldsymbol{x}_0)\boldsymbol{\delta}^1 = \underbrace{\nabla_{\boldsymbol{x}}f(\boldsymbol{x}_0)}_{1\times D}\underbrace{\boldsymbol{\delta}}_{D\times1} = \sum_{i=1}^D \nabla_{\boldsymbol{x}}f(\boldsymbol{x}_0)\lbrack i\rbrack\delta\lbrack i\rbrack \in \mathbb{R} \tag{5.157} \\ k &= 2 : D_{\boldsymbol{x}}^2f(\boldsymbol{x}_0)\boldsymbol{\delta}^2 = \text{tr}(\underbrace{\boldsymbol{H}(\boldsymbol{x}_0)}_{D\times D}\underbrace{\boldsymbol{\delta}}_{D\times 1}\underbrace{\boldsymbol{\delta}^\top}_{1\times D}) = \boldsymbol{\delta}^\top\boldsymbol{H}(\boldsymbol{x}_0)\boldsymbol{\delta} \tag{5.158} \\ &= \sum_{i=1}^D\sum_{j=1}^D H\lbrack i,j\rbrack \delta\lbrack i\rbrack\delta\lbrack j\rbrack \in \mathbb{R} \tag{5.159} \\ k &= 3 : D_{\boldsymbol{x}}^3f(\boldsymbol{x}_0)\boldsymbol{\delta}^3 = \sum_{i=1}^D\sum_{j=1}^D\sum_{k=1}^D D_x^3 f(\boldsymbol{x}_0)\lbrack i, j, k\rbrack \delta\lbrack i\rbrack \delta\lbrack j\rbrack \delta\lbrack k\rbrack \in \mathbb{R} \tag{5.160} \end{align*}\]

여기서 $\boldsymbol{H}(\boldsymbol{x}_0)$ 는 $\boldsymbol{x}_0$ 에서 평가되는 $f$ 의 Hessian 입니다 (5.7장 참조).

Example 5.15 (Taylor Series Expansion of a Function with Two Variables)

\[f(x, y) = x^2 + 2xy + y^3 \tag{5.161}\]

$(x_0, y_0) = (1, 2)$ 에서 위 함수의 Taylor series expansion을 찾아보도록 하겠습니다. 시작하기 전에 앞서, 위 함수 $f$ 는 3차 다항식입니다. 이 함수 자체가 다항식의 linear combination이므로 Taylor series expansion이 4차 이상의 항을 포함할 것이라고 기대하지는 않습니다. 이는 (5.151) 식에서 처음 4개의 항만 결정하면 충분하다는 것을 의미합니다.

먼저 상수항과 first-order derivatives를 계산하면 다음과 같습니다.

\[\begin{align*} f(1, 2) &= 13 \tag{5.162} \\ \frac{\partial f}{\partial x} &= 2x + 2y \Longrightarrow \frac{\partial f}{\partial x}(1, 2) = 6 \tag{5.163} \\ \frac{\partial f}{\partial y} &= 2x + 3y^2 \Longrightarrow \frac{\partial f}{\partial y}(1, 2) = 14 \tag{5.164} \end{align*}\]

따라서,

\[D_{x, y}^1 f(1, 2) = \nabla_{x, y}f(1, 2) = \left\lbrack \frac{\partial f}{\partial x}(1, 2)\quad\frac{\partial f}{\partial y}(1, 2)\right\rbrack = \lbrack6 \quad 14 \rbrack \in \mathbb{R}^{1\times2} \tag{5.165}\]

이고, 다음을 만족합니다.

\[\frac{D_{x, y}^1 f(1, 2)}{1!}\boldsymbol{\delta} = \lbrack6\quad14\rbrack\begin{bmatrix}x-1\\y-2\end{bmatrix} = 6(x-1)+14(y-2) \tag{5.166}\]

여기서 $D_{x, y}^1 f(1, 2)\boldsymbol{\delta}$ 는 linear terms만을 포함하는 1차 다항식 입니다.

Second-order partial derivatives는 다음과 같이 계산됩니다.

\[\begin{align*} &\frac{\partial^2f}{\partial x^2} = 2 \Longrightarrow \frac{\partial^2f}{\partial x^2}(1,2) = 2 \tag{5.167} \\ &\frac{\partial^2f}{\partial y^2} = 6y \Longrightarrow \frac{\partial^2f}{\partial y^2}(1, 2) = 12 \tag{5.168} \\ &\frac{\partial^2f}{\partial y\partial x} = 2 \Longrightarrow \frac{\partial^2f}{\partial y\partial x}(1, 2) = 2 \tag{5.169} \\ &\frac{\partial^2f}{\partial x \partial y} = 2 \Longrightarrow \frac{\partial^2f}{\partial x \partial y}(1, 2) = 2 \tag{5.170} \end{align*}\]

2차 편도함수들을 모아서 아래의 Hessian matrix를 구할 수 있습니다.

\[\boldsymbol{H} = \begin{bmatrix}\frac{\partial^2f}{\partial x^2} & \frac{\partial^2f}{\partial x \partial y}\\\frac{\partial^2f}{\partial y\partial x}&\frac{\partial^2f}{\partial y^2}\end{bmatrix} = \begin{bmatrix}2&2\\2&6y\end{bmatrix} \tag{5.171}\]

따라서 (1, 2)에서의 Hessian은 다음과 같습니다.

\[\boldsymbol{H}(1, 2) = \begin{bmatrix}2&2\\2&12\end{bmatrix} \in \mathbb{R}^{\color{Red}{2\times2}} \tag{5.172}\]

그러므로, taylor-series expansion은 다음 term은 다음과 같이 계산됩니다.

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

$D_{x,y}^2f(1, 2)\boldsymbol{\delta}^2$ 는 오직 quadratic terms만을 포함하는 2차 다항식이라는 것을 알 수 있습니다.

3차 도함수는 다음과 같습니다.

\[D_{x,y}^3f = \begin{bmatrix}\frac{\partial \boldsymbol{H}}{\partial x}&\frac{\partial \boldsymbol{H}}{\partial y}\end{bmatrix} \in \mathbb{R}^{\color{Red}{2\times2}\times 2} \tag{5.174}\] \[D_{x, y}^3[:,:,1] = \frac{\partial\boldsymbol{H}}{\partial x} = \begin{bmatrix}\frac{\partial^3f}{\partial x^3}&\frac{\partial^3f}{\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} \tag{5.175}\] \[D_{x, y}^3[:,:,2] = \frac{\partial\boldsymbol{H}}{\partial y} = \begin{bmatrix}\frac{\partial^3f}{\partial y\partial x^2}&\frac{\partial^3f}{\partial y \partial x\partial y}\\\frac{\partial^3 f}{\partial y^2\partial x}&\frac{\partial^3 f}{\partial y^3}\end{bmatrix} \tag{5.176}\]

(5.171)에서 구한 Hessian에서 대부분의 2차 편도함수는 상수이므로 0이 아닌 3차 편도함수는 오직 아래의 식 뿐입니다.

\[\frac{\partial ^3 f}{\partial y^3} = 6 \Longrightarrow \frac{\partial^3 f}{\partial y^3}(1, 2) = 6 \tag{5.177}\]

따라서, 대부분은 0으로 사라지게 되어, (5.175)와 (5.176)의 계산 결과는 다음과 같습니다.

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

따라서, taylor-series expansion의 네 번째 term은 다음과 같습니다.

\[\frac{D_{x,y}^3f(1, 2)}{3!}\boldsymbol{\delta}^3 = (y-2)^3 \tag{5.179}\]

이는 Taylor series의 모든 cubic terms를 모은 것과 같습니다.

위에서 계산한 결과들을 모두 종합하여 Taylor series를 전개하면 다음과 같습니다.

\[\begin{align*} f(x) &= \color{Red}{f(1, 2)} \color{Blue}{+D_{x,y}^1f(1,2)\boldsymbol{\delta}} \color{Green}{+\frac{D_{x,y}^2f(1,2)}{2!}\boldsymbol{\delta}^2} \color{Orange}{+\frac{D_{x,y}^3f(1,2)}{3!}\boldsymbol{\delta}^3} \tag{5.180a} \\ &= \color{red}{f(1,2)} \color{blue}{+\frac{\partial f(1,2)}{\partial x}(x-1) + \frac{\partial f(1,2)}{\partial y}(y-2)} \\ &\quad \color{green}{+\frac{1}{2!}\left( \frac{\partial^2 f(1,2)}{\partial x^2}(x-1)^2 + \frac{\partial^2f(1,2)}{\partial y^2}(y-2)^2 \right.} \\ &\quad \color{green}{\left. + 2\frac{\partial^2f(1,2)}{\partial x\partial y}(x-1)(y-2)\right)} \color{orange}{+\frac{1}{6}\frac{\partial^3f(1,2)}{\partial y^3}(y-2)^3} \tag{5.180b} \\ &= \color{red}{13} \color{blue}{+6(x-1) + 14(y-2)} \\ &\quad \color{green}{+(x-1)^2 + 6(y-2)^2 + 2(x-1)(y-2)} \color{orange}{+(y-2)^3} \tag{5.180c} \\ &= x^2 + 2xy + y^3 \end{align*}\]

이렇게 구한 taylor seires expansion을 정리하면 정확히 식 (5.161)과 동일한데, 이는 원래의 함수 $f$ 가 상수항, 1차, 2차, 3차 다항식의 linear combination으로 구성되어 있기 때문입니다.