上道
泰勒公式(泰勒展开式)通俗+本质详解_豆沙糕的博客-CSDN博客_泰勒公式
上道专业号 | 2022-5-8

比较通俗地讲解一下泰勒公式是什么。

泰勒公式一句话描述:就是用多项式函数去逼近光滑函数。

泰勒公式,也称泰勒展开式。是用一个函数在某点的信息,描述其附近取值的公式。如果函数足够平滑,在已知函数在某一点的各阶导数值的情况下,泰勒公式可以利用这些导数值来做系数,构建一个多项式近似函数,求得在这一点的邻域中的值

所以泰勒公式是做什么用的?

简单来讲就是用一个多项式函数去逼近一个给定的函数(即尽量使多项式函数图像拟合给定的函数图像),注意,逼近的时候一定是从函数图像上的某个点展开。如果一个非常复杂函数,想求其某点的值,直接求无法实现,这时候可以使用泰勒公式去近似的求该值,这是泰勒公式的应用之一。泰勒公式在机器学习中主要应用于梯度迭代。

*************************************************************************************************

1. 问题的提出 

多项式   是最简单的一类初等函数。关于多项式,由于它本身的运算仅是有限项加减法和乘法,所以在数值计算方面,多项式是人们乐于使用的工具。因此我们经常用多项式来近似表达函数。这也是为什么泰勒公式选择多项式函数去近似表达给定的函数。

*************************************************************************************************

2. 近似计算举例

初等数学已经了解到一些函数如: 的一些重要性质,但是初等数学不曾回答怎样来计算它们,以 f(x) = \small \cos x 的近似计算为例:

①. 一次(线性)逼近                          

利用微分近似计算公式 f(x) \small \approx f(\small x_{0}) + {f}'(\small x_{0})(x - \small x_{0}) (该式由导数/微分的极限表达公式转换得到),对 \small x_{0} = 0 附近的 f(x) 的线性逼近为: f(x) \small \approx f(0) + {f}'(0) x , 所以 f(x) = \small \cos x \small \approx 1,所以 f(x) 在 \small x_{0} = 0 附近的线性逼近函数 P_{1}(x) = 1,如下图:

线性逼近优点:形式简单,计算方便;缺点:离原点O越远,近似度越差。  

②. 二次逼近

二次多项式 逼近 f(x) = \small \cos x ,我们期望:    

\small P_{2}\left ( 0 \right ) = \small f\left ( 0 \right ) = \small \cos 0 = 1 = \small a_{0}  ( 即期望在 x = 0 处逼近函数和给定函数的函数值相等 );

\small {P_{2}}'\left ( 0 \right ) = \small f{}'\left ( 0 \right ) = \small \sin 0 = 0 = \small a_{1}  ( 即期望在 x = 0 处逼近函数和给定函数的斜率相等 );  

\small {P_{2}}''\left ( 0 \right ) = \small {f}''\left ( 0 \right ) = \small -\cos 0 = -1,所以 \small a_{2} = \small -\frac{1}{2}  ( 即期望在 x = 0 处逼近函数和给定函数的曲率相等 ); 

 所以 \small \cos x \small \approx \small P_{2}\left ( x \right ) = 1 - \small \frac{x^{2}}{2},如下图:

二次逼近要比线性逼近好得多,但局限于 [ \small -\frac{\pi }{2}\small \frac{\pi }{2} ] 内,该范围外,图像明显差异很大。为什么我们期望两个函数在某一点的函数值 、一阶导数值、二阶导数值相等?因为这些值表达了函数(图像)最基本和最主要的性质,这些性质逼近即可以使得两个函数逼近(由上面函数图像可以直观地看出来)

③. 八次逼近 

 八次多项式   逼近 f(x) = \small \cos x ,我们期望:     

 \small P_{8}\left (0 \right ) = f\left ( 0 \right ) ,求出  \small a_{0} = 1   ( 即期望在 x = 0 处逼近函数和给定函数的函数值相等 );       

 \small {P_{8}}'\left ( 0 \right ) = {f\left ( 0 \right )}',求出 \small a_{1} = 0   ( 即期望在 x = 0 处逼近函数和给定函数的斜率相等 );

 .... .... ....          

 \small {P_{8}}^{(8)}\left ( 0 \right ) = f^{(8)}(0),求出 \small a_{8} = \frac{1}{8!}  ( 即期望在 x = 0 处逼近函数和给定函数的曲率相等 );                                               

所以    ,如下图:

\small P_{8}\left ( x \right ) (绿色图像) 比 \small P_{2}\left ( x \right ) (蓝色图像) 更大范围内更接近余弦函数 (红色图像)   

由上述3次不同程度的函数逼近可以看出:对于精确度要求较高且需要估计误差的时候,必须用高次多项式来近似表达函数,同时给出误差公式 。

以上就是利用多项式函数去逼近给定函数的一个过程。

*************************************************************************************************

3. 泰勒公式的推导

由此引出一个问题:给定一个函数 \small f\left ( x \right ) ,要找一个在指定点 \small x_{0} 附近与 \small f\left ( x \right ) 很近似的多项式函数 \small P\left ( x \right ),记为:         

  使得  \small f\left ( x \right ) \small \approx  \small P_{n}\left ( x \right ) 并且使得两者误差 \small R_{n}\left ( x \right ) = f\left ( x \right ) - P_{n}\left ( x \right ) 可估计。所以要找的多项式应该满足什么条件,误差是什么?

从几何上看,\small y = f\left ( x \right )\small y = P_{n}\left ( x \right ) 代表两条曲线,如下图:

       

使它们在 \small x_{0} 附近很靠近,很明显:

1. 首先要求两曲线在 \small \left ( x_{0},f\left ( x_{0} \right ) \right ) 点相交,即  \small P_{n}\left ( x_{0} \right ) = f\left ( x_{0} \right )             

2. 如果要靠得更近,还要求两曲线在  \small \left ( x_{0},f\left ( x_{0} \right ) \right ) 点相切,(由图像可以直观看出,相交 [ 棕色和红色图像 ] 和 相切 [ 绿色和红色图像 ],两曲线在 \small x_{0} 附近的靠近情况明显差异很大,相切更接近),即 \small {P_{n}}'\left ( x_{0} \right ) = {f}'\left ( x_{0} \right )                                                

3. 如果还要靠得更近,还要求曲线在  \small \left ( x_{0},f\left ( x_{0} \right ) \right ) 点弯曲方向相同,(如上图,弯曲方向相反 [ 绿色和红色图像 ];弯曲方向相同[ 蓝色和红色图像 ],明显在离 \small x_{0} 很远的地方,弯曲方向相同两函数的差异更小一点),即 \small {P_{n}}''\left ( x_{0} \right ) = {f}''\left ( x_{0} \right ) ,进而可推想:若在 \small \left ( x_{0},f\left ( x_{0} \right ) \right ) 附近有 \small {P_{n}}'\left ( x_{0} \right ) = {f}'\left ( x_{0} \right )\small {P_{n}}''\left ( x_{0} \right ) = {f}''\left ( x_{0} \right ) \small \cdots \cdots \cdots  \small P_{n}^{\left ( n \right )}\left ( x_{0} \right ) = f^{n}\left ( x_{0} \right ),近似程度越来越好。

综上所述,所要找的多项式应满足下列条件:

              

解释一下上面的转换时如何做的,以上面第三行的二阶导数为例: 

第一个箭头的转换:将 \small P_{n}\left ( x \right ) 求二阶导函数后将 \small x_{0} 带入,求得 \small {P_{n}}''\left ( x_{0} \right ) = 2!a_{2} 

第二个箭头的转换:所以 \small {f}''\left ( x_{0} \right ) = 2!a_{2},所以 \small a_{2} = \frac{1}{2!}{f}''\left ( x_{0} \right ) 

多项式函数   中的系数 \small a 可以全部由 \small f\left ( x \right ) 表示,则得到: 

其中误差为  \small R_{n} \left ( x \right ) = f\left (x \right ) - P_{n}\left ( x \right )。 因为是用多项式函数去无限逼近给定的函数,所以两者之间肯定存在一丢丢的误差。

*************************************************************************************************

4. 泰勒公式的定义

所以我们就得到了泰勒公式的定义:

如果函数 \small f\left ( x \right ) 在含 \small x_{0} 的某个开区间  \small \left ( a,b \right )  内具有直到  \small \left ( n+1 \right ) 阶导数,则对  \small \forall x \in \left ( a,b \right ) ,有  

   

其中余项 (即误差)  \small R_{n}\left ( x \right ) = \frac{f^{\left ( n+1 \right )}(\xi )}{\left ( n+1 \right )!}(x-x_{0})^{n+1} , \xi 在 \small x_{0} 与 x 之间。 泰勒公式的余项表达方式有好几种,前面这种表是方法称为n阶泰勒展开式的拉格朗日余项。拉格朗日余项即是n阶泰勒公式又多展开了一阶,n变为n+1。注意,这里的余项即为误差,因为使用多项式函数在某点展开,逼近给定函数,最后肯定会有一丢丢的误差,我们称之为余项。

*************************************************************************************************

5. 扩展 —— 麦克劳林公式

是泰勒公式的一种特殊情况:即当 \small x_{0} = 0 时的泰勒公式。所以将 \small x_{0} = 0 带入公式,即得:

几个常见的初等函数的带有佩亚诺余项的麦克劳林公式:

 佩亚诺余项为 \small \left ( x-x_{0} \right )^{n} 的高阶无穷小 :                       

————————————————
版权声明:本文为CSDN博主「豆沙糕」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38646027/article/details/88014692

信息与知识分享平台
基于现代网站理论和E-file技术构建