泰勒公式(泰勒展开式)通俗+本质详解

泰勒公式(泰勒展开式)通俗+本质详解比较通俗地讲解一下泰勒公式是什么。泰勒公式,也称泰勒展开式。是用一个函数在某点的信息,描述其附近取值的公式。如果函数足够平滑,在已知函数在某一点的各阶导数值的情况下,泰勒公式可以利用这些导数值来做系数,构建一个多项式近似函数,求得在这一点的邻域中的值所以泰勒公式是做什么用的?简单来讲就是用一个多项式函数去逼近一个给定的函数(即尽量使多项式函数图像拟合给定的函数图像),注意,逼近的…

大家好,又见面了,我是你们的朋友全栈君。

 

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

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

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

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

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

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

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} 的高阶无穷小 :泰勒公式(泰勒展开式)通俗+本质详解                                  

                                                             

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130456.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2018年最全Go语言教程零基础入门到进阶实战视频

    2018年最全Go语言教程零基础入门到进阶实战视频

    2022年2月9日
    49
  • 投影矩阵与最小二乘法_最小二乘法和矩阵求逆

    投影矩阵与最小二乘法_最小二乘法和矩阵求逆投影矩阵与最小二乘二者有什么必然的联系么,当我开始写这篇文章的时候我也这样问自己。如果Strang教授没有教授这堂课亦或者讲的这堂课没有被放到网上被别人所下载观看,那么…好在一切都是那么的幸运先说说投影吧,这个想必大家都知道,高中的知识了。一个向量(b)在另一个向量(a)上的投影:实际上就是寻找在a上离b最近的点。如果我们把p看作是a的估计值,那么我们定义e

    2022年10月4日
    2
  • libtorch-resnet18

    libtorch-resnet18与大家分享一下自己在学习使用libtorch搭建神经网络时学到的一些心得和例子,记录下来供大家参考首先我们要参考着pytorch版的resnet来搭建,这样我们可以省去不必要的麻烦,上代码:1、首先是pytorch版残差模块classResidualBlock(nn.Module):def__init__(self,inchannel,outchannel,stride=1,shortcut=None):super(ResidualBlock,self).__

    2022年5月23日
    32
  • go语言环境搭建_如何搭建语言培训平台

    go语言环境搭建_如何搭建语言培训平台因为项目的原因,要用到go语言,所以自学了一下。要想学习一门语言,首先必须搭建 语言的环境,go也一样,我这边是采用源码安装的。1. 下载安装包,如果觉得翻墙麻烦,可以直接在Golang中国社区下载安装包 http://www.golangtc.com/download2.假设我们在包解压到 /home/work/dev/package/go目录下, 

    2022年10月12日
    2
  • 伽马校正_预估校正算法

    伽马校正_预估校正算法自动伽马校正(AutoGammaCorrection)算法目录文章目录自动伽马校正(AutoGammaCorrection)算法目录理论代码实现参考资料理论在对图像进行处理过程中,查找到一篇对图像进行自动gamma校正的论文,论文名称及链接见参考文献1.文章的核心描述如下:Averageofbrightnessissimpleelementthatcanbecomputedintheleastamountoftime.Basicapproachin

    2022年9月1日
    6
  • javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节问题(window10)

    javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节问题(window10)描述:打开cmd,输入java,java-version没有问题,但是javac提示不是内部命令问题排查: 找到java安装下的bin目录,运行cmd,输入javac,能提示,说明环境配置有问题cmd输入:path看看java相关的java相关路径有没有多余的符号,比如多出分号,逗号(笔者上面是正确的路径展示形式)看看下载的解压后java目录对不对…

    2022年4月30日
    83

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号