泰勒公式与麦克劳林公式
泰勒公式与麦克劳林公式
泰勒公式和麦克劳林公式是高等数学中的重要知识点,它们允许用多项式来近似复杂的函数,在算法中有时用于简化计算。本文将详细介绍泰勒公式的定义、推导过程以及其在近似复杂函数中的应用,并介绍泰勒公式的余项以及麦克劳林公式的相关内容。
泰勒公式(P_n(x))
泰勒公式允许用多项式来近似复杂的函数,这在算法中有时用于简化计算。例如,在高斯过程回归和一些其他贝叶斯方法中,泰勒展开用于线性化关于后验的计算。
泰勒公式的本质是用简单的多项式来近似拟合复杂的函数。
先回忆一下微分:
$$\frac{f(x_0+ \Delta x) – f(x_0)}{\Delta x} \approx f'(x_0)$$
若(f'(x_0))存在,在(x_0)附近有(f(x_0+ \Delta x)-f(x_0)\approx f'(x_0)\Delta x),令(\Delta x=x-x_0),将(\Delta x)代入上式整理得到:
$$f(x)\approx f(x_0)+f'(x_0)(x-x_0)$$
这就是泰勒公式思想的起源,即使函数(f(x))可能是一个很复杂的函数,甚至复杂到写不出函数公式,但只要可以知道该函数中某点P的函数值(f(x_0))和导数(f'(x_0)),就可以进行近似,进一步解释一下,首先希望近似函数能通过给定的点,比如点P的函数值(f(x_0)),然后,为了确保近似函数的形状与原函数相似,我们希望它们在点P的斜率是一样的,这就是求一阶导数的原因。
但是,仅仅知道在点P的斜率可能不足以描述整个函数的形状。为了更好地模拟函数的形状,可能需要考虑函数的弯曲程度,也就是凹凸性。这就是为什么要考虑二阶导数。然后,为了捕捉更多的细节,可能还需要三阶、四阶甚至更高阶的导数,导数阶数越多对函数的约束能力越强,越能拟合出一个确定的函数。所以函数(f(x))在((x=x_0))处的n阶泰勒公式(P_n(x))可以写成:
$$f(x) \approx P_n(x)=f(x_0)+f'(x_0)(x-x_0)+\frac{f^{\prime \prime}(x_0)}{2!}(x-x_0)^2+\ldots +\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n$$
也可简写为求和符号的形式:
$$f(x) \approx P_n(x) =\sum_{k=0}^n\frac{f^{(k)}(x_0)}{k!}(x-x_0)^k$$
注意此处(x_0)只是泰勒公式的参数,属于常数,x则代表自变量。
下面想想((x-x_0)^n),(n=1,2,3,\ldots )这个多项式有什么用?
例题
例题:分别求(f(x)=e^x)在点(x=0)处的各阶多项式,如图所示:
(e^x)在0处1阶展开
(e^x)在0处2阶展开
(e^x)在0处3阶展开
(e^x)在0处8阶展开
想象用一条曲线来近似描述一座山的形状(复杂函数)。如果只使用直线(线性函数),可能只能大致描述山的一个斜坡。但如果使用了一个曲线(比如二次函数或更高次的函数),就可以更准确地描述山的轮廓。也就是说低阶项(如线性或二次项)通常在函数的起始部分起主导作用,而高阶项(如三次、四次或更高的项)在函数的远端起主导作用。这就是为什么泰勒公式中有多项式的原因。
最后解释一下阶乘(n!)的作用,如下图所示,分别表示(x^2)和(x^9)。当(x)取值较大时,(x^2)完全被(x^9)压制,(x^9+x^2)几乎只有(x^9)的特性。因此由于高阶的幂函数增长太快,需要除阶乘来减缓增速。
(x^2)函数曲线
(x^9)函数曲线
泰勒公式的余项(R_n(x))
泰勒公式的余项(R_n(x))也就是原函数(f(x))与泰勒公式(P_n(x))之间的差值,也就是(P_n(x)-f(x))。常见的泰勒公式的余项表示方式有两种:佩亚诺余项(o((x-x_0)^n))和拉格朗日余项(\frac{f^{(n+1)}(\xi)}{(n+1)!}x^{n+1}),其中(\xi)介于(x)与(x_0)之间。
$$\begin{aligned}R_n(x)&=f(x)-P_n(x)\&=o((x-x_0)^n)&\text{(佩亚诺余项)}\&=\frac{f^{(n+1)}(\xi)}{(n+1)!}x^{n+1}&\text{(拉格朗日余项)}\end{aligned}$$
$$\text{其中} \quad min(x,x_0)<\xi <max(x,x_0)$$
上式中佩亚诺余项(o((x-x_0)^n))中的小(o)符号表示当(x)趋于(x_0)时,这些项可被忽略,用数学语言解释就是(o((x-x_0)^n))是比((x-x_0)^n)高阶(可能不止一阶)的无穷小,也就是
$$\lim_{x \to x_0} \frac{o((x-x_0)^n)}{(x-x_0)^n} = 0$$
佩亚诺余项展示了泰勒公式的误差的渐近行为,主要用于数学上的理论分析。
拉格朗日余项则可用于估算泰勒公式在实际应用时的误差范围。
麦克劳林公式
麦克劳林公式是泰勒公式的简单版,即(f(x_0)=f(0))时的泰勒公式:
$$\begin{aligned}f(x)=P_n(x)+R_n(x)&=\sum_{k=0}^n\frac{f^{(k)}(0)}{k!}x^k+\frac{f^{(n+1)}(\theta x)}{(n+1)!}x^{n+1} \quad (0<\theta <1)\ f(x)\approx P_n&=\sum_{k=0}^n\frac{f^{(k)}(0)}{k!}x^k\end{aligned}$$
在上面的麦克劳林公式中,泰勒公式的参数(x_0=0)且拉格朗日余项(\xi)被写成了(\theta x)的形式,因此(\theta)的取值范围为介于(\frac{0}{x})与(\frac{x}{x})之间,即((0<\theta <1))。这种写法使上式在估算误差时更加方便直观。
最后,再提一下泰勒公式的本质:当一个复杂函数太复杂不可求时,可以用该函数某点的值和该点的多阶导数进行拟合。