这里我打算补充一下机器学习涉及到的一些关于泰勒公式与拉格朗日的知识点。
第一节博客已经整理了求导的公式,一些常用的概念。链接如下:高等数学基础(1)-优快云博客。
而第二节博客整理了微积分的公式及其相关概念。链接如下:高等数学基础(2)——微积分-优快云博客
(注意:目前自己补充到的所有知识点,均按照自己之前看的网课视频中老师课程知识点走的,大概是四年前了,并不是大学课本的搬运,只是快速总结。如有错误请多多指正,谢谢!)
1,泰勒公式
泰勒公式,也称泰勒展开式,是用在一个函数在某点的信息,描述其附近取值的公式。如果函数足够平滑,在已知函数在某一点的各阶导数值的情况下,泰勒公式可以利用这些导数值来做系数,构建一个多项式近似函数,求得在这一点的邻域中的值。
泰勒公式用一句话描述:就是用多项式函数去逼近光滑复杂函数,以直代曲。
先来感受一下泰勒公式的逼近效果:
泰勒公式的维基百科定义:设 n 是一个正整数,如果定义在一个包含 a 的区间上的函数 f 在 a 点处 n+1 次可导,那么对于这个区间上的任意 x 都有:
其中的多项式称为函数在 a 处的泰勒展开式,Rn(x) 是泰勒公式的余项且是 (x-a)n 的高阶无穷小
这里的余项即为误差,因为使用多项式函数在某点展开,逼近给定函数,最后肯定会有一丢丢的误差,我们称之为余项。
泰勒公式的定义看起来高端大气。但如果 a=0 的话,就是麦克劳伦公式,即:
这个就是我们下面讨论的,可以认为麦克劳伦公式和泰勒公式等价。
泰勒公式的作用就是用一个多项式函数去逼近一个给定的函数(即尽量使多项式函数图像拟合给定的函数图像),注意,逼近的时候一定是从函数图像上的某个点展开。如果是一个非常复杂函数,想求其某点的值,直接求无法实现,这时候就可以使用泰勒公式取近似的求该值,这是泰勒公式的应用之一,泰勒公式在机器学习中主要应用于梯度迭代。
不过这里我们首先看看多项式函数图像特点及其如何逼近给定函数。
1.1 多项式的函数图像特点
初等数学已经了解到一些函数如:ex,sinx,cosx,arctanx,lgx....的一些重要性质,但是初等数学不曾回答怎样来计算他们,下面我们慢慢学习。
首先,我们看一下泰勒展示式:
其中 f(0), f ''(0)/2! 这些都是常数,我们暂时不管,先看看其中最基础的组成部分,幂函数有什么特点。
可以看到,幂函数其实只有两种形态,一种是关于 Y 轴对称,一种是关于原点对称,并且指数越大,增长速度越大。
那幂函数组成的多项式函数有什么特点呢?
我们发现:如果把9次的和2次的直接放在一起,那2次的都不用玩了。
但是开始的时候,应该是2次的效果更好,之后才慢慢轮到9次,可是如何才能让 x2 和 x9 的图像特性能结合起来呢?
所以说,通过改变系数,多项式可以像钢丝一样弯成任意的函数曲线。
1.2 用多项式对 ex 进行逼近
ex 是麦克劳伦展示形式上最简单的函数,有 e 就是这么任性。下面看一下 ex 的多项式展示式:
增加一个 1/4!*x4 看看。
增加一个 1/5!*x5 看看。
可以看出, 1/n!*xn 不断的弯曲着那根多项式形成的铁丝去逼近 ex,并且 n 越大,其作用的区域距离 0 越远。
连起来看,如下:
1.3 用多项式对 sin(x) 进行逼近
sin(x) 是周期函数,有非常多的弯曲,难以想象可以用多项式进行逼近。
下面看一下 sin(x) 的多项式展示式。
同样,我们再增加一个 1/7!*x7 试试。
可以看到 1/7!*x7 在适当的位置,改变了x - 1/3!*x3 +1/5!*x5 的弯曲方向,最终让 x - 1/3!*x3 +1/5!*x5 - 1/7!*x7 更好的逼近 sin(x)。
下面看看 sin(x)的泰勒展示:
从上图中每次不同程度的函数逼近可以看出:对于精确度要求较高且需要估计误差的时候ÿ