用泰勒级数来估计函数的近似值 您所在的位置:网站首页 泰勒公式求近似值原理 用泰勒级数来估计函数的近似值

用泰勒级数来估计函数的近似值

2024-07-13 19:53| 来源: 网络整理| 查看: 265

https://www.toutiao.com/a6674020406308897293/

 

这是《机器学习中的数学基础》系列的第16篇,也是微积分的最后一篇。

在实际生活和工作中,我们经常希望用多项式来近似某点处的函数值,而泰勒级数就是干这个的。不过在正式介绍泰勒级数之前,我们先来看看高阶导数与函数的凹凸性。

高阶导数与函数的凹凸性

那么什么是高阶导数?顾名思义,高阶导就是求了很多次导数。举个例子,函数y=x³的图像如下:

用泰勒级数来估计函数的近似值

图1

如图1所示,y的一阶导,也就是第一次求导,y'=3x²,表示图像的斜率。那如果我们对y'再进行求导呢?可以得到y''=6x,它的几何意义又是什么呢?一阶导我们表示的是函数值的变化率,那么二阶导就表示斜率的变化率。进一步,我们说,如果二阶导大于0,说明斜率是在一直增加的,此时函数是个凸函数;同理,二阶导小于0,斜率在一直减小,函数为凹函数。

既然说到了凹凸函数,我们就来看看它的定义(机器学习领域,可能与数学领域有所不同):

如果一个函数f是凸函数,那么其满足:f(tx+(1-t)y)≤tf(x)+(1-t)f(y),其中x、y为函数定义域上任意两点,t∈[0,1]。

可能看公式不容易那么理解,我们就来画个凸函数的图像吧:

用泰勒级数来估计函数的近似值

图2

如图2所示,我们首先来看tx+(1-t)y,它保证了取值范围是在x、y之间。为什么呢?因为t∈[0,1],把t=0代入,得到y;把t=1代入,得到x。因此tx+(1-t)y的取值在x与y之间。那么它对应的函数值自然就是:f(tx+(1-t)y)。

下面我们看C点的值该如何求,我们再画一个图来说明:

用泰勒级数来估计函数的近似值

图3

如图3,我们做了一条平行于x轴的线段AE。很容易看出△ACD相似于△ABE,因此有CD/BE=AD/AE。其中,CD的长是我们要求的,BE的长为f(y)-f(x),AD的长为tx+(1-t)y-x=(1-t)(y-x),AE的长为y-x。所以,我们有:

用泰勒级数来估计函数的近似值

 

约分化简可得CD=(1-t)f(y)+(t-1)f(x)。但我们想知道C的值,只需再加上A点的函数值f(x)就可以了。因此,C点的值为(1-t)f(y)+(t-1)f(x)+f(x)=tf(x)+(1-t)f(y)。Bingo!

我们再来观察图2,它是一个凸函数,那么它的斜率就是不断增加的,也就是说二阶导始终大于0.

泰勒级数

有了以上的铺垫,我们来看如何近似函数在某点的值。比如sin(x)在x=0处的函数值sin(0)怎么来近似呢?

我们一般用多项式来估计,先上个二次多项式,f(x)=ax²+bx+c。然后再把sin(x)的图像画出来:

用泰勒级数来估计函数的近似值

 

我们现在想用f(x)=ax²+bx+c来近似逼近sin(0)的值,只需确定a、b、c三个参数的值就好了。

首先,这俩函数在0点的函数值得相等吧。也就是说,f(0)=sin(0),而sin(0)=0,f(0)=c,因此c=0.

然后,这俩函数在0点处的斜率得相同吧。也就是说,它们的一阶导相等,即f'(0)=sin'(0),而sin'(0)=cos(0)=1,f'(0)=2a*0+b=b,化简可得b=1.

最后,这俩函数在0点处的二阶导也应该相等,即f''(0)=sin''(0),而sin''(0)=0,f''(0)=2a,因此a=0.

综上,我们用来近似的函数f(x)=0*x²+1*x+0=x。我们说二次多项式中对sin(x)在x=0处最好的近似函数就是f(x)=x,把x=0代入就得到近似值是0。

观察我们上面的近似过程,可以得到下面的式子:

sin(x)≈sin(0)+sin'(0)/1!*x+sin''(0)/2!*x²

我们把它一般化,如果要近似任意函数f(x)在x=0处的值,可以表示为:

用泰勒级数来估计函数的近似值

 

如果我们想近似函数f(x)在任意一点x=x0处的值,那么可以表示为:

用泰勒级数来估计函数的近似值

 

泰勒级数的应用还有很多,这里就不一一展开了。这就是今天的全部内容,欢迎留言讨论。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有