5.8线性近似和多元Taylor级数


文档摘要

5.8 线性近似和多元 Taylor 级数 函数 $f$ 的梯度 $\nabla f$ 通常被用作 $f$ 在 $x{0}$ 附近的局部线性近似(如图 5.12 所示): $$f(x)\approx f(x{0})+(\nabla{x}f)(x{0})(x - x{0})$$ 其中 $(\nabla{x}f)(x{0})$ 是 $f$ 在 $x0$ 处关于 $x$ 的梯度值。如图5.12所示,这种线性近似在靠近 $x0$ 时精度较高,但随着与 $x0$ 的距离增大而逐渐失效。值得注意的是,式(5.148)本质上是多元泰勒级数在 $x0$ 处仅保留前两项的特例。

5.8 线性近似和多元 Taylor 级数

函数 f 的梯度 \nabla f 通常被用作 fx_{0} 附近的局部线性近似(如图 5.12 所示):

f(x)\approx f(x_{0})+(\nabla_{x}f)(x_{0})(x - x_{0})

其中 (\nabla_{x}f)(x_{0})fx_0 处关于 x 的梯度值。如图5.12所示,这种线性近似在靠近 x_0 时精度较高,但随着与 x_0 的距离增大而逐渐失效。值得注意的是,式(5.148)本质上是多元泰勒级数在 x_0 处仅保留前两项的特例。

对于定义在 \mathbb{R}^D 上的光滑函数 f: \mathbb{R}^D \to \mathbb{R},设差值向量 \delta := x - x_0,其泰勒级数展开式为:

f(x)=\sum_{k = 0}^{\infty}\frac{D_{x}^{k}f(x_{0})}{k!}\delta^{k}

其中 D_{x}^{k}f(x_{0}) 表示 fx_0 处的第 k 阶全导数。

fx_{0} 处的n 阶泰勒多项式由级数的前 n+1 项构成:

T_{n}(x)=\sum_{k = 0}^{n}\frac{D_{x}^{k}f(x_{0})}{k!}\delta^{k}

在(5.151)和(5.152)中,记号 \delta^{k} 略显草率的,因为当向量 x\in \mathbb{R}^{D}D>1,和 k>1 是未被定义的。事实上,D_{x}^{k}f\delta^{k} 都是 k 阶张量,即 k 维数组,如图 5.13 所示。k 阶张量 \delta^{k}\in \mathbb{R}^{\overbrace{D\times D\times\cdots\times D}^{k \text{ times}}} 是通过向量 \delta\in \mathbb{R}^{D}k 重外积得到的,其中 “外积” 用 \otimes 表示。例如,

\begin{align} \boldsymbol{\delta}^{2}:=\boldsymbol{\delta}\otimes\boldsymbol{\delta}=\boldsymbol{\delta}\boldsymbol{\delta}^{\top}&, \quad \boldsymbol{\delta}^{2}[i,j]=\delta[i]\delta[j]; \tag{5.153}\\ \boldsymbol{\delta}^{3}:=\boldsymbol{\delta}\otimes\boldsymbol{\delta}\otimes\boldsymbol{\delta} &, \quad \boldsymbol{\delta}^{3}[i,j,k]=\delta[i]\delta[j]\delta[k]. \tag{5.154} \end{align}

这样一来我们可以写出 Taylor 级数

D_{\boldsymbol{x}}^{k} f(\boldsymbol{x}_{0})\boldsymbol{\delta}^{k} = \sum\limits_{i_{1}=1}^{D} \cdots \sum\limits_{i_{k}=1}^{D} D_{\boldsymbol{x}}^{k}f(\boldsymbol{x}_{0})[i_{1}, \dots, i_{k}]\delta[i_{1}]\cdots \delta[i_{k}] \tag{5.155}

其中 D_{x}^{k}f(x_{0})\boldsymbol{\delta}^{k} 包含关于 \boldsymbol{\delta}k 阶多项式。

我们现在已经定义了向量场的 Taylor 级数。让我们显式的写下它的前几项(k = 0, \dots, 3, \boldsymbol{\delta} := \boldsymbol{x} - \boldsymbol{x}_{0}):

  • k = 0: D_{x}^{0}f(x_{0})\boldsymbol{ \delta }^{0}=f(x_{0})\in \mathbb{R}
  • \displaystyle k = 1: D_{x}^{1}f(x_{0})\boldsymbol{ \delta }^{1}=\underbrace{\nabla_{x}f(x_{0})}_{1\times D}\,\underbrace{\boldsymbol{ \delta }}_{D\times 1}=\sum_{i = 1}^{D}\nabla_{x}f(x_{0})[i]\delta[i]\in \mathbb{R}
  • \displaystyle k = 2: D_{x}^{2}f(x_{0})\boldsymbol{ \delta }^{2}=tr(\underbrace{H(x_{0})}_{D\times D}\,\underbrace{\boldsymbol{ \delta }}_{D\times 1}\,\underbrace{\boldsymbol{ \delta }^{\top}}_{1\times D})=\boldsymbol{ \delta }^{\top}H(x_{0})\boldsymbol{ \delta } \displaystyle =\sum_{i = 1}^{D}\sum_{j = 1}^{D}H[i,j]\delta[i]\delta[j]\in \mathbb{R}
  • \displaystyle k = 3: D_{x}^{3}f(x_{0})\boldsymbol{ \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}
    其中 H(x_{0})fx_{0} 处的 Hessian 矩阵

例5.15(两个变量函数的 Taylor 级数展开)
考虑函数

f(x,y)=x^{2}+2xy + y^{3}.\tag{5.161}
我们想要计算 f(x_{0},y_{0})=(1,2) 处的 Taylor 级数。
在开始之前,我们先讨论一下我们的预期:(5.161) 中的函数是一个 3 次多项式。而我们要找的 Taylor 级数展开,本身就是多项式的线性组合。这个 Taylor 级数不可能包含四阶或更高阶的项。这意味着计算 (5.151) 的前四项足矣。
我们从常数项和一阶导开始计算:
\begin{align}f(1,2)&=13 \tag{5.162}\\\frac{\partial f}{\partial x}&=2x + 2y\Rightarrow\frac{\partial f}{\partial x}(1,2)=6\tag{5,163}\\\frac{\partial f}{\partial y}&=2x + 3y^{2}\Rightarrow\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)= \begin{bmatrix} \displaystyle \frac{\partial f}{\partial x}(1,2) & \displaystyle \frac{\partial f}{\partial y}(1,2) \end{bmatrix} =\left[\begin{array}{ll}6&14\end{array}\right]\in \mathbb{R}^{1\times 2} \tag{5.165}
进而有
\frac{D_{x,y}^{1}f(1,2)}{1!}\delta=\left[\begin{array}{ll}6&14\end{array}\right]\left[\begin{array}{l}x - 1 \\ y - 2\end{array}\right]=6(x - 1)+14(y - 2).\tag{5.166}
注意,D_{x}^{1}f(x_{0})\delta^{1} 只有线性项,换句话说,它只含有一阶多项式。
现在计算二阶偏导:
\begin{align} \frac{\partial^2 f}{\partial x^2} = 2 &\implies \frac{\partial^2 f}{\partial x^2}(1,2) = 2 \tag{5.167}\\\frac{\partial^2 f}{\partial y^2} = 6y &\implies \frac{\partial^2 f}{\partial y^2}(1,2) = 12 \tag{5.168}\\\frac{\partial^2 f}{\partial y \partial x} = 2 &\implies \frac{\partial^2 f}{\partial y \partial x}(1,2) = 2 \tag{5.169}\\\frac{\partial^2 f}{\partial x \partial y} = 2 &\implies \frac{\partial^2 f}{\partial x \partial y}(1,2) = 2. \tag{5.170} \end{align}
得到了所有二阶偏导数后,我们就有了 Hessian 矩阵:
H=\left[\begin{array}{ll}\displaystyle \frac{\partial^{2}f}{\partial x^{2}}&\displaystyle \frac{\partial^{2}f}{\partial x\partial y}\\ \displaystyle \frac{\partial^{2}f}{\partial y\partial x}&\displaystyle \frac{\partial^{2}f}{\partial y^{2}}\end{array}\right]=\left[\begin{array}{rr}2&2\\ 2&6y\end{array}\right] \tag{5.171}
进而有
H(1,2)=\left[\begin{array}{cc}2&2\\ 2&12\end{array}\right]\in \mathbb{R}^{\color{red} 2\times2}. \tag{5.172}
因此, Taylor 级数的下一项由下式给出:
\begin{align}\frac{D_{x,y}^{2}f(1,2)}{2!}\boldsymbol{\delta}^{2}&=\frac{1}{2}\boldsymbol{\delta}^{\top}\boldsymbol{H}(1,2)\boldsymbol{\delta}\tag{5.173a}\\&=\frac{1}{2}\left[\begin{array}{ll}x - 1&y - 2\end{array}\right]\left[\begin{array}{cc}2&2\tag{5.173b}\\ 2&12\end{array}\right]\left[\begin{array}{l}x - 1\ y - 2\end{array}\right]\\&=(x - 1)^{2}+2(x - 1)(y - 2)+6(y - 2)^{2}.\tag{5.173c}\end{align}
其中 D_{x,y}^{2}f(1,2)\boldsymbol{\delta}^{2} 仅含有二阶项,也就是二阶多项式(二次型)。
最后计算三阶导数:
\begin{align}D_{x,y}^3 f &= \begin{bmatrix}\displaystyle \frac{\partial \boldsymbol{ H } }{\partial x} & \displaystyle \frac{\partial \boldsymbol{ H } }{\partial y}\end{bmatrix} \in \mathbb{R}^{{\color{red} 2 \times 2} \times 2}, \tag{5.174}\\D_{x,y}^3 f[:,:,1] &= \displaystyle \frac{\partial \boldsymbol{ H } }{\partial x} = \begin{bmatrix}\displaystyle \frac{\partial^3 f}{\partial x^3} & \displaystyle \frac{\partial^3 f}{\partial x^2 \partial y} \\[0.5em]\displaystyle \frac{\partial^3 f}{\partial x \partial y \partial x} & \displaystyle \frac{\partial^3 f}{\partial x \partial y^2}\end{bmatrix}, \tag{5.175}\\[0.5em]D_{x,y}^3 f[:,:,2] &= \displaystyle \frac{\partial \boldsymbol{ H } }{\partial y} = \begin{bmatrix}\displaystyle \frac{\partial^3 f}{\partial y \partial x^2} & \displaystyle \frac{\partial^3 f}{\partial y \partial x \partial y} \\\displaystyle \frac{\partial^3 f}{\partial y^2 \partial x} & \displaystyle \frac{\partial^3 f}{\partial y^3}\end{bmatrix}. \tag{5.176}\end{align}
由于 Hessian 矩阵 (5.171) 中的大多数二阶偏导数是常数,唯一非零的三阶偏导数是
\frac{\partial^{3}f}{\partial y^{3}}=6\Rightarrow\frac{\partial^{3}f}{\partial y^{3}}(1,2)=6. \tag{5.177}
显然,我们可以看到该函数的更高阶导数和3阶混合偏导(例如,\displaystyle \frac{\partial f^{3}}{\partial x^{2}\partial y})都为零,因此
D_{x,y}^{3}f[:,:,1]=\left[\begin{array}{ll}0&0\\ 0&0\end{array}\right], \quad D_{x,y}^{3}f[:,:,2]=\left[\begin{array}{ll}0&0\\ 0&6\end{array}\right] \tag{5.178}
于是有
\frac{D_{x,y}^{3}f(1,2)}{3!}\boldsymbol{ \delta } ^{3}=(y - 2)^{3} .\tag{5.179}
现在我们已经算出了 Taylor 级数的所有非零项。因此 f(x_{0},y_{0})=(1,2) 处的 Taylor 级数是
\begin{align*} f(x)&={\color{red}f(1,2)}+{\color{blue} D_{x,y}^{1}f(1,2)\delta}+{\color{green}\frac{D_{x,y}^{2}f(1,2)}{2!}\delta^{2}}+{\color{orange}\frac{D_{x,y}^{3}f(1,2)}{3!}\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^{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)}\\&\quad+{\color{orange}\frac{1}{6}\frac{\partial^{3}f(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} \end{align*}
在本例中,我们得到了 (5.161) 中多项式的 Taylor 级数展开,即 (5.180c) 中的多项式。它与(5.161)中的原始多项式完全相同。在本例的特殊情况中,这样的结果并不令人惊讶,因为原始函数就是一个三阶多项式,我们只是在 (5.180c) 中将其写成了一阶、二阶和三阶多项式的线性组合。


作者与出处
原作者: Datawhale
来源:Datawhale
许可证:CC BY-SA 4.0
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: Datawhale 转发
评论区 (0)
U