泰勒公式到底是什么?

泰勒公式,也称泰勒展开式。

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

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

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

1. 问题的提出 
        多项式: P_n(x)=a_0+a_1x+a_2x^2+\cdots +a_nx^n

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

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

①. 一次逼近                                                                             

利用微分近似计算公式

 f(x) \approx f(x_0) + f{x_0}'(x - x_0) (该式由导数/微分的极限表达公式转换得到)

x_0 = 0 附近的 f(x) 的线性逼近为:f(x)\approx f(0) + f({0})'x 

所以  f(x) =\cos x\approx 1  

所以  f(x) 在 x_0 = 0 附近的线性逼近函数 P_1(x) = 1

如下图:

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

②. 二次逼近     

二次多项式  P_2(x)=a_0+a_1x+a_2x^2 逼近 f(x) = \cos x 

我们期望:    

P_2(0)=f(0) = \cos 0 = 1 = a_0   ( 即期望在 x = 0 处逼近函数和给定函数的函数值相等 );

P_2{}'(0)= f{}' (0)= sin0 = 0 =a_1   ( 即期望在 x = 0 处逼近函数和给定函数的斜率相等 );  

 P_2{}''(0)=f''(0) = -\cos 0 = -1 ( 即期望在 x = 0 处逼近函数和给定函数的曲率相等 ); 

 所以    a_2=-\frac{1}{2}

 所以  f(x)=cos x\approx P_2(x)=1-\frac{x^2}{2}

如下图:

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

③. 八次逼近 

 八次多项式  P_2(x)=a_0+a_1x+a_2x^2+\cdots +a_8x^8 逼近 f(x) = \cos x 

我们期望:     

  P_8(0)=f(0),求出 a_0=1   ( 即期望在 x = 0 处逼近函数和给定函数的函数值相等 );       

 P_8{}'(0)=f{}'(0),求出 a_1=0   ( 即期望在 x = 0 处逼近函数和给定函数的斜率相等 );

 .... 

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

所以   f(x)\approx 1-\frac{x^2}{2!}+\frac{x^4}{4!}-\frac{x^6}{6!}+\frac{x^8}{8!}

如下图:

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

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

3. 泰勒公式的推导
由此引出一个问题:给定一个函数 f(x) ,要找一个在指定点 x_0 附近与 f(x) 很近似的多项式函数P(x) ,记为:    

p_n(x)=a_0+a_1(x-x_0)+a_1(x-x_0)^2+\cdots +a_n(x-x_0)^n     

  使得 f(x)\approx P(x)     并且使得两者误差 R_n(x)=f(x)-P_n(x)  可估计。所以要找的多项式应该满足什么条件,误差是什么?

使上面的程式在x_0 附近很靠近,很明显:

1. 首先要求两曲线在 (x_0,f(x_0)) 点相交,即   P_n(x_0)=f(x_0)            

2. 如果要靠得更近,还要求两曲线在 (x_0,f(x_0))  点相切,两曲线在 x_0 附近的靠近情况明显差异很大,相切更接近),即   P_n{}'(x_0)=f{}'(x_0)                                              

3. 如果还要靠得更近,还要求曲线在(x_0,f(x_0))  点弯曲方向相同,明显在离 x_0 很远的地方,弯曲方向相同两函数的差异更小一点,即  P_n{}''(x_0)=f{}''(x_0),进而可推想:若在 x_0 附近有 P_n{}'(x_0)=f{}'(x_0)P_n{}''(x_0)=f{}''(x_0)  ,... , P_n^{(8)}(x_0)=f^{(8)}(x_0)近似程度越来越好。

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

                     

由此,多项式函数  p_n(x)=a_0+a_1(x-x_0)+a_1(x-x_0)^2+\cdots +a_n(x-x_0)^n  中的系数  a 可以全部由 f(x) 表示,则得到: 

其中误差为 R_n(x)=f(x)-P_n(x) 。 因为是用多项式函数去无限逼近给定的函数,所以两者之间肯定存在一丢丢的误差。

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

如果函数f(x)  在含 x_0 的某个开区间  [a,b]  内具有直到 n+1  阶导数,则对 \forall x\in [a,b]  ,有  

   

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

5. 扩展 —— 麦克劳林公式
是泰勒公式的一种特殊情况:即当x_0=0  时的泰勒公式。所以将 x_0=0 带入公式,即得:

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

 佩亚诺余项为  (x-x_0)^n   的高阶无穷小 :R_n(x)=\circ [(x-x_0)^n]

参考原文:                        
原文链接:https://blog.youkuaiyun.com/qq_38646027/article/details/88014692

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值